| 1class Admin::ScheduleDebateController < Admin::AdminController | |
| 2 before_action :fetch_petition | |
| 4 def show | |
| 5 render 'admin/petitions/show' | |
| 6 end | |
| 8 def update | |
| 9 if @petition.update_attributes(params_for_update) | |
| 10 if send_email_to_petitioners? | |
| 11 EmailDebateScheduledJob.run_later_tonight(petition: @petition) | |
| 12 message = :email_sent_overnight | |
| 13 else | |
| 14 message = :debate_date_updated | |
| 15 end | |
| 17 redirect_to [:admin, @petition], notice: message | |
| 18 else | |
| 19 render 'admin/petitions/show' | |
| 20 end | |
| 21 end | |
| 23  private
 | |
| 25 def fetch_petition | |
| 26 @petition = Petition.find(params[:petition_id]) | |
| 27 end | |
| 29 def params_for_update | |
| 30 params.require(:petition).permit(:scheduled_debate_date) | |
| 31 end | |
| 33 def send_email_to_petitioners? | |
| 34 params.key?(:save_and_email) | |
| 35 end | |
| 36end |