diff --git a/app/controllers/epp/contacts_controller.rb b/app/controllers/epp/contacts_controller.rb index 14c6de7b6..b9af62d7a 100644 --- a/app/controllers/epp/contacts_controller.rb +++ b/app/controllers/epp/contacts_controller.rb @@ -31,7 +31,7 @@ class Epp::ContactsController < EppController def update authorize! :update, @contact, @password - if @contact.update_attributes(params[:parsed_frame]) + if @contact.update_attributes(params[:parsed_frame], current_user) render_epp_response 'epp/contacts/update' else handle_errors(@contact) diff --git a/app/models/epp/contact.rb b/app/models/epp/contact.rb index f59b9a33f..e6fa4ddfe 100644 --- a/app/models/epp/contact.rb +++ b/app/models/epp/contact.rb @@ -140,7 +140,7 @@ class Epp::Contact < Contact end # rubocop:disable Metrics/AbcSize - def update_attributes(frame) + def update_attributes(frame, current_user) return super if frame.blank? at = {}.with_indifferent_access at.deep_merge!(self.class.attrs_from(frame.css('chg'), new_record: false)) @@ -181,6 +181,9 @@ class Epp::Contact < Contact end end + self.upid = current_user.id if current_user + self.up_date = Time.zone.now + super(at) end # rubocop:enable Metrics/AbcSize diff --git a/app/models/epp/domain.rb b/app/models/epp/domain.rb index 02b67435d..0a9def042 100644 --- a/app/models/epp/domain.rb +++ b/app/models/epp/domain.rb @@ -6,7 +6,6 @@ class Epp::Domain < Domain attr_accessor :is_renewal, :is_transfer before_validation :manage_permissions - def manage_permissions return if is_admin # this bad hack for 109086524, refactor later return true if is_transfer || is_renewal @@ -500,6 +499,9 @@ class Epp::Domain < Domain # at[:statuses] += at_add[:domain_statuses_attributes] + self.upid = current_user.id if current_user + self.up_date = Time.zone.now + if registrant_id && registrant.code == frame.css('registrant') throw :epp_error, { diff --git a/db/migrate/20160225113801_add_up_id_value_to_domain.rb b/db/migrate/20160225113801_add_up_id_value_to_domain.rb new file mode 100644 index 000000000..9879c8555 --- /dev/null +++ b/db/migrate/20160225113801_add_up_id_value_to_domain.rb @@ -0,0 +1,5 @@ +class AddUpIdValueToDomain < ActiveRecord::Migration + def change + add_column :domains, :upid, :integer + end +end diff --git a/db/migrate/20160225113812_add_up_id_value_to_contact.rb b/db/migrate/20160225113812_add_up_id_value_to_contact.rb new file mode 100644 index 000000000..b78478e75 --- /dev/null +++ b/db/migrate/20160225113812_add_up_id_value_to_contact.rb @@ -0,0 +1,5 @@ +class AddUpIdValueToContact < ActiveRecord::Migration + def change + add_column :contacts, :upid, :integer + end +end diff --git a/db/migrate/20160226132045_add_up_date_value_to_domain.rb b/db/migrate/20160226132045_add_up_date_value_to_domain.rb new file mode 100644 index 000000000..5fdc3d196 --- /dev/null +++ b/db/migrate/20160226132045_add_up_date_value_to_domain.rb @@ -0,0 +1,5 @@ +class AddUpDateValueToDomain < ActiveRecord::Migration + def change + add_column :domains, :up_date, :timestamp + end +end diff --git a/db/migrate/20160226132056_add_up_date_value_to_contact.rb b/db/migrate/20160226132056_add_up_date_value_to_contact.rb new file mode 100644 index 000000000..f7ba92313 --- /dev/null +++ b/db/migrate/20160226132056_add_up_date_value_to_contact.rb @@ -0,0 +1,5 @@ +class AddUpDateValueToContact < ActiveRecord::Migration + def change + add_column :contacts, :up_date, :timestamp + end +end