Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
# GET /med_programs/1/edit
def edit
@med_program = MedProgram.includes(:appeal, :template).find(params[:id])
next_step_path = next_step_appeal_path(@med_program.appeal_id)
# TODO: flash.keep ?
case true
when @med_program.appeal.kit_not_found?
redirect_to @med_program.appeal
when @med_program.appeal.new?
# Just render edit view
when @med_program.appeal.verify_person?
redirect_to edit_person_path(@med_program.appeal.person_id, :back_url => next_step_path)
return # для наглядности
when @med_program.appeal.create_user?
if @med_program.appeal.person.user_id
path = edit_user_path(@med_program.appeal.person.user_id, :back_url => next_step_path)
else
path = new_user_path(:person_id => @med_program.appeal.person_id, :back_url => next_step_path)
end
redirect_to path
return # для наглядности
when @med_program.appeal.add_doctor?
redirect_to add_doctor_med_program_path(@med_program.id)
return # для наглядности
when @med_program.appeal.create_user_doctor?
if @med_program.doctor.person.user_id
path = edit_user_path(@med_program.doctor.person.user_id, :back_url => next_step_path)
else
path = new_user_path(:person_id => @med_program.doctor.person_id, :back_url => next_step_path)
end
redirect_to path
return # для наглядности
when @med_program.appeal.add_contractor?
redirect_to add_contractor_med_program_path(@med_program.id)
return # для наглядности
when @med_program.appeal.input_settings?
redirect_to set_settings_med_program_path(@med_program.id)
return # для наглядности
when @med_program.appeal.pick_specialists?
redirect_to select_specialists_med_program_path(@med_program.id)
return # для наглядности
when @med_program.appeal.pick_operators?
redirect_to select_operators_med_program_path(@med_program.id)
return # для наглядности
when @med_program.appeal.read_informed_consent?
redirect_to informed_consent_med_program_path(@med_program.id)
return # для наглядности
when @med_program.appeal.sign_contract?
redirect_to sign_contract_med_program_path(@med_program.id)
return # для наглядности
else
redirect_to @med_program
end
end
Комментарии (3) RSS