diff --git a/app/assets/javascripts/my_modules/stock.js b/app/assets/javascripts/my_modules/stock.js index 031e68fdc..9efdf6a2e 100644 --- a/app/assets/javascripts/my_modules/stock.js +++ b/app/assets/javascripts/my_modules/stock.js @@ -1,4 +1,4 @@ -/* global SmartAnnotation I18n MyModuleRepositories */ +/* global SmartAnnotation I18n MyModuleRepositories GLOBAL_CONSTANTS */ var MyModuleStockConsumption = (function() { const CONSUMPTION_MODAL = '#consumeRepositoryStockValueModal'; const WARNING_MODAL = '#consumeRepositoryStockValueModalWarning'; @@ -32,6 +32,18 @@ var MyModuleStockConsumption = (function() { $(WARNING_MODAL).modal('hide'); }); + $(CONSUMPTION_MODAL + ' #comment').on('keyup change', function() { + $(this).closest('.sci-input-container').toggleClass( + 'error', + this.value.length > GLOBAL_CONSTANTS.NAME_MAX_LENGTH + ); + $('.update-consumption-button').attr( + 'disabled', + this.value.length > GLOBAL_CONSTANTS.NAME_MAX_LENGTH + ); + }); + + $('.update-consumption-button').on('click', function(event, skipValidation) { if (parseFloat($('.stock-final-container .value').text()) < 0 && !skipValidation) { event.preventDefault(); diff --git a/app/assets/javascripts/repositories/renderers/view_renderers.js b/app/assets/javascripts/repositories/renderers/view_renderers.js index 5d8aa487a..0acb7cff7 100644 --- a/app/assets/javascripts/repositories/renderers/view_renderers.js +++ b/app/assets/javascripts/repositories/renderers/view_renderers.js @@ -181,9 +181,9 @@ $.fn.dataTable.render.AssignedTasksValue = function(data) { return "
0
"; }; -$.fn.dataTable.render.RepositoryStockValue = function(data) { - if (data.value) { - if (data.stock_managable) { +$.fn.dataTable.render.RepositoryStockValue = function(data, row) { + if (data && data.value) { + if (row && row.manageStockUrl) { return ` ${data.value.stock_formatted} @@ -194,7 +194,7 @@ $.fn.dataTable.render.RepositoryStockValue = function(data) { ${data.value.stock_formatted} `; } - if (data.stock_managable) { + if (data && row && row.manageStockUrl) { return ` ${I18n.t('libraries.manange_modal_column.stock_type.add_stock')} diff --git a/app/assets/javascripts/repositories/repository_datatable.js b/app/assets/javascripts/repositories/repository_datatable.js index 7c55de8a2..86ba3866b 100644 --- a/app/assets/javascripts/repositories/repository_datatable.js +++ b/app/assets/javascripts/repositories/repository_datatable.js @@ -458,9 +458,9 @@ var RepositoryDatatable = (function(global) { visible: true }, { targets: '_all', - render: function(data) { + render: function(data, type, row) { if (typeof data === 'object' && $.fn.dataTable.render[data.value_type]) { - return $.fn.dataTable.render[data.value_type](data); + return $.fn.dataTable.render[data.value_type](data, row); } return data; } diff --git a/app/assets/javascripts/repositories/stock.js b/app/assets/javascripts/repositories/stock.js index c11f94594..e1e87c23c 100644 --- a/app/assets/javascripts/repositories/stock.js +++ b/app/assets/javascripts/repositories/stock.js @@ -1,4 +1,4 @@ -/* global dropdownSelector */ +/* global dropdownSelector GLOBAL_CONSTANTS */ var RepositoryStockValues = (function() { const UNIT_SELECTOR = '#repository-stock-value-units'; @@ -55,6 +55,17 @@ var RepositoryStockValues = (function() { } }); + $('#repository-stock-value-comment').on('keyup change', function() { + $(this).closest('.sci-input-container').toggleClass( + 'error', + this.value.length > GLOBAL_CONSTANTS.NAME_MAX_LENGTH + ); + $('.update-repository-stock').toggleClass( + 'disabled', + this.value.length > GLOBAL_CONSTANTS.NAME_MAX_LENGTH + ); + }); + $('#stock-input-amount').on('input', function() { var currentAmount = parseFloat($(this).data('currentAmount')); var inputAmount = parseFloat($(this).val()); diff --git a/app/views/my_modules/repositories/_consume_stock_modal_content.html.erb b/app/views/my_modules/repositories/_consume_stock_modal_content.html.erb index 10dbfbc25..dcbfcca84 100644 --- a/app/views/my_modules/repositories/_consume_stock_modal_content.html.erb +++ b/app/views/my_modules/repositories/_consume_stock_modal_content.html.erb @@ -16,7 +16,7 @@ <%= @stock_value.repository_stock_unit_item&.data %> -
+
<%= f.label :comment, t('my_modules.repository.stock_modal.comment') %> <%= f.text_field :comment, placeholder: t('my_modules.repository.stock_modal.enter_comment') , class: 'sci-input-field' %>
diff --git a/app/views/repository_stock_values/_manage_modal_content.erb b/app/views/repository_stock_values/_manage_modal_content.erb index 639be5cbb..ce1e324fc 100644 --- a/app/views/repository_stock_values/_manage_modal_content.erb +++ b/app/views/repository_stock_values/_manage_modal_content.erb @@ -68,14 +68,16 @@
-
- - -
+

+

+ + +
+

<% unless repository_stock_value.new_record? %> @@ -105,6 +107,6 @@ id="cancel" class="btn btn-default" data-dismiss="modal"><%=t 'general.cancel' %> - <%= submit_tag t('repository_stock_values.manage_modal.save_stock'), class: "btn btn-primary" %> + <%= submit_tag t('repository_stock_values.manage_modal.save_stock'), class: "btn btn-primary update-repository-stock" %> <% end %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 1a6925a52..358dad887 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1569,6 +1569,7 @@ en: comment_placeholder: "Enter comment" current_stock: "Current stock" new_stock: "New stock" + comment_limit: "Maximum number of characters reached (255)" libraries: manange_modal_column_index: