added eqm codes to items and etaxes items

This commit is contained in:
Ali 2025-09-23 20:06:59 +04:00
parent 591350a556
commit 7fff108480
9 changed files with 122 additions and 22 deletions

View File

@ -0,0 +1,8 @@
// Copyright (c) 2025, Jey Soft and contributors
// For license information, please see license.txt
// frappe.ui.form.on("EQM Codes", {
// refresh(frm) {
// },
// });

View File

@ -0,0 +1,47 @@
{
"actions": [],
"allow_import": 1,
"allow_rename": 1,
"autoname": "prompt",
"creation": "2025-09-22 14:57:43.063728",
"doctype": "DocType",
"engine": "InnoDB",
"field_order": [
"eqm_name"
],
"fields": [
{
"fieldname": "eqm_name",
"fieldtype": "Text",
"label": "EQM Name"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2025-09-22 15:05:05.071421",
"modified_by": "Administrator",
"module": "Taxes Az",
"name": "EQM Codes",
"naming_rule": "Set by user",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"search_fields": "eqm_name",
"show_title_field_in_link": 1,
"sort_field": "creation",
"sort_order": "DESC",
"states": [],
"title_field": "eqm_name"
}

View File

@ -0,0 +1,9 @@
# Copyright (c) 2025, Jey Soft and contributors
# For license information, please see license.txt
# import frappe
from frappe.model.document import Document
class EQMCodes(Document):
pass

View File

@ -0,0 +1,30 @@
# Copyright (c) 2025, Jey Soft and Contributors
# See license.txt
# import frappe
from frappe.tests import IntegrationTestCase, UnitTestCase
# On IntegrationTestCase, the doctype test records and all
# link-field test record depdendencies are recursively loaded
# Use these module variables to add/remove to/from that list
EXTRA_TEST_RECORD_DEPENDENCIES = [] # eg. ["User"]
IGNORE_TEST_RECORD_DEPENDENCIES = [] # eg. ["User"]
class UnitTestEQMCodes(UnitTestCase):
"""
Unit tests for EQMCodes.
Use this class for testing individual functions and methods.
"""
pass
class IntegrationTestEQMCodes(IntegrationTestCase):
"""
Integration tests for EQMCodes.
Use this class for testing interactions between multiple components.
"""
pass

View File

@ -333,7 +333,7 @@ function group_summary_by_asset_category(summary) {
function get_asset_types_list() { function get_asset_types_list() {
return [ return [
{short_name: "Binalar və Qurğular", full_name: "Binalar, tikililər və qurğular"}, // {short_name: "Binalar və Qurğular", full_name: "Binalar, tikililər və qurğular"},
{short_name: "Çoxmərtəbəli Binaları", full_name: "Çoxmərtəbəli (çoxmənzilli) yaşayış binalar"}, {short_name: "Çoxmərtəbəli Binaları", full_name: "Çoxmərtəbəli (çoxmənzilli) yaşayış binalar"},
{short_name: "Qeyri-yaşayış Binaları", full_name: "Qeyri-yaşayış binaları (sahələri)"}, {short_name: "Qeyri-yaşayış Binaları", full_name: "Qeyri-yaşayış binaları (sahələri)"},
{short_name: "Əmlak Kompleksləri", full_name: "Əmlak kompleksi kimi müəssisələr"}, {short_name: "Əmlak Kompleksləri", full_name: "Əmlak kompleksi kimi müəssisələr"},
@ -353,9 +353,10 @@ function get_field_key_js(asset_type) {
return "unknown"; return "unknown";
} }
if (asset_type.includes("Binalar, tikililər və qurğular")) { // if (asset_type.includes("Binalar, tikililər və qurğular")) {
return "buildings_structures_facilities"; // return "buildings_structures_facilities";
} else if (asset_type.includes("Çoxmərtəbəli") && asset_type.includes("yaşayış binalar")) { // } else
if (asset_type.includes("Çoxmərtəbəli") && asset_type.includes("yaşayış binalar")) {
return "multi_story_residential"; return "multi_story_residential";
} else if (asset_type.includes("Qeyri-yaşayış binaları")) { } else if (asset_type.includes("Qeyri-yaşayış binaları")) {
return "non_residential_buildings"; return "non_residential_buildings";

View File

@ -79,7 +79,7 @@ def get_data(filters):
def get_taxable_asset_types_list(): def get_taxable_asset_types_list():
"""Возвращает список всех типов taxable assets""" """Возвращает список всех типов taxable assets"""
return [ return [
"Binalar, tikililər və qurğular", # "Binalar, tikililər və qurğular",
"Çoxmərtəbəli (çoxmənzilli) yaşayış binalar", "Çoxmərtəbəli (çoxmənzilli) yaşayış binalar",
"Qeyri-yaşayış binaları (sahələri)", "Qeyri-yaşayış binaları (sahələri)",
"Əmlak kompleksi kimi müəssisələr", "Əmlak kompleksi kimi müəssisələr",
@ -99,9 +99,10 @@ def get_field_key(asset_type):
return "unknown" return "unknown"
# Создаем ключи для каждого типа актива # Создаем ключи для каждого типа актива
if "Binalar, tikililər və qurğular" in asset_type: # if "Binalar, tikililər və qurğular" in asset_type:
return "buildings_structures_facilities" # return "buildings_structures_facilities"
elif "Çoxmərtəbəli" in asset_type and "yaşayış binalar" in asset_type: # el
if "Çoxmərtəbəli" in asset_type and "yaşayış binalar" in asset_type:
return "multi_story_residential" return "multi_story_residential"
elif "Qeyri-yaşayış binaları" in asset_type: elif "Qeyri-yaşayış binaları" in asset_type:
return "non_residential_buildings" return "non_residential_buildings"
@ -346,9 +347,10 @@ def get_columns(filters):
def get_short_asset_type_name(asset_type): def get_short_asset_type_name(asset_type):
"""Создает короткое название для заголовка колонки""" """Создает короткое название для заголовка колонки"""
if "Binalar, tikililər və qurğular" in asset_type: # if "Binalar, tikililər və qurğular" in asset_type:
return "Binalar və Qurğular" # return "Binalar və Qurğular"
elif "Çoxmərtəbəli" in asset_type and "yaşayış binalar" in asset_type: # el
if "Çoxmərtəbəli" in asset_type and "yaşayış binalar" in asset_type:
return "Çoxmərtəbəli Binaları" return "Çoxmərtəbəli Binaları"
elif "Qeyri-yaşayış binaları" in asset_type: elif "Qeyri-yaşayış binaları" in asset_type:
return "Qeyri-yaşayış Binaları" return "Qeyri-yaşayış Binaları"

View File

@ -285,7 +285,7 @@ function group_summary_by_asset_category(summary) {
function get_asset_types_list() { function get_asset_types_list() {
return [ return [
{short_name: "Buildings & Structures", full_name: "Binalar, tikililər və qurğular"}, // {short_name: "Buildings & Structures", full_name: "Binalar, tikililər və qurğular"},
{short_name: "Multi-Story Residential", full_name: "Çoxmərtəbəli (çoxmənzilli) yaşayış binalar"}, {short_name: "Multi-Story Residential", full_name: "Çoxmərtəbəli (çoxmənzilli) yaşayış binalar"},
{short_name: "Non-Residential Buildings", full_name: "Qeyri-yaşayış binaları (sahələri)"}, {short_name: "Non-Residential Buildings", full_name: "Qeyri-yaşayış binaları (sahələri)"},
{short_name: "Property Complex Enterprises", full_name: "Əmlak kompleksi kimi müəssisələr"}, {short_name: "Property Complex Enterprises", full_name: "Əmlak kompleksi kimi müəssisələr"},
@ -305,9 +305,10 @@ function get_field_key_js(asset_type) {
return "unknown"; return "unknown";
} }
if (asset_type.includes("Binalar, tikililər və qurğular")) { // if (asset_type.includes("Binalar, tikililər və qurğular")) {
return "buildings_structures_facilities"; // return "buildings_structures_facilities";
} else if (asset_type.includes("Çoxmərtəbəli") && asset_type.includes("yaşayış binalar")) { // } else
if (asset_type.includes("Çoxmərtəbəli") && asset_type.includes("yaşayış binalar")) {
return "multi_story_residential"; return "multi_story_residential";
} else if (asset_type.includes("Qeyri-yaşayış binaları")) { } else if (asset_type.includes("Qeyri-yaşayış binaları")) {
return "non_residential_buildings"; return "non_residential_buildings";

View File

@ -79,7 +79,7 @@ def get_data(filters):
def get_taxable_asset_types_list(): def get_taxable_asset_types_list():
"""Возвращает список всех типов taxable assets""" """Возвращает список всех типов taxable assets"""
return [ return [
"Binalar, tikililər və qurğular", # "Binalar, tikililər və qurğular",
"Çoxmərtəbəli (çoxmənzilli) yaşayış binalar", "Çoxmərtəbəli (çoxmənzilli) yaşayış binalar",
"Qeyri-yaşayış binaları (sahələri)", "Qeyri-yaşayış binaları (sahələri)",
"Əmlak kompleksi kimi müəssisələr", "Əmlak kompleksi kimi müəssisələr",
@ -99,9 +99,10 @@ def get_field_key(asset_type):
return "unknown" return "unknown"
# Создаем ключи для каждого типа актива # Создаем ключи для каждого типа актива
if "Binalar, tikililər və qurğular" in asset_type: # if "Binalar, tikililər və qurğular" in asset_type:
return "buildings_structures_facilities" # return "buildings_structures_facilities"
elif "Çoxmərtəbəli" in asset_type and "yaşayış binalar" in asset_type: # el
if "Çoxmərtəbəli" in asset_type and "yaşayış binalar" in asset_type:
return "multi_story_residential" return "multi_story_residential"
elif "Qeyri-yaşayış binaları" in asset_type: elif "Qeyri-yaşayış binaları" in asset_type:
return "non_residential_buildings" return "non_residential_buildings"
@ -346,9 +347,10 @@ def get_columns(filters):
def get_short_asset_type_name(asset_type): def get_short_asset_type_name(asset_type):
"""Создает короткое название для заголовка колонки""" """Создает короткое название для заголовка колонки"""
if "Binalar, tikililər və qurğular" in asset_type: # if "Binalar, tikililər və qurğular" in asset_type:
return "Binalar və Qurğular" # return "Binalar və Qurğular"
elif "Çoxmərtəbəli" in asset_type and "yaşayış binalar" in asset_type: # el
if "Çoxmərtəbəli" in asset_type and "yaşayış binalar" in asset_type:
return "Çoxmərtəbəli Binaları" return "Çoxmərtəbəli Binaları"
elif "Qeyri-yaşayış binaları" in asset_type: elif "Qeyri-yaşayış binaları" in asset_type:
return "Qeyri-yaşayış Binaları" return "Qeyri-yaşayış Binaları"