Add activities for cell editing on the new item card [SCI-9423] (#6465)

This commit is contained in:
ajugo 2023-10-24 16:22:10 +02:00 committed by GitHub
parent 9809f696a2
commit a98d86e9b8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 11 deletions

View file

@ -75,7 +75,8 @@ class RepositoryRowsController < ApplicationController
if service.succeed?
repository_row = service.repository_row
log_activity(:create_item_inventory, repository_row)
log_activity(:create_item_inventory, repository_row, { repository_row: repository_row.id,
repository: @repository.id })
repository_row.repository_cells.where(value_type: 'RepositoryTextValue').each do |repository_cell|
record_annotation_notification(repository_row, repository_cell)
end
@ -158,7 +159,8 @@ class RepositoryRowsController < ApplicationController
if row_update.succeed?
if row_update.record_updated
log_activity(:edit_item_inventory, @repository_row)
log_activity(:edit_item_inventory, @repository_row, { repository_row: @repository_row.id,
repository: @repository.id })
@repository_row.repository_cells.where(value_type: 'RepositoryTextValue').each do |repository_cell|
record_annotation_notification(@repository_row, repository_cell)
end
@ -189,6 +191,12 @@ class RepositoryRowsController < ApplicationController
)
if row_cell_update.succeed?
if row_cell_update.record_updated
log_activity(:edit_item_field_inventory, @repository_row,
{ repository_row: @repository_row.id,
repository_column: update_params['repository_cells']&.keys&.first ||
I18n.t('repositories.table.row_name') })
end
head :no_content
else
render json: row_update.errors, status: :bad_request
@ -202,7 +210,7 @@ class RepositoryRowsController < ApplicationController
row = @repository.repository_rows.find_by(id: row_id)
next unless row && can_manage_repository_rows?(@repository)
log_activity(:delete_item_inventory, row)
log_activity(:delete_item_inventory, row, { repository_row: row.id, repository: @repository.id })
row.destroy && deleted_count += 1
end
if deleted_count.zero?
@ -453,15 +461,12 @@ class RepositoryRowsController < ApplicationController
params.permit(repository_row: :name, repository_cells: {}).to_h
end
def log_activity(type_of, repository_row)
def log_activity(type_of, repository_row, message_items = {})
Activities::CreateActivityService
.call(activity_type: type_of,
owner: current_user,
subject: repository_row,
team: @repository.team,
message_items: {
repository_row: repository_row.id,
repository: @repository.id
})
message_items: message_items)
end
end

View file

@ -50,7 +50,7 @@ module Activities
k = k.to_s.sub('tiny_mce_asset', 'asset').to_sym if k.to_s.include? 'tiny_mce_asset'
if const
if const && (v.is_a?(Hash) || v.to_i != 0)
if v.is_a?(Hash) # Value is Hash, so you have getter specified
id = v[:id]
getter_method = v[:value_for]

View file

@ -492,7 +492,8 @@ class Extends
sequence_on_result_edited: 288,
sequence_on_result_deleted: 289,
sequence_on_result_moved: 290,
move_chemical_structure_on_result: 291
move_chemical_structure_on_result: 291,
edit_item_field_inventory: 292
}
ACTIVITY_GROUPS = {
@ -506,7 +507,7 @@ class Extends
experiment: [*27..31, 57, 141, 165],
reports: [48, 50, 49, 163, 164],
inventories: [70, 71, 105, 144, 145, 72, 73, 74, 102, 142, 143, 75, 76, 77,
78, 96, 107, 113, 114, *133..136, 180, 181, 182],
78, 96, 107, 113, 114, *133..136, 180, 181, 182, 292],
protocol_repository: [80, 103, 89, 87, 79, 90, 91, 88, 85, 86, 84, 81, 82,
83, 101, 112, 123, 125, 117, 119, 129, 131, 170, 173, 179, 187, 186,
190, 191, *204..215, 220, 221, 223, 227, 228, 229, *230..235,

View file

@ -154,6 +154,7 @@ en:
create_item_inventory_html: "%{user} created inventory item %{repository_row}."
edit_item_inventory_html: "%{user} edited inventory item %{repository_row}."
delete_item_inventory_html: "%{user} deleted inventory item %{repository_row}."
edit_item_field_inventory_html: "%{user} edited %{repository_column} on inventory item %{repository_row}."
archive_inventory_item_html: "%{user} archived inventory item %{repository_row}."
restore_inventory_item_html: "%{user} restored inventory item %{repository_row}."
create_column_inventory_html: "%{user} created column %{repository_column} in inventory %{repository}."
@ -420,6 +421,7 @@ en:
update_share_with_all_permission_level: "Inventory sharing with all permission updated"
create_item_inventory: "Inventory item created"
edit_item_inventory: "Inventory item edited"
edit_item_field_inventory: "Inventory item field edited"
delete_item_inventory: "Inventory item deleted"
archive_inventory_item: "Inventory item archived"
restore_inventory_item: "Inventory item restored"