added red glow to error rows
This commit is contained in:
parent
37a669f4a1
commit
fe4f7bf17d
|
|
@ -406,28 +406,48 @@ function validate_minimum_asset_value(frm) {
|
||||||
|
|
||||||
// Check Əlavə 1 (column 503.2)
|
// Check Əlavə 1 (column 503.2)
|
||||||
(frm.doc.elave_1 || []).forEach((row, idx) => {
|
(frm.doc.elave_1 || []).forEach((row, idx) => {
|
||||||
let value = row.hesabatiliərzindəəsasvəsaitlərinqalıqdəyəri || 0;
|
let value = row.hesabatiliərzindəəsasvəsaitlərinqalıqdəyəri;
|
||||||
if (value > 0 && value < 500) {
|
|
||||||
|
// Skip if value is null, undefined, or empty
|
||||||
|
if (value === null || value === undefined || value === '') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert to number (handle both comma and dot as decimal separator)
|
||||||
|
let numValue = parseFloat(String(value).replace(',', '.'));
|
||||||
|
|
||||||
|
// Only flag as invalid if: value is a valid number, greater than 0, and less than 500
|
||||||
|
if (!isNaN(numValue) && numValue > 0 && numValue < 500) {
|
||||||
has_error_elave_1 = true;
|
has_error_elave_1 = true;
|
||||||
invalid_rows_1.push({row: idx + 1, value: value, category: row.azadolmasəbəbi});
|
invalid_rows_1.push({name: row.name, value: numValue, category: row.azadolmasəbəbi});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Check Əlavə 2 (column 503.1)
|
// Check Əlavə 2 (column 503.1)
|
||||||
(frm.doc.elave_2 || []).forEach((row, idx) => {
|
(frm.doc.elave_2 || []).forEach((row, idx) => {
|
||||||
let value = row.hesabatilierzindeuçotaalınan || 0;
|
let value = row.hesabatilierzindeuçotaalınan;
|
||||||
if (value > 0 && value < 500) {
|
|
||||||
|
// Skip if value is null, undefined, or empty
|
||||||
|
if (value === null || value === undefined || value === '') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert to number (handle both comma and dot as decimal separator)
|
||||||
|
let numValue = parseFloat(String(value).replace(',', '.'));
|
||||||
|
|
||||||
|
// Only flag as invalid if: value is a valid number, greater than 0, and less than 500
|
||||||
|
if (!isNaN(numValue) && numValue > 0 && numValue < 500) {
|
||||||
has_error_elave_2 = true;
|
has_error_elave_2 = true;
|
||||||
invalid_rows_2.push({row: idx + 1, value: value, category: row.vergiyəcəlbolunanəmlaklarınkateqoriyası});
|
invalid_rows_2.push({name: row.name, value: numValue, category: row.vergiyəcəlbolunanəmlaklarınkateqoriyası});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Debug logging
|
// Debug logging
|
||||||
if (invalid_rows_1.length > 0) {
|
if (invalid_rows_1.length > 0) {
|
||||||
console.log('Əlavə 1 invalid rows:', invalid_rows_1);
|
console.log('Əlavə 1 invalid rows:', invalid_rows_1.map(r => ({name: r.name, value: r.value})));
|
||||||
}
|
}
|
||||||
if (invalid_rows_2.length > 0) {
|
if (invalid_rows_2.length > 0) {
|
||||||
console.log('Əlavə 2 invalid rows:', invalid_rows_2);
|
console.log('Əlavə 2 invalid rows:', invalid_rows_2.map(r => ({name: r.name, value: r.value})));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Highlight invalid cells in red
|
// Highlight invalid cells in red
|
||||||
|
|
@ -528,12 +548,11 @@ function highlight_invalid_cells(frm, invalid_rows_1, invalid_rows_2) {
|
||||||
|
|
||||||
// Highlight Əlavə 1 invalid cells (503.2)
|
// Highlight Əlavə 1 invalid cells (503.2)
|
||||||
if (invalid_rows_1.length > 0) {
|
if (invalid_rows_1.length > 0) {
|
||||||
console.log('Highlighting Əlavə 1 invalid rows:', invalid_rows_1.map(r => r.row));
|
console.log('Highlighting Əlavə 1 invalid rows:', invalid_rows_1.map(r => r.name));
|
||||||
invalid_rows_1.forEach(item => {
|
invalid_rows_1.forEach(item => {
|
||||||
const rowIdx = item.row - 1; // Convert to 0-based data-idx
|
// Use data-name instead of data-idx for accurate row matching
|
||||||
// Target the whole cell container (not just .static-area)
|
const $cell = $(`[data-fieldname="elave_1"] .grid-row[data-name="${item.name}"] [data-fieldname="hesabatiliərzindəəsasvəsaitlərinqalıqdəyəri"]`);
|
||||||
const $cell = $(`[data-fieldname="elave_1"] .grid-row[data-idx="${rowIdx}"] [data-fieldname="hesabatiliərzindəəsasvəsaitlərinqalıqdəyəri"]`);
|
console.log(` Row ${item.name}: Found ${$cell.length} elements`);
|
||||||
console.log(` Row ${item.row} (data-idx=${rowIdx}): Found ${$cell.length} elements`);
|
|
||||||
if ($cell.length > 0) {
|
if ($cell.length > 0) {
|
||||||
$cell.css({
|
$cell.css({
|
||||||
'background-color': '#ffe6e6',
|
'background-color': '#ffe6e6',
|
||||||
|
|
@ -545,12 +564,11 @@ function highlight_invalid_cells(frm, invalid_rows_1, invalid_rows_2) {
|
||||||
|
|
||||||
// Highlight Əlavə 2 invalid cells (503.1)
|
// Highlight Əlavə 2 invalid cells (503.1)
|
||||||
if (invalid_rows_2.length > 0) {
|
if (invalid_rows_2.length > 0) {
|
||||||
console.log('Highlighting Əlavə 2 invalid rows:', invalid_rows_2.map(r => r.row));
|
console.log('Highlighting Əlavə 2 invalid rows:', invalid_rows_2.map(r => r.name));
|
||||||
invalid_rows_2.forEach(item => {
|
invalid_rows_2.forEach(item => {
|
||||||
const rowIdx = item.row - 1; // Convert to 0-based data-idx
|
// Use data-name instead of data-idx for accurate row matching
|
||||||
// Target the whole cell container (not just .static-area)
|
const $cell = $(`[data-fieldname="elave_2"] .grid-row[data-name="${item.name}"] [data-fieldname="hesabatilierzindeuçotaalınan"]`);
|
||||||
const $cell = $(`[data-fieldname="elave_2"] .grid-row[data-idx="${rowIdx}"] [data-fieldname="hesabatilierzindeuçotaalınan"]`);
|
console.log(` Row ${item.name}: Found ${$cell.length} elements`);
|
||||||
console.log(` Row ${item.row} (data-idx=${rowIdx}): Found ${$cell.length} elements`);
|
|
||||||
if ($cell.length > 0) {
|
if ($cell.length > 0) {
|
||||||
$cell.css({
|
$cell.css({
|
||||||
'background-color': '#ffe6e6',
|
'background-color': '#ffe6e6',
|
||||||
|
|
@ -586,6 +604,7 @@ frappe.ui.form.on('Property tax return Elave 2', {
|
||||||
hesabatilierzindeuçotaalınan: function(frm, cdt, cdn) {
|
hesabatilierzindeuçotaalınan: function(frm, cdt, cdn) {
|
||||||
calculate_binalar_totals(frm);
|
calculate_binalar_totals(frm);
|
||||||
calculate_elave_2_totals(frm);
|
calculate_elave_2_totals(frm);
|
||||||
|
validate_minimum_asset_value(frm);
|
||||||
},
|
},
|
||||||
hesabatilinsonunaəsasvəsaitlərinqalıqdəyəri: function(frm, cdt, cdn) {
|
hesabatilinsonunaəsasvəsaitlərinqalıqdəyəri: function(frm, cdt, cdn) {
|
||||||
calculate_binalar_totals(frm);
|
calculate_binalar_totals(frm);
|
||||||
|
|
@ -619,6 +638,7 @@ frappe.ui.form.on('Property tax return Elave 1', {
|
||||||
},
|
},
|
||||||
hesabatiližrzindəəsasvəsaitlərinqalıqdəyəri: function(frm, cdt, cdn) {
|
hesabatiližrzindəəsasvəsaitlərinqalıqdəyəri: function(frm, cdt, cdn) {
|
||||||
calculate_elave_1_totals(frm);
|
calculate_elave_1_totals(frm);
|
||||||
|
validate_minimum_asset_value(frm);
|
||||||
},
|
},
|
||||||
ilinsonunaəsasvəsaitlərinqalıqdəyəri: function(frm, cdt, cdn) {
|
ilinsonunaəsasvəsaitlərinqalıqdəyəri: function(frm, cdt, cdn) {
|
||||||
calculate_elave_1_totals(frm);
|
calculate_elave_1_totals(frm);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue