From e8261d41bce341014ff0ad500b5fbd0747caedf2 Mon Sep 17 00:00:00 2001 From: Ana Date: Mon, 8 Aug 2016 18:29:31 +0200 Subject: [PATCH] Improve Error messages - Improve error messages in event schedules, schedules and program controller. - Two respond_to blocks in the update method of program controller. --- app/controllers/admin/event_schedules_controller.rb | 6 +++--- app/controllers/admin/programs_controller.rb | 12 +++++++----- app/controllers/admin/schedules_controller.rb | 2 +- .../admin/event_schedules_controller_spec.rb | 4 ++-- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/app/controllers/admin/event_schedules_controller.rb b/app/controllers/admin/event_schedules_controller.rb index ad7b89ff..dd1d3813 100644 --- a/app/controllers/admin/event_schedules_controller.rb +++ b/app/controllers/admin/event_schedules_controller.rb @@ -6,7 +6,7 @@ module Admin if @event_schedule.save render json: { 'status' => 'ok', event_schedule_id: @event_schedule.id } else - render json: { 'status' => "The event couldn't be scheduled" } + render json: { 'status' => "The event couldn't be scheduled. #{@event_schedule.errors.full_messages.join('. ')}" } end end @@ -14,7 +14,7 @@ module Admin if @event_schedule.update(event_schedule_params) render json: { 'status' => 'ok', event_schedule_id: @event_schedule.id } else - render json: { 'status' => "The event couldn't be scheduled" } + render json: { 'status' => "The event couldn't be scheduled. #{@event_schedule.errors.full_messages.join('. ')}" } end end @@ -22,7 +22,7 @@ module Admin if @event_schedule.destroy render json: { 'status' => 'ok' } else - render json: { 'status' => "The event couldn't be unscheduled" } + render json: { 'status' => "The event couldn't be unscheduled. #{@event_schedule.errors.full_messages.join('. ')}" } end end diff --git a/app/controllers/admin/programs_controller.rb b/app/controllers/admin/programs_controller.rb index 409cd3da..e2332b60 100644 --- a/app/controllers/admin/programs_controller.rb +++ b/app/controllers/admin/programs_controller.rb @@ -13,20 +13,22 @@ module Admin @program.assign_attributes(program_params) send_mail_on_schedule_public = @program.notify_on_schedule_public? - respond_to do |format| - if @program.update_attributes(program_params) - ConferenceScheduleUpdateMailJob.perform_later(@conference) if send_mail_on_schedule_public + if @program.update_attributes(program_params) + ConferenceScheduleUpdateMailJob.perform_later(@conference) if send_mail_on_schedule_public + respond_to do |format| format.html do redirect_to admin_conference_program_path(@conference.short_title), notice: 'The program was successfully updated.' end format.js { render json: { 'status' => 'ok' } } - else + end + else + respond_to do |format| format.html do flash[:error] = "Updating program failed. #{@program.errors.to_a.join('. ')}." render :new end - format.js { render json: { 'status' => "The selected schedule couldn't been updated" } } + format.js { render json: { 'status' => "The selected schedule couldn't been updated #{@program.errors.to_a.join('. ')}" } } end end end diff --git a/app/controllers/admin/schedules_controller.rb b/app/controllers/admin/schedules_controller.rb index 74706575..5ad2e6aa 100644 --- a/app/controllers/admin/schedules_controller.rb +++ b/app/controllers/admin/schedules_controller.rb @@ -17,7 +17,7 @@ module Admin notice: 'Schedule was successfully created.' else redirect_to admin_conference_schedules_path(conference_id: @conference.short_title), - error: 'Could not create schedule' + error: "Could not create schedule. #{@schedule.errors.full_messages.join('. ')}." end end diff --git a/spec/controllers/admin/event_schedules_controller_spec.rb b/spec/controllers/admin/event_schedules_controller_spec.rb index d432e974..c8776206 100644 --- a/spec/controllers/admin/event_schedules_controller_spec.rb +++ b/spec/controllers/admin/event_schedules_controller_spec.rb @@ -62,7 +62,7 @@ describe Admin::EventSchedulesController do room_id: nil, start_time: nil) - expect(JSON.parse(response.body)['status']).to_not eq('ok') + expect(JSON.parse(response.body)['status']).to eq("The event couldn't be scheduled. Event can't be blank. Room can't be blank. Start time can't be blank") end end end @@ -119,7 +119,7 @@ describe Admin::EventSchedulesController do room_id: nil, start_time: nil) - expect(JSON.parse(response.body)['status']).to_not eq('ok') + expect(JSON.parse(response.body)['status']).to eq("The event couldn't be scheduled. Event can't be blank. Room can't be blank. Start time can't be blank") end end end