diff --git a/modules/meeting/app/controllers/meetings_controller.rb b/modules/meeting/app/controllers/meetings_controller.rb index 61cd650816b..847fdd190ae 100644 --- a/modules/meeting/app/controllers/meetings_controller.rb +++ b/modules/meeting/app/controllers/meetings_controller.rb @@ -151,13 +151,15 @@ class MeetingsController < ApplicationController end def update - @meeting.participants_attributes = @converted_params.delete(:participants_attributes) - @converted_params.delete(:send_notifications) - @meeting.attributes = @converted_params - if @meeting.save + call = ::Meetings::UpdateService + .new(user: current_user, model: @meeting) + .call(@converted_params) + + if call.success? flash[:notice] = I18n.t(:notice_successful_update) redirect_to action: "show", id: @meeting else + @meeting = call.result render action: "edit" end end diff --git a/modules/meeting/app/models/meeting.rb b/modules/meeting/app/models/meeting.rb index 9116281ae33..66a3a683fc2 100644 --- a/modules/meeting/app/models/meeting.rb +++ b/modules/meeting/app/models/meeting.rb @@ -317,7 +317,7 @@ class Meeting < ApplicationRecord end def send_participant_added_mail(participant) - if persisted? + if persisted? && Journal::NotificationConfiguration.active? MeetingMailer.invited(self, participant.user, User.current).deliver_later end end diff --git a/modules/meeting/app/services/meetings/set_attributes_service.rb b/modules/meeting/app/services/meetings/set_attributes_service.rb index 7d107b9c36c..4473a6776b4 100644 --- a/modules/meeting/app/services/meetings/set_attributes_service.rb +++ b/modules/meeting/app/services/meetings/set_attributes_service.rb @@ -43,7 +43,7 @@ module Meetings end def set_participants(participants_attributes) - model.participants.clear + model.participants.clear if model.new_record? model.participants_attributes = participants_attributes end end diff --git a/modules/meeting/app/views/meetings/_form.html.erb b/modules/meeting/app/views/meetings/_form.html.erb index 45230408792..ed8dab007fb 100644 --- a/modules/meeting/app/views/meetings/_form.html.erb +++ b/modules/meeting/app/views/meetings/_form.html.erb @@ -192,18 +192,15 @@ See COPYRIGHT and LICENSE files for more details. <%= render partial: 'meetings/participants_section' %> - <% if @meeting.new_record? || copy_from.present? %> -