mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-11 23:54:43 +08:00
Add link to assigned item to task for snapshots version [SCI-9689] (#6656)
This commit is contained in:
parent
23513492e7
commit
bc2904823d
5 changed files with 26 additions and 24 deletions
|
@ -131,7 +131,8 @@ var MyModuleRepositories = (function() {
|
|||
} else {
|
||||
columnDefs.push({
|
||||
targets: 2,
|
||||
className: 'item-name'
|
||||
className: 'item-name',
|
||||
render: (data, type, row) => `<a href="${row.recordInfoUrl}" class="record-info-link">${data}</a>`,
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -182,13 +183,7 @@ var MyModuleRepositories = (function() {
|
|||
targets: 0,
|
||||
className: 'item-name',
|
||||
render: function(data, type, row) {
|
||||
let recordName;
|
||||
|
||||
if (row.recordInfoUrl) {
|
||||
recordName = `<a href="${row.recordInfoUrl}" class="record-info-link">${data}</a>`;
|
||||
} else {
|
||||
recordName = `<div class="inline-block my-2 mx-0">${data}</div>`;
|
||||
}
|
||||
let recordName = `<a href="${row.recordInfoUrl}" class="record-info-link">${data}</a>`;
|
||||
|
||||
if (row.hasActiveReminders) {
|
||||
recordName = `<div class="dropdown row-reminders-dropdown"
|
||||
|
|
|
@ -6,10 +6,12 @@ class RepositoryRowsController < ApplicationController
|
|||
include RepositoryDatatableHelper
|
||||
|
||||
MAX_PRINTABLE_ITEM_NAME_LENGTH = 64
|
||||
before_action :load_repository, except: %i(print rows_to_print print_zpl
|
||||
before_action :load_repository, except: %i(show print rows_to_print print_zpl
|
||||
validate_label_template_columns actions_toolbar)
|
||||
before_action :load_repository_row_print, only: %i(print rows_to_print print_zpl validate_label_template_columns)
|
||||
before_action :load_repository_or_snapshot, only: %i(print rows_to_print print_zpl validate_label_template_columns)
|
||||
before_action :load_show_vars, only: %i(show)
|
||||
before_action :load_repository_or_snapshot, only: %i(print rows_to_print print_zpl
|
||||
validate_label_template_columns)
|
||||
before_action :load_repository_row, only: %i(update update_cell assigned_task_list active_reminder_repository_cells)
|
||||
before_action :check_read_permissions, except: %i(create update delete_records
|
||||
copy_records reminder_repository_cells
|
||||
|
@ -44,9 +46,6 @@ class RepositoryRowsController < ApplicationController
|
|||
end
|
||||
|
||||
def show
|
||||
@repository_row = @repository.repository_rows.find_by(id: params[:id])
|
||||
return render_404 unless @repository_row
|
||||
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
redirect_to repository_path(@repository)
|
||||
|
@ -375,6 +374,15 @@ class RepositoryRowsController < ApplicationController
|
|||
render_404 unless @repository
|
||||
end
|
||||
|
||||
def load_show_vars
|
||||
@repository = Repository.accessible_by_teams(current_team).find_by(id: params[:repository_id])
|
||||
@repository ||= RepositorySnapshot.find_by(id: params[:repository_id])
|
||||
return render_404 unless @repository
|
||||
|
||||
@repository_row = @repository.repository_rows.eager_load(:repository_columns).find_by(id: params[:id])
|
||||
render_404 unless @repository_row
|
||||
end
|
||||
|
||||
def load_repository_row
|
||||
@repository_row = @repository.repository_rows.eager_load(:repository_columns).find_by(id: params[:id])
|
||||
render_404 unless @repository_row
|
||||
|
|
|
@ -106,6 +106,7 @@ module RepositoryDatatableHelper
|
|||
DT_RowId: record.id,
|
||||
DT_RowAttr: { 'data-state': row_style(record) },
|
||||
'0': escape_input(record.name),
|
||||
recordInfoUrl: Rails.application.routes.url_helpers.repository_repository_row_path(record.repository, record),
|
||||
rowRemindersUrl:
|
||||
Rails.application.routes.url_helpers
|
||||
.active_reminder_repository_cells_repository_repository_row_url(
|
||||
|
@ -114,11 +115,6 @@ module RepositoryDatatableHelper
|
|||
)
|
||||
}
|
||||
|
||||
unless record.repository.is_a?(RepositorySnapshot)
|
||||
row['recordInfoUrl'] = Rails.application.routes.url_helpers.repository_repository_row_path(record.repository,
|
||||
record)
|
||||
end
|
||||
|
||||
if reminders_enabled
|
||||
row['hasActiveReminders'] = record.has_active_stock_reminders || record.has_active_datetime_reminders
|
||||
end
|
||||
|
|
|
@ -9,6 +9,14 @@ Canaid::Permissions.register_for(RepositoryBase) do
|
|||
user.teams.include?(repository.team) || repository.shared_with?(user.current_team)
|
||||
end
|
||||
end
|
||||
|
||||
can :export_repository_stock do |user, repository|
|
||||
if repository.is_a?(Repository)
|
||||
can_read_repository?(user, repository) && repository.has_stock_management?
|
||||
else
|
||||
false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Canaid::Permissions.register_for(Repository) do
|
||||
|
@ -98,8 +106,4 @@ Canaid::Permissions.register_for(Repository) do
|
|||
can :manage_repository_stock do |user, repository|
|
||||
RepositoryBase.stock_management_enabled? && can_manage_repository_rows?(user, repository)
|
||||
end
|
||||
|
||||
can :export_repository_stock do |user, repository|
|
||||
can_read_repository?(user, repository) && repository.has_stock_management?
|
||||
end
|
||||
end
|
||||
|
|
|
@ -9,8 +9,7 @@ end
|
|||
json.update_path update_cell_repository_repository_row_path(@repository, @repository_row)
|
||||
|
||||
json.permissions do
|
||||
json.can_export_repository_stock can_export_repository_stock?(@repository_row.repository)
|
||||
json.can_manage can_manage_repository_rows?(@repository_row.repository)
|
||||
json.can_export_repository_stock can_export_repository_stock?(@repository)
|
||||
end
|
||||
|
||||
json.actions do
|
||||
|
|
Loading…
Add table
Reference in a new issue