mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-10-06 20:05:55 +08:00
Merge pull request #7610 from rekonder/aj_SCI_10746
Update logic for saving update at and modified by on repository row [SCI-10746]
This commit is contained in:
commit
46fdd3f8de
14 changed files with 30 additions and 11 deletions
|
@ -47,6 +47,7 @@ module Api
|
||||||
end
|
end
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
|
@inventory_item.update!(last_modified_by: current_user)
|
||||||
@inventory_cell.destroy!
|
@inventory_cell.destroy!
|
||||||
render body: nil
|
render body: nil
|
||||||
end
|
end
|
||||||
|
|
|
@ -35,7 +35,7 @@ class Asset < ApplicationRecord
|
||||||
has_one :result_asset, inverse_of: :asset, dependent: :destroy
|
has_one :result_asset, inverse_of: :asset, dependent: :destroy
|
||||||
has_one :result, through: :result_asset, touch: true
|
has_one :result, through: :result_asset, touch: true
|
||||||
has_one :repository_asset_value, inverse_of: :asset, dependent: :destroy
|
has_one :repository_asset_value, inverse_of: :asset, dependent: :destroy
|
||||||
has_one :repository_cell, through: :repository_asset_value
|
has_one :repository_cell, through: :repository_asset_value, touch: true
|
||||||
has_many :report_elements, inverse_of: :asset, dependent: :destroy
|
has_many :report_elements, inverse_of: :asset, dependent: :destroy
|
||||||
has_one :asset_text_datum, inverse_of: :asset, dependent: :destroy
|
has_one :asset_text_datum, inverse_of: :asset, dependent: :destroy
|
||||||
has_many :asset_sync_tokens, dependent: :destroy
|
has_many :asset_sync_tokens, dependent: :destroy
|
||||||
|
|
|
@ -12,7 +12,7 @@ class RepositoryAssetValue < ApplicationRecord
|
||||||
belongs_to :asset,
|
belongs_to :asset,
|
||||||
inverse_of: :repository_asset_value,
|
inverse_of: :repository_asset_value,
|
||||||
dependent: :destroy
|
dependent: :destroy
|
||||||
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value
|
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value, touch: true
|
||||||
accepts_nested_attributes_for :repository_cell
|
accepts_nested_attributes_for :repository_cell
|
||||||
|
|
||||||
validates :asset, :repository_cell, presence: true
|
validates :asset, :repository_cell, presence: true
|
||||||
|
|
|
@ -5,7 +5,7 @@ class RepositoryCell < ApplicationRecord
|
||||||
|
|
||||||
attr_accessor :importing
|
attr_accessor :importing
|
||||||
|
|
||||||
belongs_to :repository_row
|
belongs_to :repository_row, touch: true
|
||||||
belongs_to :repository_column
|
belongs_to :repository_column
|
||||||
belongs_to :value, polymorphic: true, inverse_of: :repository_cell, dependent: :destroy
|
belongs_to :value, polymorphic: true, inverse_of: :repository_cell, dependent: :destroy
|
||||||
|
|
||||||
|
@ -45,10 +45,16 @@ class RepositoryCell < ApplicationRecord
|
||||||
uniqueness: { scope: :repository_column },
|
uniqueness: { scope: :repository_column },
|
||||||
unless: :importing
|
unless: :importing
|
||||||
|
|
||||||
|
after_touch :update_repository_row_last_modified_by
|
||||||
|
|
||||||
scope :with_active_reminder, lambda { |user|
|
scope :with_active_reminder, lambda { |user|
|
||||||
reminder_repository_cells_scope(self, user)
|
reminder_repository_cells_scope(self, user)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def update_repository_row_last_modified_by
|
||||||
|
repository_row.update!(last_modified_by_id: value.last_modified_by_id)
|
||||||
|
end
|
||||||
|
|
||||||
def self.create_with_value!(row, column, data, user)
|
def self.create_with_value!(row, column, data, user)
|
||||||
cell = new(repository_row: row, repository_column: column)
|
cell = new(repository_row: row, repository_column: column)
|
||||||
cell.transaction do
|
cell.transaction do
|
||||||
|
|
|
@ -5,4 +5,15 @@ class RepositoryChecklistItemsValue < ApplicationRecord
|
||||||
belongs_to :repository_checklist_value, inverse_of: :repository_checklist_items_values
|
belongs_to :repository_checklist_value, inverse_of: :repository_checklist_items_values
|
||||||
|
|
||||||
validates :repository_checklist_item, :repository_checklist_value, presence: true
|
validates :repository_checklist_item, :repository_checklist_value, presence: true
|
||||||
|
|
||||||
|
after_create :touch_repository_checklist_value
|
||||||
|
before_destroy :touch_repository_checklist_value
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
# rubocop:disable Rails/SkipsModelValidations
|
||||||
|
def touch_repository_checklist_value
|
||||||
|
repository_checklist_value.touch
|
||||||
|
end
|
||||||
|
# rubocop:enable Rails/SkipsModelValidations
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,7 +7,7 @@ class RepositoryChecklistValue < ApplicationRecord
|
||||||
inverse_of: :created_repository_checklist_values
|
inverse_of: :created_repository_checklist_values
|
||||||
belongs_to :last_modified_by, foreign_key: 'last_modified_by_id', class_name: 'User',
|
belongs_to :last_modified_by, foreign_key: 'last_modified_by_id', class_name: 'User',
|
||||||
inverse_of: :modified_repository_checklist_values
|
inverse_of: :modified_repository_checklist_values
|
||||||
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value
|
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value, touch: true
|
||||||
has_many :repository_checklist_items_values, dependent: :destroy
|
has_many :repository_checklist_items_values, dependent: :destroy
|
||||||
has_many :repository_checklist_items, -> { order('data ASC') },
|
has_many :repository_checklist_items, -> { order('data ASC') },
|
||||||
through: :repository_checklist_items_values,
|
through: :repository_checklist_items_values,
|
||||||
|
|
|
@ -7,7 +7,7 @@ class RepositoryDateTimeRangeValueBase < ApplicationRecord
|
||||||
inverse_of: :created_repository_date_time_values
|
inverse_of: :created_repository_date_time_values
|
||||||
belongs_to :last_modified_by, foreign_key: :last_modified_by_id, class_name: 'User', optional: true,
|
belongs_to :last_modified_by, foreign_key: :last_modified_by_id, class_name: 'User', optional: true,
|
||||||
inverse_of: :modified_repository_date_time_values
|
inverse_of: :modified_repository_date_time_values
|
||||||
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value
|
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value, touch: true
|
||||||
accepts_nested_attributes_for :repository_cell
|
accepts_nested_attributes_for :repository_cell
|
||||||
|
|
||||||
validates :repository_cell, :start_time, :end_time, :type, presence: true
|
validates :repository_cell, :start_time, :end_time, :type, presence: true
|
||||||
|
|
|
@ -7,7 +7,7 @@ class RepositoryDateTimeValueBase < ApplicationRecord
|
||||||
inverse_of: :created_repository_date_time_values
|
inverse_of: :created_repository_date_time_values
|
||||||
belongs_to :last_modified_by, foreign_key: :last_modified_by_id, class_name: 'User', optional: true,
|
belongs_to :last_modified_by, foreign_key: :last_modified_by_id, class_name: 'User', optional: true,
|
||||||
inverse_of: :modified_repository_date_time_values
|
inverse_of: :modified_repository_date_time_values
|
||||||
has_one :repository_cell, as: :value, dependent: :destroy
|
has_one :repository_cell, as: :value, dependent: :destroy, touch: true
|
||||||
accepts_nested_attributes_for :repository_cell
|
accepts_nested_attributes_for :repository_cell
|
||||||
before_save :reset_notification_sent, if: -> { data_changed? }
|
before_save :reset_notification_sent, if: -> { data_changed? }
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ class RepositoryListValue < ApplicationRecord
|
||||||
belongs_to :last_modified_by,
|
belongs_to :last_modified_by,
|
||||||
foreign_key: :last_modified_by_id,
|
foreign_key: :last_modified_by_id,
|
||||||
class_name: 'User'
|
class_name: 'User'
|
||||||
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value
|
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value, touch: true
|
||||||
accepts_nested_attributes_for :repository_cell
|
accepts_nested_attributes_for :repository_cell
|
||||||
|
|
||||||
validates :repository_cell, presence: true
|
validates :repository_cell, presence: true
|
||||||
|
|
|
@ -5,7 +5,7 @@ class RepositoryNumberValue < ApplicationRecord
|
||||||
inverse_of: :created_repository_number_values
|
inverse_of: :created_repository_number_values
|
||||||
belongs_to :last_modified_by, foreign_key: :last_modified_by_id, class_name: 'User',
|
belongs_to :last_modified_by, foreign_key: :last_modified_by_id, class_name: 'User',
|
||||||
inverse_of: :modified_repository_number_values
|
inverse_of: :modified_repository_number_values
|
||||||
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value
|
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value, touch: true
|
||||||
accepts_nested_attributes_for :repository_cell
|
accepts_nested_attributes_for :repository_cell
|
||||||
|
|
||||||
validates :repository_cell, :data, presence: true
|
validates :repository_cell, :data, presence: true
|
||||||
|
|
|
@ -6,7 +6,7 @@ class RepositoryStatusValue < ApplicationRecord
|
||||||
inverse_of: :created_repository_status_value
|
inverse_of: :created_repository_status_value
|
||||||
belongs_to :last_modified_by, foreign_key: 'last_modified_by_id', class_name: 'User', optional: true,
|
belongs_to :last_modified_by, foreign_key: 'last_modified_by_id', class_name: 'User', optional: true,
|
||||||
inverse_of: :modified_repository_status_value
|
inverse_of: :modified_repository_status_value
|
||||||
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value
|
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value, touch: true
|
||||||
accepts_nested_attributes_for :repository_cell
|
accepts_nested_attributes_for :repository_cell
|
||||||
|
|
||||||
validates :repository_cell, :repository_status_item, presence: true
|
validates :repository_cell, :repository_status_item, presence: true
|
||||||
|
|
|
@ -9,7 +9,7 @@ class RepositoryStockValue < ApplicationRecord
|
||||||
belongs_to :repository_stock_unit_item, optional: true
|
belongs_to :repository_stock_unit_item, optional: true
|
||||||
belongs_to :created_by, class_name: 'User', optional: true, inverse_of: :created_repository_stock_values
|
belongs_to :created_by, class_name: 'User', optional: true, inverse_of: :created_repository_stock_values
|
||||||
belongs_to :last_modified_by, class_name: 'User', optional: true, inverse_of: :modified_repository_stock_values
|
belongs_to :last_modified_by, class_name: 'User', optional: true, inverse_of: :modified_repository_stock_values
|
||||||
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value
|
has_one :repository_cell, as: :value, dependent: :destroy, inverse_of: :value, touch: true
|
||||||
has_one :repository_row, through: :repository_cell
|
has_one :repository_row, through: :repository_cell
|
||||||
has_many :repository_ledger_records, dependent: :destroy
|
has_many :repository_ledger_records, dependent: :destroy
|
||||||
accepts_nested_attributes_for :repository_cell
|
accepts_nested_attributes_for :repository_cell
|
||||||
|
|
|
@ -7,7 +7,7 @@ class RepositoryTextValue < ApplicationRecord
|
||||||
belongs_to :last_modified_by, foreign_key: :last_modified_by_id,
|
belongs_to :last_modified_by, foreign_key: :last_modified_by_id,
|
||||||
class_name: 'User',
|
class_name: 'User',
|
||||||
inverse_of: :modified_repository_text_values
|
inverse_of: :modified_repository_text_values
|
||||||
has_one :repository_cell, as: :value, dependent: :destroy
|
has_one :repository_cell, as: :value, dependent: :destroy, touch: true
|
||||||
accepts_nested_attributes_for :repository_cell
|
accepts_nested_attributes_for :repository_cell
|
||||||
|
|
||||||
validates :repository_cell, presence: true
|
validates :repository_cell, presence: true
|
||||||
|
|
|
@ -26,6 +26,7 @@ module RepositoryRows
|
||||||
@cell = @repository_row.repository_cells.find_by(repository_column_id: @column.id)
|
@cell = @repository_row.repository_cells.find_by(repository_column_id: @column.id)
|
||||||
|
|
||||||
if @cell.present? && value.blank?
|
if @cell.present? && value.blank?
|
||||||
|
@repository_row.last_modified_by = @user
|
||||||
@cell.destroy!
|
@cell.destroy!
|
||||||
@cell = nil
|
@cell = nil
|
||||||
@record_updated = true
|
@record_updated = true
|
||||||
|
|
Loading…
Add table
Reference in a new issue