added hide/show fields in property tax return
This commit is contained in:
parent
ce0305e21e
commit
d396b431ff
|
|
@ -36,6 +36,11 @@ frappe.ui.form.on('Property tax return', {
|
||||||
// Toggle field readonly based on il_erzinde checkbox
|
// Toggle field readonly based on il_erzinde checkbox
|
||||||
toggle_field_readonly(frm);
|
toggle_field_readonly(frm);
|
||||||
|
|
||||||
|
// Apply conditional table logic after client scripts have populated tables
|
||||||
|
setTimeout(() => {
|
||||||
|
apply_conditional_table_logic(frm);
|
||||||
|
}, 100);
|
||||||
|
|
||||||
// Calculate binalar totals on load
|
// Calculate binalar totals on load
|
||||||
calculate_binalar_totals(frm);
|
calculate_binalar_totals(frm);
|
||||||
|
|
||||||
|
|
@ -60,6 +65,9 @@ frappe.ui.form.on('Property tax return', {
|
||||||
frm.set_value('il_erzinde', 0);
|
frm.set_value('il_erzinde', 0);
|
||||||
toggle_field_readonly(frm);
|
toggle_field_readonly(frm);
|
||||||
|
|
||||||
|
// Apply conditional logic when switching to tam_il
|
||||||
|
apply_conditional_table_logic(frm);
|
||||||
|
|
||||||
// Clear warnings when switching to tam_il
|
// Clear warnings when switching to tam_il
|
||||||
validate_minimum_asset_value(frm);
|
validate_minimum_asset_value(frm);
|
||||||
|
|
||||||
|
|
@ -77,6 +85,9 @@ frappe.ui.form.on('Property tax return', {
|
||||||
frm.set_value('tam_il', 0);
|
frm.set_value('tam_il', 0);
|
||||||
toggle_field_readonly(frm);
|
toggle_field_readonly(frm);
|
||||||
|
|
||||||
|
// Apply conditional logic when switching to il_erzinde
|
||||||
|
apply_conditional_table_logic(frm);
|
||||||
|
|
||||||
// Validate when checking il_erzinde
|
// Validate when checking il_erzinde
|
||||||
validate_minimum_asset_value(frm);
|
validate_minimum_asset_value(frm);
|
||||||
|
|
||||||
|
|
@ -127,6 +138,113 @@ function toggle_field_readonly(frm) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ==================== CONDITIONAL TABLE VISIBILITY AND FILTERING ====================
|
||||||
|
// Show/hide tables and filter rows based on tam_il vs il_erzinde selection
|
||||||
|
|
||||||
|
function apply_conditional_table_logic(frm) {
|
||||||
|
const is_tam_il = frm.doc.tam_il;
|
||||||
|
const is_il_erzinde = frm.doc.il_erzinde;
|
||||||
|
|
||||||
|
toggle_vergi_hesab_1ci_tables(frm, is_tam_il, is_il_erzinde);
|
||||||
|
filter_vergi_hesab_5ci_rows(frm, is_tam_il, is_il_erzinde);
|
||||||
|
filter_vergi_hesab_6ci_rows(frm, is_tam_il, is_il_erzinde);
|
||||||
|
}
|
||||||
|
|
||||||
|
function toggle_vergi_hesab_1ci_tables(frm, is_tam_il, is_il_erzinde) {
|
||||||
|
// Hide vergi_hesab_1ci if il_erzinde is checked
|
||||||
|
frm.set_df_property('vergi_hesab_1ci', 'hidden', is_il_erzinde ? 1 : 0);
|
||||||
|
|
||||||
|
// Hide vergi_hesab_1ci_1 if tam_il is checked
|
||||||
|
frm.set_df_property('vergi_hesab_1ci_1', 'hidden', is_tam_il ? 1 : 0);
|
||||||
|
|
||||||
|
frm.refresh_field('vergi_hesab_1ci');
|
||||||
|
frm.refresh_field('vergi_hesab_1ci_1');
|
||||||
|
}
|
||||||
|
|
||||||
|
function filter_vergi_hesab_5ci_rows(frm, is_tam_il, is_il_erzinde) {
|
||||||
|
// Initialize global storage for saved values
|
||||||
|
if (!window.property_tax_saved_values) {
|
||||||
|
window.property_tax_saved_values = {
|
||||||
|
vergi_hesab_5ci: {},
|
||||||
|
vergi_hesab_6ci: {}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save current values before clearing
|
||||||
|
(frm.doc.vergi_hesab_5ci || []).forEach(row => {
|
||||||
|
if (row.göstəricilər) {
|
||||||
|
window.property_tax_saved_values.vergi_hesab_5ci[row.göstəricilər] = row.manatla || 0;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Define which rows should exist for current mode
|
||||||
|
let required_rows = [];
|
||||||
|
if (is_tam_il) {
|
||||||
|
required_rows = [
|
||||||
|
'509.1 Vergi ödəyicisi il ərzində tam fəaliyyət göstərdiyi halda:',
|
||||||
|
'510 Vergi məcəlləsinin 199.21-ci maddəsinə əsasən azaldılmalı əmlak vergisinin məbləği'
|
||||||
|
];
|
||||||
|
} else if (is_il_erzinde) {
|
||||||
|
required_rows = [
|
||||||
|
'509.2 Hesabat ili ərzində yaradıldığı (uçota alındığı) və ya əmlak vergisi ödəyicisi olduğu halda:',
|
||||||
|
'510 Vergi məcəlləsinin 199.21-ci maddəsinə əsasən azaldılmalı əmlak vergisinin məbləği'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear table and recreate with required rows
|
||||||
|
frm.clear_table('vergi_hesab_5ci');
|
||||||
|
required_rows.forEach(row_text => {
|
||||||
|
let new_row = frm.add_child('vergi_hesab_5ci');
|
||||||
|
new_row.göstəricilər = row_text;
|
||||||
|
// Restore saved value if exists, otherwise 0
|
||||||
|
new_row.manatla = window.property_tax_saved_values.vergi_hesab_5ci[row_text] || 0;
|
||||||
|
});
|
||||||
|
|
||||||
|
frm.refresh_field('vergi_hesab_5ci');
|
||||||
|
}
|
||||||
|
|
||||||
|
function filter_vergi_hesab_6ci_rows(frm, is_tam_il, is_il_erzinde) {
|
||||||
|
// Initialize global storage for saved values (if not already done)
|
||||||
|
if (!window.property_tax_saved_values) {
|
||||||
|
window.property_tax_saved_values = {
|
||||||
|
vergi_hesab_5ci: {},
|
||||||
|
vergi_hesab_6ci: {}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save current values before clearing
|
||||||
|
(frm.doc.vergi_hesab_6ci || []).forEach(row => {
|
||||||
|
if (row.göstəricilər) {
|
||||||
|
window.property_tax_saved_values.vergi_hesab_6ci[row.göstəricilər] = row.manatla || 0;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Define which rows should exist for current mode
|
||||||
|
let required_rows = [];
|
||||||
|
if (is_tam_il) {
|
||||||
|
required_rows = [
|
||||||
|
'511.1 Müəssisə il ərzində tam fəaliyyət göstərdiyi halda'
|
||||||
|
];
|
||||||
|
} else if (is_il_erzinde) {
|
||||||
|
required_rows = [
|
||||||
|
'511.2 Müəssisə il ərzində yarandığı halda'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear table and recreate with required rows
|
||||||
|
frm.clear_table('vergi_hesab_6ci');
|
||||||
|
required_rows.forEach(row_text => {
|
||||||
|
let new_row = frm.add_child('vergi_hesab_6ci');
|
||||||
|
new_row.göstəricilər = row_text;
|
||||||
|
// Restore saved value if exists, otherwise 0
|
||||||
|
new_row.manatla = window.property_tax_saved_values.vergi_hesab_6ci[row_text] || 0;
|
||||||
|
});
|
||||||
|
|
||||||
|
frm.refresh_field('vergi_hesab_6ci');
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==================== END CONDITIONAL LOGIC ====================
|
||||||
|
|
||||||
function calculate_binalar_totals(frm) {
|
function calculate_binalar_totals(frm) {
|
||||||
if (!frm.doc.elave_2 || !frm.doc.elave_2.length) {
|
if (!frm.doc.elave_2 || !frm.doc.elave_2.length) {
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue