forked from Akshay-Arijentek/Gold-Erp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhooks.py
More file actions
122 lines (110 loc) · 3.94 KB
/
Copy pathhooks.py
File metadata and controls
122 lines (110 loc) · 3.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
app_name = "zevar_core"
app_title = "Unified Retail Management System"
app_publisher = "Zevar"
app_description = "A centralized solution for POS operations, real-time inventory management, dynamic pricing, and CRM for Zevar Jewelery."
app_email = "akshay@arijentek.com"
app_license = "mit"
app_logo_url = "/assets/zevar_core/images/pos_logo.svg"
splash_image = "/assets/zevar_core/images/pos_logo.svg"
# Default homepage — redirect all logged-in users to POS dashboard
home_page = "pos"
# NOTE: add_to_apps_screen only supports ONE entry per app.
# Multiple entries for the same app are ignored (only first is used).
# For additional desk shortcuts, use Desktop Icons (imported via install.py).
add_to_apps_screen = [
{
"name": "zevar_pos",
"logo": "/assets/zevar_core/images/pos_logo.svg",
"title": "Zevar POS",
"route": "/pos",
},
{
"name": "zevar_employee_portal",
"logo": "/assets/zevar_core/images/employee_portal_logo.svg",
"title": "Employee Portal",
"route": "/employee-portal",
},
]
boot_session = "zevar_core.api.desk.boot_session"
app_include_js = ["/assets/zevar_core/js/desk_customization.js"]
app_include_css = ["/assets/zevar_core/css/desk.css"]
# Jinja
jinja = {"methods": ["zevar_core.utils.assets.get_frontend_asset"]}
# Routing
website_route_rules = [
{"from_route": "/employee-portal/<path:app_path>", "to_route": "employee-portal"},
{"from_route": "/pos/<path:app_path>", "to_route": "pos"},
{"from_route": "/catalogues/<path:app_path>", "to_route": "catalogues"},
{"from_route": "/zevar-desk", "to_route": "zevar-desk"},
{"from_route": "/zevar-desk/<path:app_path>", "to_route": "zevar-desk"},
]
# Fixtures
fixtures = ["Item Attribute", "Custom Field", "Property Setter"]
# Document Events
doc_events = {
"Item": {
"validate": "zevar_core.item_events.calculate_net_weight_g",
"on_update": "zevar_core.rag.hooks.doc_events.on_item_update",
"on_trash": "zevar_core.rag.hooks.doc_events.on_item_trash",
},
"Sales Invoice": {
"validate": [
"zevar_core.tax_events.apply_store_tax",
"zevar_core.trade_in_events.validate_trade_in_2x_rule",
],
"on_submit": [
"zevar_core.api.commission.calculate_commissions",
"zevar_core.api.performance.log_sale_event",
],
"on_cancel": ["zevar_core.api.performance.log_sale_cancel_event"],
},
"Customer": {
"on_update": "zevar_core.rag.hooks.doc_events.on_customer_update",
},
"RAG Knowledge Article": {
"on_update": "zevar_core.rag.hooks.doc_events.on_article_update",
"on_trash": "zevar_core.rag.hooks.doc_events.on_article_trash",
},
"Layaway Contract": {
"on_submit": ["zevar_core.api.performance.log_layaway_event"],
},
"Repair Order": {
"on_submit": ["zevar_core.api.performance.log_repair_event"],
},
"Attendance": {
"on_submit": ["zevar_core.api.performance.log_attendance_event"],
},
}
# Scheduler events
scheduler_events = {
"cron": {
"*/15 * * * *": ["zevar_core.tasks.fetch_live_gold_rate"],
"0 2 * * *": ["zevar_core.rag.hooks.scheduler.reconcile_indexes"],
"0 2 1 1,4,7,10 *": ["zevar_core.api.performance.generate_quarterly_reviews"],
}
}
# Installation hooks
after_install = [
"zevar_core.install.create_required_modes_of_payment",
"zevar_core.install.import_desktop_icons",
"zevar_core.install.import_workspaces",
"zevar_core.install.create_default_desk_shortcuts",
"zevar_core.install.create_repair_order_workflow",
"zevar_core.install.ensure_required_roles",
]
# Run after migrate to ensure desktop icons and shortcuts are imported
after_migrate = [
"zevar_core.install.import_desktop_icons",
"zevar_core.install.import_workspaces",
"zevar_core.install.create_default_desk_shortcuts",
"zevar_core.install.create_repair_order_workflow",
"zevar_core.install.ensure_required_roles",
]
# Bench Commands
bench_commands = [
"zevar_core.migration.commands.import_legacy_data",
"zevar_core.migration.commands.show_mapping_info",
"zevar_core.rag.commands.build_rag_index",
"zevar_core.rag.commands.rag_stats",
"zevar_core.rag.commands.build_dev_index",
]