mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-12 16:14:58 +08:00
Merge branch 'develop' into ai-sci-6743-add-negative-validation-for-stock-modal-and-consumption-modal
This commit is contained in:
commit
4d429b28a8
6 changed files with 36 additions and 24 deletions
|
@ -35,7 +35,7 @@ var MyModuleStockConsumption = (function() {
|
|||
let finalValue = initialValue - ($(this).val() || 0) + initialStock;
|
||||
$('.stock-final-container .value')
|
||||
.text(formatDecimalValue(String(finalValue), $('#stock_consumption').data('decimals')));
|
||||
$('.stock-final-container').toggleClass('error', finalValue <= 0);
|
||||
$('.stock-final-container').toggleClass('negative', finalValue <= 0);
|
||||
$(this).closest('.sci-input-container').toggleClass('error', !($(this).val().length && this.value >= 0));
|
||||
$('.update-consumption-button').attr('disabled', !($(this).val().length && this.value >= 0));
|
||||
});
|
||||
|
|
|
@ -41,6 +41,9 @@ var RepositoryStockValues = (function() {
|
|||
let amountChanged = false;
|
||||
|
||||
$('.repository-show').on('click', '.manage-repository-stock-value-link', function() {
|
||||
let colIndex = this.parentNode.cellIndex;
|
||||
let rowIndex = this.parentNode.parentNode.rowIndex;
|
||||
|
||||
$.ajax({
|
||||
url: $(this).closest('tr').data('manage-stock-url'),
|
||||
type: 'GET',
|
||||
|
@ -73,10 +76,13 @@ var RepositoryStockValues = (function() {
|
|||
.dropdown-selector-container .search-field
|
||||
`).attr('tabindex', 2);
|
||||
|
||||
$manageModal.find('form').on('ajax:success', function() {
|
||||
var dataTable = $('.dataTable').DataTable();
|
||||
$manageModal.find('form').on('ajax:success', function(_, data) {
|
||||
$manageModal.modal('hide');
|
||||
dataTable.ajax.reload(null, false);
|
||||
$('.dataTable').find(
|
||||
`tr:nth-child(${rowIndex}) td:nth-child(${colIndex + 1})`
|
||||
).html(
|
||||
$.fn.dataTable.render.RepositoryStockValue(data)
|
||||
);
|
||||
});
|
||||
|
||||
$('.stock-operator-option').click(function() {
|
||||
|
|
|
@ -16,6 +16,16 @@ var RepositoryStockColumnType = (function() {
|
|||
});
|
||||
}
|
||||
|
||||
function syncSelectedUnits() {
|
||||
RepositoryListColumnType.refreshPreviewDropdownList(
|
||||
previewContainer,
|
||||
itemsTextarea,
|
||||
delimiterDropdown,
|
||||
dropdownOptions,
|
||||
GLOBAL_CONSTANTS.REPOSITORY_STOCK_UNIT_ITEMS_PER_COLUMN
|
||||
);
|
||||
}
|
||||
|
||||
function initDropdownItemsTextArea() {
|
||||
var $manageModal = $(manageModal);
|
||||
|
||||
|
@ -24,24 +34,12 @@ var RepositoryStockColumnType = (function() {
|
|||
setTimeout(() => { initStockUnitDropdown(); }, 200);
|
||||
})
|
||||
.on('change keyup paste', itemsTextarea, function() {
|
||||
RepositoryListColumnType.refreshPreviewDropdownList(
|
||||
previewContainer,
|
||||
itemsTextarea,
|
||||
delimiterDropdown,
|
||||
dropdownOptions,
|
||||
GLOBAL_CONSTANTS.REPOSITORY_LIST_ITEMS_PER_COLUMN
|
||||
);
|
||||
syncSelectedUnits();
|
||||
$('.changing-existing-stock-units-warning').removeClass('hidden');
|
||||
initStockUnitDropdown();
|
||||
})
|
||||
.on('columnModal::partialLoadedForRepositoryStockValue', function() {
|
||||
RepositoryListColumnType.refreshPreviewDropdownList(
|
||||
previewContainer,
|
||||
itemsTextarea,
|
||||
delimiterDropdown,
|
||||
dropdownOptions,
|
||||
GLOBAL_CONSTANTS.REPOSITORY_STOCK_UNIT_ITEMS_PER_COLUMN
|
||||
);
|
||||
syncSelectedUnits();
|
||||
initStockUnitDropdown();
|
||||
});
|
||||
}
|
||||
|
@ -62,9 +60,10 @@ var RepositoryStockColumnType = (function() {
|
|||
return count <= GLOBAL_CONSTANTS.REPOSITORY_STOCK_UNIT_ITEMS_PER_COLUMN;
|
||||
},
|
||||
loadParams: () => {
|
||||
var repositoryColumnParams = {};
|
||||
var options = JSON.parse($(dropdownOptions).val());
|
||||
var decimals = $('.stock-column-type #decimals').val();
|
||||
let repositoryColumnParams = {};
|
||||
syncSelectedUnits();
|
||||
let options = JSON.parse($(dropdownOptions).val());
|
||||
let decimals = $('.stock-column-type #decimals').val();
|
||||
repositoryColumnParams.repository_stock_unit_items_attributes = options;
|
||||
repositoryColumnParams.metadata = { decimals: decimals };
|
||||
return repositoryColumnParams;
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class RepositoryStockValuesController < ApplicationController
|
||||
include RepositoryDatatableHelper # for use of display_cell_value method on stock update
|
||||
|
||||
before_action :load_vars
|
||||
before_action :check_manage_permissions
|
||||
|
||||
|
@ -45,7 +47,10 @@ class RepositoryStockValuesController < ApplicationController
|
|||
)
|
||||
end
|
||||
|
||||
render json: @repository_stock_value
|
||||
render json: {
|
||||
stock_managable: true,
|
||||
stock_status: @repository_stock_value.status
|
||||
}.merge(display_cell_value(@repository_stock_value.repository_cell, current_team, @repository))
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -16,6 +16,8 @@ class RepositoryStockValue < ApplicationRecord
|
|||
validates :repository_cell, presence: true
|
||||
|
||||
after_create do
|
||||
next if is_a?(RepositoryStockConsumptionValue)
|
||||
|
||||
repository_ledger_records.create!(user: created_by,
|
||||
amount: amount,
|
||||
balance: amount,
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
<div class="row mt-3">
|
||||
<div class="col-sm-12">
|
||||
<div class="stock-update-view">
|
||||
<div class="stock-initial-container">
|
||||
<div class="stock-initial-container <%= 'negative' if @stock_value.amount < 0 %>">
|
||||
<span class="subtitle"><%= t('repository_stock_values.manage_modal.current_stock') %></span>
|
||||
<span class="value"><%= @stock_value.formatted_value %></span>
|
||||
<span class="units"><%= @stock_value.repository_stock_unit_item&.data %></span>
|
||||
|
@ -42,7 +42,7 @@
|
|||
<div class="stock-arrow">
|
||||
<i class="fas fa-arrow-right"></i>
|
||||
</div>
|
||||
<div class="stock-final-container">
|
||||
<div class="stock-final-container ">
|
||||
<span class="subtitle"><%= t('repository_stock_values.manage_modal.new_stock') %></span>
|
||||
<span class="value">-</span>
|
||||
<span class="units"><%= @stock_value.repository_stock_unit_item&.data %></span>
|
||||
|
|
Loading…
Add table
Reference in a new issue