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 {
|
} else {
|
||||||
columnDefs.push({
|
columnDefs.push({
|
||||||
targets: 2,
|
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,
|
targets: 0,
|
||||||
className: 'item-name',
|
className: 'item-name',
|
||||||
render: function(data, type, row) {
|
render: function(data, type, row) {
|
||||||
let recordName;
|
let recordName = `<a href="${row.recordInfoUrl}" class="record-info-link">${data}</a>`;
|
||||||
|
|
||||||
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>`;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (row.hasActiveReminders) {
|
if (row.hasActiveReminders) {
|
||||||
recordName = `<div class="dropdown row-reminders-dropdown"
|
recordName = `<div class="dropdown row-reminders-dropdown"
|
||||||
|
|
|
@ -6,10 +6,12 @@ class RepositoryRowsController < ApplicationController
|
||||||
include RepositoryDatatableHelper
|
include RepositoryDatatableHelper
|
||||||
|
|
||||||
MAX_PRINTABLE_ITEM_NAME_LENGTH = 64
|
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)
|
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_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 :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
|
before_action :check_read_permissions, except: %i(create update delete_records
|
||||||
copy_records reminder_repository_cells
|
copy_records reminder_repository_cells
|
||||||
|
@ -44,9 +46,6 @@ class RepositoryRowsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@repository_row = @repository.repository_rows.find_by(id: params[:id])
|
|
||||||
return render_404 unless @repository_row
|
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html do
|
format.html do
|
||||||
redirect_to repository_path(@repository)
|
redirect_to repository_path(@repository)
|
||||||
|
@ -375,6 +374,15 @@ class RepositoryRowsController < ApplicationController
|
||||||
render_404 unless @repository
|
render_404 unless @repository
|
||||||
end
|
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
|
def load_repository_row
|
||||||
@repository_row = @repository.repository_rows.eager_load(:repository_columns).find_by(id: params[:id])
|
@repository_row = @repository.repository_rows.eager_load(:repository_columns).find_by(id: params[:id])
|
||||||
render_404 unless @repository_row
|
render_404 unless @repository_row
|
||||||
|
|
|
@ -106,6 +106,7 @@ module RepositoryDatatableHelper
|
||||||
DT_RowId: record.id,
|
DT_RowId: record.id,
|
||||||
DT_RowAttr: { 'data-state': row_style(record) },
|
DT_RowAttr: { 'data-state': row_style(record) },
|
||||||
'0': escape_input(record.name),
|
'0': escape_input(record.name),
|
||||||
|
recordInfoUrl: Rails.application.routes.url_helpers.repository_repository_row_path(record.repository, record),
|
||||||
rowRemindersUrl:
|
rowRemindersUrl:
|
||||||
Rails.application.routes.url_helpers
|
Rails.application.routes.url_helpers
|
||||||
.active_reminder_repository_cells_repository_repository_row_url(
|
.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
|
if reminders_enabled
|
||||||
row['hasActiveReminders'] = record.has_active_stock_reminders || record.has_active_datetime_reminders
|
row['hasActiveReminders'] = record.has_active_stock_reminders || record.has_active_datetime_reminders
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,6 +9,14 @@ Canaid::Permissions.register_for(RepositoryBase) do
|
||||||
user.teams.include?(repository.team) || repository.shared_with?(user.current_team)
|
user.teams.include?(repository.team) || repository.shared_with?(user.current_team)
|
||||||
end
|
end
|
||||||
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
|
end
|
||||||
|
|
||||||
Canaid::Permissions.register_for(Repository) do
|
Canaid::Permissions.register_for(Repository) do
|
||||||
|
@ -98,8 +106,4 @@ Canaid::Permissions.register_for(Repository) do
|
||||||
can :manage_repository_stock do |user, repository|
|
can :manage_repository_stock do |user, repository|
|
||||||
RepositoryBase.stock_management_enabled? && can_manage_repository_rows?(user, repository)
|
RepositoryBase.stock_management_enabled? && can_manage_repository_rows?(user, repository)
|
||||||
end
|
end
|
||||||
|
|
||||||
can :export_repository_stock do |user, repository|
|
|
||||||
can_read_repository?(user, repository) && repository.has_stock_management?
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,8 +9,7 @@ end
|
||||||
json.update_path update_cell_repository_repository_row_path(@repository, @repository_row)
|
json.update_path update_cell_repository_repository_row_path(@repository, @repository_row)
|
||||||
|
|
||||||
json.permissions do
|
json.permissions do
|
||||||
json.can_export_repository_stock can_export_repository_stock?(@repository_row.repository)
|
json.can_export_repository_stock can_export_repository_stock?(@repository)
|
||||||
json.can_manage can_manage_repository_rows?(@repository_row.repository)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
json.actions do
|
json.actions do
|
||||||
|
|
Loading…
Add table
Reference in a new issue