Merge pull request #43703 from khushi8112/update-depreciation-checkbox-to-select

chore: use selectbox instead of checkbox
This commit is contained in:
Khushi Rawat
2024-10-21 13:47:09 +05:30
committed by GitHub
4 changed files with 29 additions and 15 deletions

View File

@@ -55,7 +55,7 @@
"post_change_gl_entries",
"assets_tab",
"asset_settings_section",
"calculate_depr_using_total_days",
"calculate_daily_depreciation_using",
"column_break_gjcc",
"book_asset_depreciation_entry_automatically",
"closing_settings_tab",
@@ -471,13 +471,6 @@
"fieldname": "column_break_gjcc",
"fieldtype": "Column Break"
},
{
"default": "0",
"description": "Enable this option to calculate daily depreciation by considering the total number of days in the entire depreciation period, (including leap years) while using daily pro-rata based depreciation",
"fieldname": "calculate_depr_using_total_days",
"fieldtype": "Check",
"label": "Calculate daily depreciation using total days in depreciation period"
},
{
"description": "Payment Request created from Sales Order or Purchase Order will be in Draft status. When disabled document will be in unsaved state.",
"fieldname": "payment_request_settings",
@@ -489,6 +482,14 @@
"fieldname": "create_pr_in_draft_status",
"fieldtype": "Check",
"label": "Create in Draft Status"
},
{
"default": "Total years in depreciation period",
"description": "This field lets you select your preferred method for calculating pro rata depreciation. Each approach has different implication. For detailed explanations, please refer to the <a href=\"https://docs.erpnext.com/docs/user/manual/en/pro-rata-based-depreciation-for-slm\" target=\"_blank\"><u>Documentation</u></a>.",
"fieldname": "calculate_daily_depreciation_using",
"fieldtype": "Select",
"label": "Calculate Daily Pro-rata Depreciation Using",
"options": "Total days in depreciation period\nTotal years in depreciation period"
}
],
"icon": "icon-cog",
@@ -496,7 +497,7 @@
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],
"modified": "2024-07-26 06:48:52.714630",
"modified": "2024-10-21 04:29:02.556355",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Accounts Settings",

View File

@@ -33,7 +33,9 @@ class AccountsSettings(Document):
book_deferred_entries_based_on: DF.Literal["Days", "Months"]
book_deferred_entries_via_journal_entry: DF.Check
book_tax_discount_loss: DF.Check
calculate_depr_using_total_days: DF.Check
calculate_daily_depreciation_using: DF.Literal[
"Total days in depreciation period", "Total years in depreciation period"
]
check_supplier_invoice_uniqueness: DF.Check
create_pr_in_draft_status: DF.Check
credit_controller: DF.Link | None

View File

@@ -724,7 +724,10 @@ def get_daily_prorata_based_straight_line_depr(
def get_daily_depr_amount(asset, row, schedule_idx, amount):
if cint(frappe.db.get_single_value("Accounts Settings", "calculate_depr_using_total_days")):
if (
frappe.db.get_single_value("Accounts Settings", "calculate_daily_depreciation_using")
== "Total days in depreciation period"
):
total_days = (
date_diff(
get_last_day(

View File

@@ -85,7 +85,9 @@ class TestAssetDepreciationSchedule(IntegrationTestCase):
self.assertEqual(schedules, expected_schedules)
def test_schedule_for_slm_for_existing_asset_daily_pro_rata_enabled(self):
frappe.db.set_single_value("Accounts Settings", "calculate_depr_using_total_days", 1)
frappe.db.set_single_value(
"Accounts Settings", "calculate_daily_depreciation_using", "Total days in depreciation period"
)
asset = create_asset(
calculate_depreciation=1,
depreciation_method="Straight Line",
@@ -123,7 +125,9 @@ class TestAssetDepreciationSchedule(IntegrationTestCase):
for d in get_depr_schedule(asset.name, "Draft")
]
self.assertEqual(schedules, expected_schedules)
frappe.db.set_single_value("Accounts Settings", "calculate_depr_using_total_days", 0)
frappe.db.set_single_value(
"Accounts Settings", "calculate_daily_depreciation_using", "Total years in depreciation period"
)
def test_schedule_for_slm_for_existing_asset(self):
asset = create_asset(
@@ -196,7 +200,9 @@ class TestAssetDepreciationSchedule(IntegrationTestCase):
# Enable Checkbox to Calculate depreciation using total days in depreciation period
def test_daily_prorata_based_depr_after_enabling_configuration(self):
frappe.db.set_single_value("Accounts Settings", "calculate_depr_using_total_days", 1)
frappe.db.set_single_value(
"Accounts Settings", "calculate_daily_depreciation_using", "Total days in depreciation period"
)
asset = create_asset(
calculate_depreciation=1,
@@ -254,7 +260,9 @@ class TestAssetDepreciationSchedule(IntegrationTestCase):
for d in get_depr_schedule(asset.name, "Draft")
]
self.assertEqual(schedules, expected_schedule)
frappe.db.set_single_value("Accounts Settings", "calculate_depr_using_total_days", 0)
frappe.db.set_single_value(
"Accounts Settings", "calculate_daily_depreciation_using", "Total years in depreciation period"
)
# Test for Written Down Value Method
# Frequency of deprciation = 3