[2026-05-09 18:38:10] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:38:10"} 
[2026-05-09 18:38:10] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:38:10] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:38:10] production.INFO: User permissions found {"user_id":"1","permissions_count":63,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":55,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":56,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":57,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":58,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":59,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":60,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:38:10] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:38:10] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:38:10] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:38:10] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:38:10] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:38:10] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:38:10] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:38:10] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:38:10] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:38:10] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:38:10] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:38:10] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:38:10] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:38:10] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:38:10] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:38:10] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:38:10] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:10] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:38:10] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:38:10] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:38:12] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:38:12"} 
[2026-05-09 18:38:12] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:38:12] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:38:12] production.INFO: User permissions found {"user_id":"1","permissions_count":63,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":55,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":56,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":57,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":58,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":59,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":60,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:38:12] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:38:12] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:38:12] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:38:12] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:38:12] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:38:12] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:38:12] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:38:12] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:38:12] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:38:12] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:38:12] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:38:12] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:38:12] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:38:12] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:38:12] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:38:12] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:38:12] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:38:12] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:38:12] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:38:12] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:39:40] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-09 18:39:40"} 
[2026-05-09 18:39:40] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:39:40] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:39:40] production.INFO: User permissions found {"user_id":"53","permissions_count":63,"permissions":[{"id":64,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":70,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":77,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":84,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":92,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":96,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":104,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":114,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":115,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":116,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":117,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":118,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":119,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":120,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":121,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:39:40] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:39:40] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:39:40] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:39:40] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:39:40] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:39:40] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:39:40] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:39:40] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:39:40] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:39:40] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:39:40] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:39:40] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:39:40] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:39:40] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:39:40] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:39:40] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:39:40] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:40] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:39:40] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:39:40] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:39:58] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-09 18:39:58"} 
[2026-05-09 18:39:58] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:39:58] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:39:58] production.INFO: User permissions found {"user_id":"53","permissions_count":63,"permissions":[{"id":64,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":70,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":77,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":84,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":92,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":96,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":104,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":114,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":115,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":116,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":117,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":118,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":119,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":120,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":121,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:39:58] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:39:58] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:39:58] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:39:58] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:39:58] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:39:58] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:39:58] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:39:58] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:39:58] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:39:58] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:39:58] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:39:58] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:39:58] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:58] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:39:59] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:39:59] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:39:59] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:39:59] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:39:59] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:39:59] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:39:59] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:40:02] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:40:02"} 
[2026-05-09 18:40:02] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:40:02] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:40:02] production.INFO: User permissions found {"user_id":"1","permissions_count":63,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":55,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":56,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":57,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":58,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":59,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":60,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:40:02] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:40:02] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:40:02] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:40:02] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:40:02] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:40:02] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:40:02] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:40:02] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:40:02] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:40:02] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:40:02] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:40:02] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:40:02] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:40:02] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:40:02] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:40:02] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:40:02] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:40:02] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:40:02] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:40:02] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:41:36] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:41:36"} 
[2026-05-09 18:41:36] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:41:36] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:41:36] production.INFO: User permissions found {"user_id":"1","permissions_count":63,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":55,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":56,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":57,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":58,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":59,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":60,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:41:36] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:41:36] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:41:36] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:41:36] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:41:36] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:41:36] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:41:36] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:41:36] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:41:36] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:41:36] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:41:36] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:41:36] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:41:36] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:41:36] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:41:36] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:41:36] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:41:36] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:41:36] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:41:36] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:41:36] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:48:10] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:48:10"} 
[2026-05-09 18:48:10] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:48:10] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:48:10] production.INFO: User permissions found {"user_id":"1","permissions_count":63,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":55,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":56,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":57,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":58,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":59,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":60,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:48:10] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:48:10] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:48:10] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:48:10] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:48:10] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:48:10] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:48:10] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:48:10] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:48:10] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:48:10] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:48:10] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:48:10] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:48:10] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:48:10] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:48:10] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:48:10] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:48:10] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:10] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:48:10] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:48:10] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:48:22] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:48:22"} 
[2026-05-09 18:48:22] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:48:22] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:48:22] production.INFO: User permissions found {"user_id":"1","permissions_count":63,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":55,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":56,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":57,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":58,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":59,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":60,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:48:22] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:48:22] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:48:22] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:48:22] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:48:22] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:48:22] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:48:22] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:48:22] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:48:22] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:48:22] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:48:22] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:48:22] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:48:22] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:48:22] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:48:22] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:48:22] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:48:22] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:48:22] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:48:22] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:48:22] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:54:26] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:54:26"} 
[2026-05-09 18:54:26] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:54:26] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:54:26] production.INFO: User permissions found {"user_id":"1","permissions_count":63,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":55,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":56,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":57,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":58,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":59,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":60,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:54:26] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:54:26] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:54:26] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:54:26] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:54:26] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:54:26] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:54:26] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:54:26] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:54:26] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:54:26] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:54:26] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:54:26] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:54:26] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:54:26] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:54:26] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:54:26] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:54:26] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:26] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:54:26] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:54:26] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:54:53] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:54:53"} 
[2026-05-09 18:54:53] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:54:53] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:54:53] production.INFO: User permissions found {"user_id":"1","permissions_count":63,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":55,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":56,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":57,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":58,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":59,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":60,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:54:53] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:54:53] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:54:53] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:54:53] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:54:53] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:54:53] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:54:53] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:54:53] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:54:53] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:54:53] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:54:53] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:54:53] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:54:53] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:54:53] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:54:53] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:54:53] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:54:53] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:53] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:54:53] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:54:53] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:54:58] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:54:58"} 
[2026-05-09 18:54:58] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:54:58] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:54:58] production.INFO: User permissions found {"user_id":"1","permissions_count":63,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":55,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":56,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":57,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":58,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":59,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":60,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:54:58] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:54:58] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:54:58] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:54:58] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:54:58] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:54:58] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:54:58] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:54:58] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:54:58] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:54:58] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:54:58] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:54:58] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:54:58] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:54:58] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:54:58] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:54:58] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:54:58] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:54:58] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:54:58] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:54:58] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:55:36] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:55:36"} 
[2026-05-09 18:55:36] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:55:36] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:55:36] production.INFO: User permissions found {"user_id":"1","permissions_count":63,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":55,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":56,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":57,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":58,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":59,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":60,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:55:36] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:55:36] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:55:36] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:55:36] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:55:36] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:55:36] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:55:36] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:55:36] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:55:36] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:55:36] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:55:36] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:55:36] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:55:36] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:55:36] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:55:36] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:55:36] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:55:36] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:36] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:55:36] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:55:36] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:55:44] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:55:44"} 
[2026-05-09 18:55:44] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:55:44] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:55:44] production.INFO: User permissions found {"user_id":"1","permissions_count":63,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":55,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":56,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":57,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":58,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":59,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":60,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:55:44] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:55:44] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:55:44] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:55:44] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:55:44] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:55:44] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:55:44] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:55:44] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:55:44] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:55:44] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:55:44] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:55:44] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:55:44] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:55:44] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:55:44] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:55:44] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:55:44] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:44] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:55:44] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:55:44] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:55:49] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:55:49"} 
[2026-05-09 18:55:49] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:55:49] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":6},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:55:49] production.INFO: User permissions found {"user_id":"1","permissions_count":63,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":55,"module_id":"8","sub_module_id":"46","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":56,"module_id":"8","sub_module_id":"47","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":57,"module_id":"8","sub_module_id":"48","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":58,"module_id":"8","sub_module_id":"49","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":59,"module_id":"8","sub_module_id":"50","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":60,"module_id":"8","sub_module_id":"51","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:55:49] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:55:49] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:55:49] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:55:49] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:55:49] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:55:49] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:55:49] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:55:49] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:55:49] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:55:49] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:55:49] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:55:49] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:55:49] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:55:49] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:55:49] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":46,"submodule_name":"Products","submodule_code":"products","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":47,"submodule_name":"Categories","submodule_code":"categories","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":48,"submodule_name":"Pricing Tiers","submodule_code":"pricing_tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":49,"submodule_name":"Inventory","submodule_code":"inventory","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":50,"submodule_name":"Rentals","submodule_code":"rentals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":51,"submodule_name":"Product Reviews","submodule_code":"reviews","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:55:49] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":6} 
[2026-05-09 18:55:49] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:55:49] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:55:49] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:55:49] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:59:22] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:59:22"} 
[2026-05-09 18:59:22] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:59:22] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:59:22] production.INFO: User permissions found {"user_id":"1","permissions_count":57,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:59:22] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:59:22] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:59:22] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:59:22] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:59:22] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:59:22] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:59:22] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:59:22] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:59:22] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:59:22] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:59:22] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:59:22] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:59:22] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:59:22] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:59:22] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 18:59:22] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:59:22] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 18:59:22] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:22] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:59:22] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:59:22] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 18:59:38] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 18:59:38"} 
[2026-05-09 18:59:38] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 18:59:38] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 18:59:39] production.INFO: User permissions found {"user_id":"1","permissions_count":57,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 18:59:39] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 18:59:39] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 18:59:39] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 18:59:39] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 18:59:39] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 18:59:39] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 18:59:39] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 18:59:39] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 18:59:39] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 18:59:39] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 18:59:39] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 18:59:39] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 18:59:39] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 18:59:39] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 18:59:39] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 18:59:39] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 18:59:39] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 18:59:39] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 18:59:39] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 18:59:39] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 18:59:39] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:00:00] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 19:00:00"} 
[2026-05-09 19:00:00] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:00:00] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:00:00] production.INFO: User permissions found {"user_id":"1","permissions_count":57,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 19:00:00] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 19:00:00] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:00:00] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 19:00:00] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:00:00] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 19:00:00] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:00:00] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 19:00:00] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:00:00] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 19:00:00] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:00:00] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 19:00:00] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:00:00] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 19:00:00] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:00:00] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:00:00] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 19:00:00] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:00:00] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:00] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 19:00:00] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:00:00] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:00:54] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 19:00:54"} 
[2026-05-09 19:00:54] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:00:54] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:00:54] production.INFO: User permissions found {"user_id":"1","permissions_count":57,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 19:00:54] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 19:00:54] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:00:54] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 19:00:54] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:00:54] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 19:00:54] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:00:54] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 19:00:54] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:00:54] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 19:00:54] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:00:54] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 19:00:54] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:00:54] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 19:00:54] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:00:54] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:00:54] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 19:00:54] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:00:54] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:00:54] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 19:00:54] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:00:54] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:01:11] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-09 19:01:11"} 
[2026-05-09 19:01:11] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:01:11] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:01:11] production.INFO: User permissions found {"user_id":"53","permissions_count":57,"permissions":[{"id":64,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":70,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":77,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":84,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":92,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":96,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":104,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":114,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":121,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 19:01:11] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 19:01:11] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:01:11] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 19:01:11] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:01:11] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 19:01:11] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:01:11] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 19:01:11] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:01:11] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 19:01:11] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:01:11] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 19:01:11] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:01:11] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 19:01:11] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:01:11] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:01:11] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 19:01:11] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:01:11] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:11] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 19:01:11] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:01:11] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:01:24] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-09 19:01:24"} 
[2026-05-09 19:01:24] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:01:24] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:01:24] production.INFO: User permissions found {"user_id":"53","permissions_count":57,"permissions":[{"id":64,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":70,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":77,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":84,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":92,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":96,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":104,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":114,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":121,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 19:01:24] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 19:01:24] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:01:24] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 19:01:24] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:01:24] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 19:01:24] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:01:24] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 19:01:24] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:01:24] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 19:01:24] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:01:24] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 19:01:24] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:01:24] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 19:01:24] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:01:24] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:01:24] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 19:01:24] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:01:24] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:01:24] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 19:01:24] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:01:24] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:04:19] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 19:04:19"} 
[2026-05-09 19:04:19] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:04:19] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:04:19] production.INFO: User permissions found {"user_id":"1","permissions_count":57,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 19:04:19] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 19:04:19] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:04:19] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 19:04:19] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:04:19] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 19:04:19] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:04:19] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 19:04:19] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:04:19] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 19:04:19] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:04:19] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 19:04:19] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:04:19] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 19:04:19] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:04:19] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:04:19] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 19:04:19] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:04:19] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:19] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 19:04:19] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:04:19] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:04:24] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 19:04:24"} 
[2026-05-09 19:04:24] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:04:24] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:04:24] production.INFO: User permissions found {"user_id":"1","permissions_count":57,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 19:04:24] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 19:04:24] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:04:24] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 19:04:24] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:04:24] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 19:04:24] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:04:24] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 19:04:24] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:04:24] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 19:04:24] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:04:24] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 19:04:24] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:04:24] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 19:04:24] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:04:24] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:04:24] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 19:04:24] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:04:24] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:24] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 19:04:24] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:04:24] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:04:32] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-09 19:04:32"} 
[2026-05-09 19:04:32] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:04:32] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:04:32] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":64,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":70,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":77,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":84,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":92,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":96,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":104,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":114,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":121,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 19:04:32] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 19:04:32] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:04:32] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 19:04:32] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:04:32] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 19:04:32] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:04:32] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 19:04:32] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:04:32] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 19:04:32] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:04:32] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 19:04:32] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:04:32] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 19:04:32] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:04:32] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 19:04:32] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:04:32] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:04:32] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 19:04:32] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:04:32] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:05:54] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-09 19:05:54"} 
[2026-05-09 19:05:54] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:05:54] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:05:54] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":64,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":70,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":77,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":84,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":92,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":96,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":104,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":114,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":121,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 19:05:54] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 19:05:54] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:05:54] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 19:05:54] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:05:54] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 19:05:54] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:05:54] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 19:05:54] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:05:54] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 19:05:54] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:05:54] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 19:05:54] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:05:54] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 19:05:54] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:05:54] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 19:05:54] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:05:54] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:54] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 19:05:54] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:05:54] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:05:55] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-09 19:05:55"} 
[2026-05-09 19:05:55] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:05:55] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:05:55] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":64,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":70,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":77,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":84,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":92,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":96,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":104,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":114,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":121,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 19:05:55] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 19:05:55] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:05:55] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 19:05:55] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:05:55] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 19:05:55] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:05:55] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 19:05:55] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:05:55] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 19:05:55] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:05:55] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 19:05:55] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:05:55] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 19:05:55] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:05:55] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 19:05:55] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:05:55] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:05:55] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 19:05:55] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:05:55] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:06:37] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 19:06:37"} 
[2026-05-09 19:06:37] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:06:37] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:06:37] production.INFO: User permissions found {"user_id":"1","permissions_count":57,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 19:06:37] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 19:06:37] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:06:37] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 19:06:37] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:06:37] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 19:06:37] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:06:37] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 19:06:37] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:06:37] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 19:06:37] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:06:37] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 19:06:37] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:06:37] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 19:06:37] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:06:37] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:06:37] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 19:06:37] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:06:37] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:06:37] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 19:06:37] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:06:37] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:08:53] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-09 19:08:53"} 
[2026-05-09 19:08:53] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:08:53] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:08:53] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-09 19:08:53] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:08:53] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:08:53] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:08:53] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:08:53] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:08:53] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:08:53] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:08:53] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:08:53] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:08:53] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:53] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:08:53] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:08:56] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-09 19:08:56"} 
[2026-05-09 19:08:56] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:08:56] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:08:56] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-09 19:08:56] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:08:56] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:08:56] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:08:56] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:08:56] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:08:56] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:08:56] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:08:56] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:08:56] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:08:56] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:08:56] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:08:56] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:09:07] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-09 19:09:07"} 
[2026-05-09 19:09:07] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:09:07] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:09:07] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-09 19:09:07] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:09:07] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:09:07] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:09:07] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:09:07] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:09:07] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:09:07] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:09:07] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:07] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:09:07] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:07] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:09:07] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:09:37] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-09 19:09:37"} 
[2026-05-09 19:09:37] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:09:37] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:09:37] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-09 19:09:37] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:09:37] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:09:37] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:09:37] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:09:37] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:09:37] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:09:37] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:09:37] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:37] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:09:37] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:37] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:09:37] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:09:57] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-09 19:09:57"} 
[2026-05-09 19:09:57] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:09:57] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:09:57] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-09 19:09:57] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:09:57] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:09:57] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:09:57] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:09:57] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:09:57] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:09:57] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:09:57] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-09 19:09:57] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:09:57] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:09:57] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:09:57] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-09 19:26:01] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"1","system_code":"eclipse9","timestamp":"2026-05-09 19:26:01"} 
[2026-05-09 19:26:01] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-09 19:26:01] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-09 19:26:01] production.INFO: User permissions found {"user_id":"1","permissions_count":57,"permissions":[{"id":1,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":2,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":3,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":4,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":5,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":6,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":7,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":8,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":9,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":10,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":11,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":12,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":13,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":14,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":15,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":16,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":17,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":18,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":19,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":20,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":21,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":22,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":23,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":24,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":25,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":26,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":27,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":28,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":29,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":30,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":31,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":32,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":33,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":34,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":35,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":36,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":37,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":38,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":39,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":40,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":41,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":42,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":43,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":44,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":45,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":46,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":47,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":48,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":49,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":50,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":51,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":52,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":53,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":54,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":61,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":62,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":63,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]}]} 
[2026-05-09 19:26:01] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-09 19:26:01] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-09 19:26:01] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-09 19:26:01] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-09 19:26:01] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-09 19:26:01] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-09 19:26:01] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-09 19:26:01] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-09 19:26:01] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-09 19:26:01] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-09 19:26:01] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-09 19:26:01] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-09 19:26:01] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-09 19:26:01] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-09 19:26:01] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-09 19:26:01] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-09 19:26:01] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-09 19:26:01] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-09 19:26:01] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-09 19:26:01] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-09 19:26:01] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-11 14:24:57] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"60","system_code":"eclipse9","timestamp":"2026-05-11 14:24:57"} 
[2026-05-11 14:24:57] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-11 14:24:57] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-11 14:24:57] production.INFO: User permissions found {"user_id":"60","permissions_count":19,"permissions":[{"id":127,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":128,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":129,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":130,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":131,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":132,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":134,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":135,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":136,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":137,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":138,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":133,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":146,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":147,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update"]},{"id":148,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create"]},{"id":149,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":150,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":151,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":139,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-11 14:24:57] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:24:57] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-11 14:24:57] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-11 14:24:57] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-11 14:24:57] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-11 14:24:57] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":3} 
[2026-05-11 14:24:57] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-11 14:24:57] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:24:57] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:24:57] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-11 14:24:57] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":5} 
[2026-05-11 14:24:57] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:24:57] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-11 14:24:57] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-11 14:24:57] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:24:57] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:24:57] production.INFO: === DASHBOARD RESULT === {"modules_count":6,"modules":["Access Control","Finance","Human Resource","Customer Relations","Sales & Contracts","Product Catalog"]} 
[2026-05-11 14:25:03] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"60","system_code":"eclipse9","timestamp":"2026-05-11 14:25:03"} 
[2026-05-11 14:25:03] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-11 14:25:03] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-11 14:25:03] production.INFO: User permissions found {"user_id":"60","permissions_count":19,"permissions":[{"id":127,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":128,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":129,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":130,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":131,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":132,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":134,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":135,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":136,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":137,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":138,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":133,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":146,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":147,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update"]},{"id":148,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create"]},{"id":149,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":150,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":151,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":139,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-11 14:25:03] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:03] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-11 14:25:03] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-11 14:25:03] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-11 14:25:03] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-11 14:25:03] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":3} 
[2026-05-11 14:25:03] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-11 14:25:03] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:25:03] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:03] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-11 14:25:03] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":5} 
[2026-05-11 14:25:03] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:25:03] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-11 14:25:03] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-11 14:25:03] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:03] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:25:03] production.INFO: === DASHBOARD RESULT === {"modules_count":6,"modules":["Access Control","Finance","Human Resource","Customer Relations","Sales & Contracts","Product Catalog"]} 
[2026-05-11 14:25:26] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"60","system_code":"eclipse9","timestamp":"2026-05-11 14:25:26"} 
[2026-05-11 14:25:26] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-11 14:25:26] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-11 14:25:26] production.INFO: User permissions found {"user_id":"60","permissions_count":19,"permissions":[{"id":127,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":128,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":129,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":130,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":131,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":132,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":134,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":135,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":136,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":137,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":138,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":133,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":146,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":147,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update"]},{"id":148,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create"]},{"id":149,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":150,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":151,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":139,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-11 14:25:26] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:26] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-11 14:25:26] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-11 14:25:26] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-11 14:25:26] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-11 14:25:26] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":3} 
[2026-05-11 14:25:26] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-11 14:25:26] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:25:26] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:26] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-11 14:25:26] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":5} 
[2026-05-11 14:25:26] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:25:26] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-11 14:25:26] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-11 14:25:26] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:26] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:25:26] production.INFO: === DASHBOARD RESULT === {"modules_count":6,"modules":["Access Control","Finance","Human Resource","Customer Relations","Sales & Contracts","Product Catalog"]} 
[2026-05-11 14:25:47] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"60","system_code":"eclipse9","timestamp":"2026-05-11 14:25:47"} 
[2026-05-11 14:25:47] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-11 14:25:47] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-11 14:25:47] production.INFO: User permissions found {"user_id":"60","permissions_count":19,"permissions":[{"id":127,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":128,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":129,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":130,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":131,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":132,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":134,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":135,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":136,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":137,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":138,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":133,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":146,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":147,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update"]},{"id":148,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create"]},{"id":149,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":150,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":151,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":139,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-11 14:25:47] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:47] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-11 14:25:47] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-11 14:25:47] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-11 14:25:47] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-11 14:25:47] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":3} 
[2026-05-11 14:25:47] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-11 14:25:47] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:25:47] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:25:47] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-11 14:25:47] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":5} 
[2026-05-11 14:25:47] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:25:47] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-11 14:25:47] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-11 14:25:47] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:25:47] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:25:47] production.INFO: === DASHBOARD RESULT === {"modules_count":6,"modules":["Access Control","Finance","Human Resource","Customer Relations","Sales & Contracts","Product Catalog"]} 
[2026-05-11 14:28:03] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"60","system_code":"eclipse9","timestamp":"2026-05-11 14:28:03"} 
[2026-05-11 14:28:03] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-11 14:28:03] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-11 14:28:03] production.INFO: User permissions found {"user_id":"60","permissions_count":19,"permissions":[{"id":127,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":128,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":129,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":130,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":131,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":132,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":134,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":135,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":136,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":137,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":138,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":133,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":146,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":147,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update"]},{"id":148,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create"]},{"id":149,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":150,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":151,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":139,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-11 14:28:03] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:03] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-11 14:28:03] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-11 14:28:03] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-11 14:28:03] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-11 14:28:03] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":3} 
[2026-05-11 14:28:03] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-11 14:28:03] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:28:03] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:03] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-11 14:28:03] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":5} 
[2026-05-11 14:28:03] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:28:03] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-11 14:28:03] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-11 14:28:03] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:03] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:28:03] production.INFO: === DASHBOARD RESULT === {"modules_count":6,"modules":["Access Control","Finance","Human Resource","Customer Relations","Sales & Contracts","Product Catalog"]} 
[2026-05-11 14:28:09] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"60","system_code":"eclipse9","timestamp":"2026-05-11 14:28:09"} 
[2026-05-11 14:28:09] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-11 14:28:09] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-11 14:28:09] production.INFO: User permissions found {"user_id":"60","permissions_count":19,"permissions":[{"id":127,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":128,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":129,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":130,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":131,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":132,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":134,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":135,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":136,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":137,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":138,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":133,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":146,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":147,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update"]},{"id":148,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create"]},{"id":149,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":150,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":151,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":139,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-11 14:28:09] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:09] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-11 14:28:09] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-11 14:28:09] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-11 14:28:09] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-11 14:28:09] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":3} 
[2026-05-11 14:28:09] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-11 14:28:09] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:28:09] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-11 14:28:09] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-11 14:28:09] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":5} 
[2026-05-11 14:28:09] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:28:09] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-11 14:28:09] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-11 14:28:09] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-11 14:28:09] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-11 14:28:09] production.INFO: === DASHBOARD RESULT === {"modules_count":6,"modules":["Access Control","Finance","Human Resource","Customer Relations","Sales & Contracts","Product Catalog"]} 
[2026-05-12 06:57:14] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 06:57:14"} 
[2026-05-12 06:57:15] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 06:57:15] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 06:57:15] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 06:57:15] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 06:57:15] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 06:57:15] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 06:57:15] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 06:57:15] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 06:57:15] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 06:57:15] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 06:57:15] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:57:15] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 06:57:15] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:15] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 06:57:15] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 06:57:54] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 06:57:54"} 
[2026-05-12 06:57:54] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 06:57:54] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 06:57:54] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 06:57:54] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 06:57:54] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 06:57:54] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 06:57:54] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 06:57:54] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 06:57:54] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 06:57:54] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 06:57:54] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:57:54] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 06:57:54] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:57:54] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 06:57:54] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 06:59:34] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 06:59:34"} 
[2026-05-12 06:59:34] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 06:59:34] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 06:59:34] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 06:59:34] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 06:59:34] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 06:59:34] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 06:59:34] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 06:59:34] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 06:59:34] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 06:59:34] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 06:59:34] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:59:34] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 06:59:34] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:34] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 06:59:34] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 06:59:37] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 06:59:37"} 
[2026-05-12 06:59:37] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 06:59:37] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 06:59:37] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 06:59:37] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 06:59:37] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 06:59:37] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 06:59:37] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 06:59:37] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 06:59:37] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 06:59:37] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 06:59:37] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 06:59:37] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 06:59:37] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 06:59:37] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 06:59:37] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 07:13:25] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"62","system_code":"eclipse9","timestamp":"2026-05-12 07:13:25"} 
[2026-05-12 07:13:25] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 07:13:25] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 07:13:25] production.INFO: User permissions found {"user_id":"62","permissions_count":0,"permissions":[]} 
[2026-05-12 07:13:25] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:13:25] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Module NOT added to result {"module_id":2,"module_name":"Finance","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:13:25] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Module NOT added to result {"module_id":3,"module_name":"Human Resource","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:13:25] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Module NOT added to result {"module_id":4,"module_name":"Customer Relations","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:13:25] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:13:25] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Module NOT added to result {"module_id":6,"module_name":"Sales & Contracts","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:13:25] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:13:25] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Module NOT added to result {"module_id":8,"module_name":"Product Catalog","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:13:25] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:13:25] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:13:25] production.INFO: === DASHBOARD RESULT === {"modules_count":0,"modules":[]} 
[2026-05-12 07:15:03] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"62","system_code":"eclipse9","timestamp":"2026-05-12 07:15:03"} 
[2026-05-12 07:15:03] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 07:15:03] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 07:15:03] production.INFO: User permissions found {"user_id":"62","permissions_count":0,"permissions":[]} 
[2026-05-12 07:15:03] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:03] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Module NOT added to result {"module_id":2,"module_name":"Finance","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:03] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Module NOT added to result {"module_id":3,"module_name":"Human Resource","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:03] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Module NOT added to result {"module_id":4,"module_name":"Customer Relations","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:03] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:03] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Module NOT added to result {"module_id":6,"module_name":"Sales & Contracts","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:03] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:03] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Module NOT added to result {"module_id":8,"module_name":"Product Catalog","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:03] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:03] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:03] production.INFO: === DASHBOARD RESULT === {"modules_count":0,"modules":[]} 
[2026-05-12 07:15:07] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"62","system_code":"eclipse9","timestamp":"2026-05-12 07:15:07"} 
[2026-05-12 07:15:07] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 07:15:07] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 07:15:07] production.INFO: User permissions found {"user_id":"62","permissions_count":0,"permissions":[]} 
[2026-05-12 07:15:07] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:07] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Module NOT added to result {"module_id":2,"module_name":"Finance","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:07] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Module NOT added to result {"module_id":3,"module_name":"Human Resource","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:07] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Module NOT added to result {"module_id":4,"module_name":"Customer Relations","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:07] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:07] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Module NOT added to result {"module_id":6,"module_name":"Sales & Contracts","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:07] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:07] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Module NOT added to result {"module_id":8,"module_name":"Product Catalog","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:07] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:07] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:07] production.INFO: === DASHBOARD RESULT === {"modules_count":0,"modules":[]} 
[2026-05-12 07:15:12] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"62","system_code":"eclipse9","timestamp":"2026-05-12 07:15:12"} 
[2026-05-12 07:15:12] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 07:15:12] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 07:15:12] production.INFO: User permissions found {"user_id":"62","permissions_count":0,"permissions":[]} 
[2026-05-12 07:15:12] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:12] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Module NOT added to result {"module_id":2,"module_name":"Finance","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:12] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Module NOT added to result {"module_id":3,"module_name":"Human Resource","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:12] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Module NOT added to result {"module_id":4,"module_name":"Customer Relations","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:12] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:12] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Module NOT added to result {"module_id":6,"module_name":"Sales & Contracts","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:12] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:12] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Module NOT added to result {"module_id":8,"module_name":"Product Catalog","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:12] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:15:12] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:15:12] production.INFO: === DASHBOARD RESULT === {"modules_count":0,"modules":[]} 
[2026-05-12 07:16:54] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"62","system_code":"eclipse9","timestamp":"2026-05-12 07:16:54"} 
[2026-05-12 07:16:54] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 07:16:54] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 07:16:54] production.INFO: User permissions found {"user_id":"62","permissions_count":0,"permissions":[]} 
[2026-05-12 07:16:54] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:16:54] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Module NOT added to result {"module_id":2,"module_name":"Finance","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:16:54] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Module NOT added to result {"module_id":3,"module_name":"Human Resource","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:16:54] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Module NOT added to result {"module_id":4,"module_name":"Customer Relations","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:16:54] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:16:54] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Module NOT added to result {"module_id":6,"module_name":"Sales & Contracts","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:16:54] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:16:54] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Module NOT added to result {"module_id":8,"module_name":"Product Catalog","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:16:54] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:16:54] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:16:54] production.INFO: === DASHBOARD RESULT === {"modules_count":0,"modules":[]} 
[2026-05-12 07:17:42] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 07:17:42"} 
[2026-05-12 07:17:42] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 07:17:42] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 07:17:42] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 07:17:42] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 07:17:42] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 07:17:42] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 07:17:42] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 07:17:42] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 07:17:42] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 07:17:42] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 07:17:42] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:17:42] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 07:17:42] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:42] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 07:17:42] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 07:17:50] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 07:17:50"} 
[2026-05-12 07:17:50] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 07:17:50] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 07:17:50] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 07:17:50] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 07:17:50] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 07:17:50] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 07:17:50] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 07:17:50] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 07:17:50] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 07:17:50] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 07:17:50] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:17:50] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 07:17:50] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:17:50] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 07:17:50] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 07:20:31] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"62","system_code":"eclipse9","timestamp":"2026-05-12 07:20:31"} 
[2026-05-12 07:20:31] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 07:20:31] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 07:20:31] production.INFO: User permissions found {"user_id":"62","permissions_count":32,"permissions":[{"id":241,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":257,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":258,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":259,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":260,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":261,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":262,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read"]},{"id":263,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read"]},{"id":264,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read"]},{"id":265,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read"]},{"id":242,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":243,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":244,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":245,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":246,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":247,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":248,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":272,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":249,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":250,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":251,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":252,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":253,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":254,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":255,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":256,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":266,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":267,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":268,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":269,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":270,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":271,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 07:20:31] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":1} 
[2026-05-12 07:20:31] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-12 07:20:31] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-12 07:20:31] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":7} 
[2026-05-12 07:20:31] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-12 07:20:31] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 07:20:31] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:20:31] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":1} 
[2026-05-12 07:20:31] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:31] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-12 07:20:31] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 07:20:31] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:31] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-12 07:20:31] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 07:20:31] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:31] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:20:31] production.INFO: === DASHBOARD RESULT === {"modules_count":7,"modules":["Access Control","Finance","Human Resource","Customer Relations","Sales & Contracts","Development & Implementation","Product Catalog"]} 
[2026-05-12 07:20:44] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"62","system_code":"eclipse9","timestamp":"2026-05-12 07:20:44"} 
[2026-05-12 07:20:44] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 07:20:44] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 07:20:44] production.INFO: User permissions found {"user_id":"62","permissions_count":32,"permissions":[{"id":241,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":257,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":258,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":259,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":260,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":261,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":262,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read"]},{"id":263,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read"]},{"id":264,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read"]},{"id":265,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read"]},{"id":242,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":243,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":244,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":245,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":246,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":247,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":248,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":272,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":249,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":250,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":251,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":252,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":253,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":254,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":255,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":256,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":266,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":267,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":268,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":269,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":270,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":271,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 07:20:44] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":1} 
[2026-05-12 07:20:44] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-12 07:20:44] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-12 07:20:44] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":7} 
[2026-05-12 07:20:44] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-12 07:20:44] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 07:20:44] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:20:44] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":1} 
[2026-05-12 07:20:44] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:44] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-12 07:20:44] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 07:20:44] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:44] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-12 07:20:44] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 07:20:44] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:44] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:20:44] production.INFO: === DASHBOARD RESULT === {"modules_count":7,"modules":["Access Control","Finance","Human Resource","Customer Relations","Sales & Contracts","Development & Implementation","Product Catalog"]} 
[2026-05-12 07:20:55] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"62","system_code":"eclipse9","timestamp":"2026-05-12 07:20:55"} 
[2026-05-12 07:20:55] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 07:20:55] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 07:20:55] production.INFO: User permissions found {"user_id":"62","permissions_count":32,"permissions":[{"id":241,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":257,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":258,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":259,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":260,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":261,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":262,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read"]},{"id":263,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read"]},{"id":264,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read"]},{"id":265,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read"]},{"id":242,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":243,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":244,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":245,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":246,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":247,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":248,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":272,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":249,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":250,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":251,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":252,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":253,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":254,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":255,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":256,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":266,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":267,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":268,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":269,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":270,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":271,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 07:20:55] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":1} 
[2026-05-12 07:20:55] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-12 07:20:55] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-12 07:20:55] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":7} 
[2026-05-12 07:20:55] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-12 07:20:55] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 07:20:55] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:20:55] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":1} 
[2026-05-12 07:20:55] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:20:55] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-12 07:20:55] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 07:20:55] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:20:55] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-12 07:20:55] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 07:20:55] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:20:55] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:20:55] production.INFO: === DASHBOARD RESULT === {"modules_count":7,"modules":["Access Control","Finance","Human Resource","Customer Relations","Sales & Contracts","Development & Implementation","Product Catalog"]} 
[2026-05-12 07:26:16] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"62","system_code":"eclipse9","timestamp":"2026-05-12 07:26:16"} 
[2026-05-12 07:26:16] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 07:26:16] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 07:26:16] production.INFO: User permissions found {"user_id":"62","permissions_count":32,"permissions":[{"id":257,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":258,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":259,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":260,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":261,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":262,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read"]},{"id":263,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read"]},{"id":264,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read"]},{"id":265,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read"]},{"id":273,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read"]},{"id":274,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read"]},{"id":242,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":243,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":244,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":245,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":246,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":247,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":248,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":272,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":249,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":250,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":251,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":252,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":253,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":254,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":255,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":256,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":266,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":268,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":269,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":270,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":271,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 07:26:16] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:26:16] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-12 07:26:16] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-12 07:26:16] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 07:26:16] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-12 07:26:16] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 07:26:16] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:26:16] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":1} 
[2026-05-12 07:26:16] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 07:26:16] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-12 07:26:16] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 07:26:16] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 07:26:16] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-12 07:26:16] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":4} 
[2026-05-12 07:26:16] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 07:26:16] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 07:26:16] production.INFO: === DASHBOARD RESULT === {"modules_count":6,"modules":["Finance","Human Resource","Customer Relations","Sales & Contracts","Development & Implementation","Product Catalog"]} 
[2026-05-12 10:09:26] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 10:09:26"} 
[2026-05-12 10:09:26] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 10:09:26] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 10:09:26] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 10:09:26] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 10:09:26] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 10:09:26] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 10:09:26] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 10:09:26] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 10:09:26] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 10:09:26] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 10:09:26] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:26] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 10:09:26] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:26] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 10:09:26] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 10:09:54] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 10:09:54"} 
[2026-05-12 10:09:54] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 10:09:54] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 10:09:54] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 10:09:54] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 10:09:54] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 10:09:54] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 10:09:54] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 10:09:54] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 10:09:54] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 10:09:54] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 10:09:54] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:54] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 10:09:54] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:54] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 10:09:54] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 10:09:57] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 10:09:57"} 
[2026-05-12 10:09:57] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 10:09:57] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 10:09:57] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 10:09:57] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 10:09:57] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 10:09:57] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 10:09:57] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 10:09:57] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 10:09:57] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 10:09:57] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 10:09:57] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:09:57] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 10:09:57] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:09:57] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 10:09:57] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 10:18:51] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 10:18:50"} 
[2026-05-12 10:18:51] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 10:18:51] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 10:18:51] production.INFO: User permissions found {"user_id":"53","permissions_count":53,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-12 10:18:51] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 10:18:51] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 10:18:51] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 10:18:51] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 10:18:51] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 10:18:51] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 10:18:51] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 10:18:51] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-12 10:18:51] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 10:18:51] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 10:18:51] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 10:18:51] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 13:49:19] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 13:49:19"} 
[2026-05-12 13:49:19] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 13:49:19] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 13:49:19] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-12 13:49:19] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-12 13:49:19] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 13:49:19] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-12 13:49:19] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 13:49:19] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-12 13:49:19] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 13:49:19] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-12 13:49:19] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 13:49:19] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-12 13:49:19] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 13:49:19] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-12 13:49:19] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 13:49:19] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-12 13:49:19] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 13:49:19] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-12 13:49:19] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 13:49:19] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:19] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-12 13:49:19] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 13:49:19] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 13:49:50] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 13:49:50"} 
[2026-05-12 13:49:50] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 13:49:50] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 13:49:50] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-12 13:49:50] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-12 13:49:50] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 13:49:50] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-12 13:49:50] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 13:49:50] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-12 13:49:50] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 13:49:50] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-12 13:49:50] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 13:49:50] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-12 13:49:50] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 13:49:50] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-12 13:49:50] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 13:49:50] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-12 13:49:50] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 13:49:50] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-12 13:49:50] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 13:49:50] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 13:49:50] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-12 13:49:50] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 13:49:50] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 14:04:58] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 14:04:58"} 
[2026-05-12 14:04:58] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 14:04:58] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 14:04:58] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-12 14:04:58] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-12 14:04:58] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 14:04:58] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-12 14:04:58] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 14:04:58] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-12 14:04:58] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 14:04:58] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-12 14:04:58] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 14:04:58] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-12 14:04:58] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 14:04:58] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-12 14:04:58] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 14:04:58] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-12 14:04:58] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 14:04:58] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-12 14:04:58] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 14:04:58] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:04:58] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-12 14:04:58] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 14:04:58] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 14:06:55] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 14:06:55"} 
[2026-05-12 14:06:55] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 14:06:55] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 14:06:55] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-12 14:06:55] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-12 14:06:55] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 14:06:55] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-12 14:06:55] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 14:06:55] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-12 14:06:55] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 14:06:55] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-12 14:06:55] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 14:06:55] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-12 14:06:55] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 14:06:55] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-12 14:06:55] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 14:06:55] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-12 14:06:55] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 14:06:55] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-12 14:06:55] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 14:06:55] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:06:55] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-12 14:06:55] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 14:06:55] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 14:07:18] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 14:07:18"} 
[2026-05-12 14:07:18] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 14:07:18] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 14:07:18] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-12 14:07:18] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-12 14:07:18] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 14:07:18] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-12 14:07:18] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 14:07:18] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-12 14:07:18] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 14:07:18] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-12 14:07:18] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 14:07:18] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-12 14:07:18] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 14:07:18] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-12 14:07:18] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 14:07:18] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-12 14:07:18] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 14:07:18] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-12 14:07:18] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 14:07:18] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:07:18] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-12 14:07:18] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 14:07:18] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 14:13:41] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"63","system_code":"eclipse9","timestamp":"2026-05-12 14:13:41"} 
[2026-05-12 14:13:41] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 14:13:41] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 14:13:41] production.INFO: User permissions found {"user_id":"63","permissions_count":0,"permissions":[]} 
[2026-05-12 14:13:41] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:13:41] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Module NOT added to result {"module_id":2,"module_name":"Finance","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:13:41] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Module NOT added to result {"module_id":3,"module_name":"Human Resource","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:13:41] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Module NOT added to result {"module_id":4,"module_name":"Customer Relations","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:13:41] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:13:41] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Module NOT added to result {"module_id":6,"module_name":"Sales & Contracts","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:13:41] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:13:41] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Module NOT added to result {"module_id":8,"module_name":"Product Catalog","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:13:41] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:13:41] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:13:41] production.INFO: === DASHBOARD RESULT === {"modules_count":0,"modules":[]} 
[2026-05-12 14:17:48] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 14:17:48"} 
[2026-05-12 14:17:48] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 14:17:48] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 14:17:48] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-12 14:17:48] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-12 14:17:48] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 14:17:48] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-12 14:17:48] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 14:17:48] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-12 14:17:48] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 14:17:48] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-12 14:17:48] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 14:17:48] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-12 14:17:48] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 14:17:48] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-12 14:17:48] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 14:17:48] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-12 14:17:48] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 14:17:48] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-12 14:17:48] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 14:17:48] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:17:48] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-12 14:17:48] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 14:17:48] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 14:25:03] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-12 14:25:03"} 
[2026-05-12 14:25:04] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 14:25:04] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 14:25:04] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-12 14:25:04] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-12 14:25:04] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-12 14:25:04] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-12 14:25:04] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-12 14:25:04] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-12 14:25:04] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-12 14:25:04] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-12 14:25:04] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-12 14:25:04] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-12 14:25:04] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-12 14:25:04] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-12 14:25:04] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-12 14:25:04] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-12 14:25:04] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-12 14:25:04] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-12 14:25:04] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-12 14:25:04] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-12 14:25:04] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-12 14:25:04] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-12 14:25:04] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-12 14:28:44] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"63","system_code":"eclipse9","timestamp":"2026-05-12 14:28:44"} 
[2026-05-12 14:28:44] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-12 14:28:44] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-12 14:28:44] production.INFO: User permissions found {"user_id":"63","permissions_count":0,"permissions":[]} 
[2026-05-12 14:28:44] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:28:44] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Module NOT added to result {"module_id":2,"module_name":"Finance","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:28:44] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Module NOT added to result {"module_id":3,"module_name":"Human Resource","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:28:44] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Module NOT added to result {"module_id":4,"module_name":"Customer Relations","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:28:44] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:28:44] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Module NOT added to result {"module_id":6,"module_name":"Sales & Contracts","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:28:44] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:28:44] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Module NOT added to result {"module_id":8,"module_name":"Product Catalog","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:28:44] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-12 14:28:44] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-12 14:28:44] production.INFO: === DASHBOARD RESULT === {"modules_count":0,"modules":[]} 
[2026-05-14 11:47:39] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-14 11:47:39"} 
[2026-05-14 11:47:39] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 11:47:39] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 11:47:39] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-14 11:47:39] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-14 11:47:39] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-14 11:47:39] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-14 11:47:39] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-14 11:47:39] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-14 11:47:39] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 11:47:39] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-14 11:47:39] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-14 11:47:39] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-14 11:47:39] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 11:47:39] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-14 11:47:39] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 11:47:39] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 11:47:39] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 11:47:39] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 11:47:39] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-14 11:47:39] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:39] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-14 11:47:39] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-14 11:47:39] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-14 11:47:42] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-14 11:47:42"} 
[2026-05-14 11:47:42] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 11:47:42] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 11:47:42] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-14 11:47:42] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-14 11:47:42] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-14 11:47:42] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-14 11:47:42] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-14 11:47:42] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-14 11:47:42] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 11:47:42] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-14 11:47:42] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-14 11:47:42] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-14 11:47:42] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 11:47:42] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-14 11:47:42] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 11:47:42] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 11:47:42] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 11:47:42] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 11:47:42] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-14 11:47:42] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 11:47:42] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-14 11:47:42] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-14 11:47:42] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-14 12:24:58] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-14 12:24:58"} 
[2026-05-14 12:24:58] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:24:58] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:24:58] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-14 12:24:58] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-14 12:24:58] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-14 12:24:58] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-14 12:24:58] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-14 12:24:58] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-14 12:24:58] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 12:24:58] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-14 12:24:58] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-14 12:24:58] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-14 12:24:58] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 12:24:58] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-14 12:24:58] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 12:24:58] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 12:24:58] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 12:24:58] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 12:24:58] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-14 12:24:58] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:24:58] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-14 12:24:58] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-14 12:24:58] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-14 12:25:09] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-14 12:25:09"} 
[2026-05-14 12:25:09] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:25:09] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:25:09] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-14 12:25:09] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-14 12:25:09] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-14 12:25:09] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-14 12:25:09] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-14 12:25:09] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-14 12:25:09] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 12:25:09] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-14 12:25:09] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-14 12:25:09] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-14 12:25:09] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 12:25:09] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-14 12:25:09] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 12:25:09] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 12:25:09] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 12:25:09] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 12:25:09] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-14 12:25:09] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:25:09] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-14 12:25:09] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-14 12:25:09] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-14 12:25:28] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"64","system_code":"eclipse9","timestamp":"2026-05-14 12:25:28"} 
[2026-05-14 12:25:28] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:25:28] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:25:28] production.INFO: User permissions found {"user_id":"64","permissions_count":0,"permissions":[]} 
[2026-05-14 12:25:28] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:25:28] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Module NOT added to result {"module_id":2,"module_name":"Finance","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:25:28] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Module NOT added to result {"module_id":3,"module_name":"Human Resource","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:25:28] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Module NOT added to result {"module_id":4,"module_name":"Customer Relations","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:25:28] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:25:28] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Module NOT added to result {"module_id":6,"module_name":"Sales & Contracts","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:25:28] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:25:28] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Module NOT added to result {"module_id":8,"module_name":"Product Catalog","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:25:28] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:25:28] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:25:28] production.INFO: === DASHBOARD RESULT === {"modules_count":0,"modules":[]} 
[2026-05-14 12:26:41] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"64","system_code":"eclipse9","timestamp":"2026-05-14 12:26:41"} 
[2026-05-14 12:26:41] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:26:41] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:26:41] production.INFO: User permissions found {"user_id":"64","permissions_count":0,"permissions":[]} 
[2026-05-14 12:26:41] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:26:41] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Module NOT added to result {"module_id":2,"module_name":"Finance","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:26:41] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Module NOT added to result {"module_id":3,"module_name":"Human Resource","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:26:41] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Module NOT added to result {"module_id":4,"module_name":"Customer Relations","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:26:41] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Module NOT added to result {"module_id":5,"module_name":"Customer Success","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:26:41] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Module NOT added to result {"module_id":6,"module_name":"Sales & Contracts","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:26:41] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Module NOT added to result {"module_id":7,"module_name":"Development & Implementation","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:26:41] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Module NOT added to result {"module_id":8,"module_name":"Product Catalog","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:26:41] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:26:41] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:26:41] production.INFO: === DASHBOARD RESULT === {"modules_count":0,"modules":[]} 
[2026-05-14 12:26:49] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-14 12:26:49"} 
[2026-05-14 12:26:49] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:26:49] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:26:49] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-14 12:26:49] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-14 12:26:49] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-14 12:26:49] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-14 12:26:49] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-14 12:26:49] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-14 12:26:49] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 12:26:49] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-14 12:26:49] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-14 12:26:49] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-14 12:26:49] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 12:26:49] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-14 12:26:49] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 12:26:49] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 12:26:49] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 12:26:49] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 12:26:49] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-14 12:26:49] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:49] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-14 12:26:49] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-14 12:26:49] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-14 12:26:51] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-14 12:26:51"} 
[2026-05-14 12:26:51] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:26:51] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:26:51] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-14 12:26:51] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-14 12:26:51] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-14 12:26:51] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-14 12:26:51] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-14 12:26:51] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-14 12:26:51] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 12:26:51] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-14 12:26:51] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-14 12:26:51] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-14 12:26:51] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 12:26:51] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-14 12:26:51] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 12:26:51] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 12:26:51] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 12:26:51] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 12:26:51] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-14 12:26:51] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:26:51] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-14 12:26:51] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-14 12:26:51] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-14 12:29:32] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-14 12:29:32"} 
[2026-05-14 12:29:32] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:29:32] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:29:32] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-14 12:29:32] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-14 12:29:32] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-14 12:29:32] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-14 12:29:32] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-14 12:29:32] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-14 12:29:32] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 12:29:32] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-14 12:29:32] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-14 12:29:32] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-14 12:29:32] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 12:29:32] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-14 12:29:32] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 12:29:32] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 12:29:32] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 12:29:32] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 12:29:32] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-14 12:29:32] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:32] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-14 12:29:32] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-14 12:29:32] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-14 12:29:40] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"64","system_code":"eclipse9","timestamp":"2026-05-14 12:29:40"} 
[2026-05-14 12:29:40] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:29:40] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:29:40] production.INFO: User permissions found {"user_id":"64","permissions_count":36,"permissions":[{"id":299,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read"]},{"id":300,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":301,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":302,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":303,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read"]},{"id":304,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read"]},{"id":305,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read"]},{"id":306,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read"]},{"id":307,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read"]},{"id":308,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read"]},{"id":284,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read"]},{"id":285,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":286,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":287,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":288,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":289,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":290,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":314,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read"]},{"id":315,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read"]},{"id":316,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read"]},{"id":317,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read"]},{"id":318,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read"]},{"id":319,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read"]},{"id":291,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":292,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":293,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":294,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":295,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":296,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":297,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":298,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":309,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":310,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":311,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":312,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":313,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-14 12:29:40] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:29:40] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-14 12:29:40] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 12:29:40] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-14 12:29:40] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 12:29:40] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 12:29:40] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:40] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 12:29:40] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 12:29:40] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:40] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 12:29:40] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":4} 
[2026-05-14 12:29:40] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:40] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:29:40] production.INFO: === DASHBOARD RESULT === {"modules_count":7,"modules":["Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog"]} 
[2026-05-14 12:29:48] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"64","system_code":"eclipse9","timestamp":"2026-05-14 12:29:48"} 
[2026-05-14 12:29:48] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:29:48] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:29:48] production.INFO: User permissions found {"user_id":"64","permissions_count":36,"permissions":[{"id":299,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read"]},{"id":300,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":301,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":302,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":303,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read"]},{"id":304,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read"]},{"id":305,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read"]},{"id":306,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read"]},{"id":307,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read"]},{"id":308,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read"]},{"id":284,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read"]},{"id":285,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":286,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":287,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":288,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":289,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":290,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":314,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read"]},{"id":315,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read"]},{"id":316,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read"]},{"id":317,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read"]},{"id":318,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read"]},{"id":319,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read"]},{"id":291,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":292,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":293,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":294,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":295,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":296,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":297,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":298,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":309,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":310,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":311,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":312,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":313,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-14 12:29:48] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:29:48] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-14 12:29:48] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 12:29:48] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-14 12:29:48] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 12:29:48] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 12:29:48] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:48] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 12:29:48] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 12:29:48] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:48] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 12:29:48] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":4} 
[2026-05-14 12:29:48] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:48] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:29:48] production.INFO: === DASHBOARD RESULT === {"modules_count":7,"modules":["Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog"]} 
[2026-05-14 12:29:54] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"64","system_code":"eclipse9","timestamp":"2026-05-14 12:29:54"} 
[2026-05-14 12:29:54] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:29:54] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:29:54] production.INFO: User permissions found {"user_id":"64","permissions_count":36,"permissions":[{"id":299,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read"]},{"id":300,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":301,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":302,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":303,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read"]},{"id":304,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read"]},{"id":305,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read"]},{"id":306,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read"]},{"id":307,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read"]},{"id":308,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read"]},{"id":284,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read"]},{"id":285,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":286,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":287,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":288,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":289,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":290,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":314,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read"]},{"id":315,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read"]},{"id":316,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read"]},{"id":317,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read"]},{"id":318,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read"]},{"id":319,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read"]},{"id":291,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":292,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":293,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":294,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":295,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":296,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":297,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":298,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":309,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":310,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":311,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":312,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":313,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-14 12:29:54] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:29:54] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-14 12:29:54] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 12:29:54] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-14 12:29:54] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 12:29:54] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 12:29:54] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:29:54] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 12:29:54] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 12:29:54] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:29:54] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 12:29:54] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":4} 
[2026-05-14 12:29:54] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:29:54] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:29:54] production.INFO: === DASHBOARD RESULT === {"modules_count":7,"modules":["Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog"]} 
[2026-05-14 12:30:01] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"64","system_code":"eclipse9","timestamp":"2026-05-14 12:30:01"} 
[2026-05-14 12:30:01] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:30:01] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:30:01] production.INFO: User permissions found {"user_id":"64","permissions_count":36,"permissions":[{"id":299,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read"]},{"id":300,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":301,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":302,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":303,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read"]},{"id":304,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read"]},{"id":305,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read"]},{"id":306,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read"]},{"id":307,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read"]},{"id":308,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read"]},{"id":284,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read"]},{"id":285,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":286,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":287,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":288,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":289,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":290,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":314,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read"]},{"id":315,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read"]},{"id":316,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read"]},{"id":317,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read"]},{"id":318,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read"]},{"id":319,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read"]},{"id":291,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":292,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":293,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":294,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":295,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":296,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":297,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":298,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":309,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":310,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":311,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":312,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":313,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-14 12:30:01] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:30:01] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-14 12:30:01] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 12:30:01] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-14 12:30:01] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 12:30:01] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 12:30:01] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:01] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 12:30:01] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 12:30:01] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:01] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 12:30:01] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":4} 
[2026-05-14 12:30:01] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:01] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:30:01] production.INFO: === DASHBOARD RESULT === {"modules_count":7,"modules":["Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog"]} 
[2026-05-14 12:30:05] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"64","system_code":"eclipse9","timestamp":"2026-05-14 12:30:05"} 
[2026-05-14 12:30:05] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:30:06] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:30:06] production.INFO: User permissions found {"user_id":"64","permissions_count":36,"permissions":[{"id":299,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read"]},{"id":300,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":301,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":302,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":303,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read"]},{"id":304,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read"]},{"id":305,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read"]},{"id":306,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read"]},{"id":307,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read"]},{"id":308,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read"]},{"id":284,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read"]},{"id":285,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":286,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":287,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":288,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":289,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":290,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":314,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read"]},{"id":315,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read"]},{"id":316,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read"]},{"id":317,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read"]},{"id":318,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read"]},{"id":319,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read"]},{"id":291,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":292,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":293,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":294,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":295,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":296,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":297,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":298,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":309,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":310,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":311,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":312,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":313,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-14 12:30:06] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:30:06] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-14 12:30:06] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 12:30:06] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-14 12:30:06] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 12:30:06] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 12:30:06] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:06] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 12:30:06] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 12:30:06] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:06] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 12:30:06] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":4} 
[2026-05-14 12:30:06] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:06] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:30:06] production.INFO: === DASHBOARD RESULT === {"modules_count":7,"modules":["Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog"]} 
[2026-05-14 12:30:08] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"64","system_code":"eclipse9","timestamp":"2026-05-14 12:30:08"} 
[2026-05-14 12:30:08] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:30:08] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:30:08] production.INFO: User permissions found {"user_id":"64","permissions_count":36,"permissions":[{"id":299,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read"]},{"id":300,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":301,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":302,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":303,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read"]},{"id":304,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read"]},{"id":305,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read"]},{"id":306,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read"]},{"id":307,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read"]},{"id":308,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read"]},{"id":284,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read"]},{"id":285,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":286,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":287,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":288,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":289,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":290,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":314,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read"]},{"id":315,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read"]},{"id":316,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read"]},{"id":317,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read"]},{"id":318,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read"]},{"id":319,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read"]},{"id":291,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":292,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":293,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":294,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":295,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":296,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":297,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":298,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":309,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":310,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":311,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":312,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":313,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-14 12:30:08] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:30:08] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-14 12:30:08] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 12:30:08] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-14 12:30:08] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 12:30:08] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 12:30:08] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:08] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 12:30:08] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 12:30:08] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:08] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 12:30:08] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":4} 
[2026-05-14 12:30:08] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:08] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:30:08] production.INFO: === DASHBOARD RESULT === {"modules_count":7,"modules":["Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog"]} 
[2026-05-14 12:30:11] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"64","system_code":"eclipse9","timestamp":"2026-05-14 12:30:11"} 
[2026-05-14 12:30:11] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-14 12:30:12] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-14 12:30:12] production.INFO: User permissions found {"user_id":"64","permissions_count":36,"permissions":[{"id":299,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read"]},{"id":300,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read"]},{"id":301,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read"]},{"id":302,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read"]},{"id":303,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read"]},{"id":304,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read"]},{"id":305,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read"]},{"id":306,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read"]},{"id":307,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read"]},{"id":308,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read"]},{"id":284,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read"]},{"id":285,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":286,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":287,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":288,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":289,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":290,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":314,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read"]},{"id":315,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read"]},{"id":316,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read"]},{"id":317,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read"]},{"id":318,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read"]},{"id":319,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read"]},{"id":291,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":292,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":293,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":294,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":295,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":296,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":297,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":298,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":309,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":310,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read"]},{"id":311,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read"]},{"id":312,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read"]},{"id":313,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read"]}]} 
[2026-05-14 12:30:12] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Module NOT added to result {"module_id":1,"module_name":"Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:30:12] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":1} 
[2026-05-14 12:30:12] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-14 12:30:12] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":1} 
[2026-05-14 12:30:12] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-14 12:30:12] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-14 12:30:12] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-14 12:30:12] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-14 12:30:12] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-14 12:30:12] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read"]} 
[2026-05-14 12:30:12] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-14 12:30:12] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":4} 
[2026-05-14 12:30:12] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":false,"can_access":null,"actions":null} 
[2026-05-14 12:30:12] production.INFO: Module NOT added to result {"module_id":9,"module_name":"External Access Control","canViewModuleCard":false,"submodules_count":0} 
[2026-05-14 12:30:12] production.INFO: === DASHBOARD RESULT === {"modules_count":7,"modules":["Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog"]} 
[2026-05-18 20:28:49] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-18 20:28:49"} 
[2026-05-18 20:28:49] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-18 20:28:49] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-18 20:28:49] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-18 20:28:49] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-18 20:28:49] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-18 20:28:49] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-18 20:28:49] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-18 20:28:49] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-18 20:28:49] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-18 20:28:49] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-18 20:28:49] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-18 20:28:49] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-18 20:28:49] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-18 20:28:49] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-18 20:28:49] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-18 20:28:49] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:49] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-18 20:28:49] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-18 20:28:49] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-18 20:28:49] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:50] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:50] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:50] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:50] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:50] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-18 20:28:50] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-18 20:28:50] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-18 20:28:50] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:50] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:50] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:28:50] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-18 20:28:50] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-18 20:28:50] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-18 20:31:31] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-18 20:31:31"} 
[2026-05-18 20:31:31] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-18 20:31:31] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-18 20:31:31] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-18 20:31:31] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-18 20:31:31] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-18 20:31:31] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-18 20:31:31] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-18 20:31:31] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-18 20:31:31] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-18 20:31:31] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-18 20:31:31] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-18 20:31:31] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-18 20:31:31] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-18 20:31:31] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-18 20:31:31] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-18 20:31:31] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-18 20:31:31] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-18 20:31:31] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-18 20:31:31] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-18 20:31:31] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-18 20:31:31] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-18 20:31:31] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-18 20:31:31] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-21 08:51:06] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-21 08:51:05"} 
[2026-05-21 08:51:06] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-21 08:51:06] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-21 08:51:06] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-21 08:51:06] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-21 08:51:06] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-21 08:51:06] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-21 08:51:06] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-21 08:51:06] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-21 08:51:06] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-21 08:51:06] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-21 08:51:06] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-21 08:51:06] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-21 08:51:06] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-21 08:51:06] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-21 08:51:06] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-21 08:51:06] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-21 08:51:06] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-21 08:51:06] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-21 08:51:06] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-21 08:51:06] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:51:06] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-21 08:51:06] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-21 08:51:06] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-21 08:54:57] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-21 08:54:56"} 
[2026-05-21 08:54:57] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-21 08:54:57] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-21 08:54:57] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-21 08:54:57] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-21 08:54:57] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-21 08:54:57] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-21 08:54:57] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-21 08:54:57] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-21 08:54:57] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-21 08:54:57] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-21 08:54:57] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-21 08:54:57] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-21 08:54:57] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-21 08:54:57] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-21 08:54:57] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-21 08:54:57] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-21 08:54:57] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-21 08:54:57] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-21 08:54:57] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-21 08:54:57] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-21 08:54:57] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-21 08:54:57] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-21 08:54:57] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-27 12:07:41] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-27 12:07:41"} 
[2026-05-27 12:07:41] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-27 12:07:41] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-27 12:07:41] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-27 12:07:41] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-27 12:07:41] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-27 12:07:41] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-27 12:07:41] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-27 12:07:41] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-27 12:07:41] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-27 12:07:41] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-27 12:07:41] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-27 12:07:41] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-27 12:07:41] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-27 12:07:41] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-27 12:07:41] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-27 12:07:41] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-27 12:07:41] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-27 12:07:41] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-27 12:07:41] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-27 12:07:41] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:41] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-27 12:07:41] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-27 12:07:41] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-27 12:07:51] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-27 12:07:51"} 
[2026-05-27 12:07:51] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-27 12:07:51] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-27 12:07:51] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-27 12:07:51] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-27 12:07:51] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-27 12:07:51] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-27 12:07:51] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-27 12:07:51] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-27 12:07:51] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-27 12:07:51] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-27 12:07:51] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-27 12:07:51] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-27 12:07:51] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-27 12:07:51] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-27 12:07:51] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-27 12:07:51] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-27 12:07:51] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-27 12:07:51] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-27 12:07:51] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-27 12:07:51] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:07:51] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-27 12:07:51] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-27 12:07:51] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-27 12:08:13] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-27 12:08:13"} 
[2026-05-27 12:08:13] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-27 12:08:13] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-27 12:08:13] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-27 12:08:13] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-27 12:08:13] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-27 12:08:13] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-27 12:08:13] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-27 12:08:13] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-27 12:08:13] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-27 12:08:13] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-27 12:08:13] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-27 12:08:13] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-27 12:08:13] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-27 12:08:13] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-27 12:08:13] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-27 12:08:13] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-27 12:08:13] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-27 12:08:13] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-27 12:08:13] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-27 12:08:13] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:13] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-27 12:08:13] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-27 12:08:13] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-27 12:08:17] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-27 12:08:17"} 
[2026-05-27 12:08:17] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-27 12:08:17] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-27 12:08:17] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-27 12:08:17] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-27 12:08:17] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-27 12:08:17] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-27 12:08:17] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-27 12:08:17] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-27 12:08:17] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-27 12:08:17] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-27 12:08:17] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-27 12:08:17] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-27 12:08:17] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-27 12:08:17] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-27 12:08:17] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-27 12:08:17] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-27 12:08:17] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-27 12:08:17] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-27 12:08:17] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-27 12:08:17] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:17] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-27 12:08:17] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-27 12:08:17] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-27 12:08:41] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-27 12:08:41"} 
[2026-05-27 12:08:41] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-27 12:08:41] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-27 12:08:41] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-27 12:08:41] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-27 12:08:41] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-27 12:08:41] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-27 12:08:41] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-27 12:08:41] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-27 12:08:41] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-27 12:08:41] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-27 12:08:41] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-27 12:08:41] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-27 12:08:41] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-27 12:08:41] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-27 12:08:41] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-27 12:08:41] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-27 12:08:41] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-27 12:08:41] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-27 12:08:41] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-27 12:08:41] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:41] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-27 12:08:41] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-27 12:08:41] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-27 12:08:53] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-27 12:08:53"} 
[2026-05-27 12:08:53] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-27 12:08:53] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-27 12:08:53] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-27 12:08:53] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-27 12:08:53] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-27 12:08:53] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-27 12:08:53] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-27 12:08:53] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-27 12:08:53] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-27 12:08:53] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-27 12:08:53] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-27 12:08:53] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-27 12:08:53] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-27 12:08:53] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-27 12:08:53] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-27 12:08:53] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-27 12:08:53] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-27 12:08:53] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-27 12:08:53] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-27 12:08:53] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:08:53] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-27 12:08:53] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-27 12:08:53] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-27 12:09:07] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-27 12:09:07"} 
[2026-05-27 12:09:07] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-27 12:09:07] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-27 12:09:07] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-27 12:09:07] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-27 12:09:07] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-27 12:09:07] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-27 12:09:07] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-27 12:09:07] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-27 12:09:07] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-27 12:09:07] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-27 12:09:07] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-27 12:09:07] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-27 12:09:07] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-27 12:09:07] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-27 12:09:07] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-27 12:09:07] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-27 12:09:07] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-27 12:09:07] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-27 12:09:07] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-27 12:09:07] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:07] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-27 12:09:07] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-27 12:09:07] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-27 12:09:19] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-27 12:09:19"} 
[2026-05-27 12:09:19] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-27 12:09:19] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-27 12:09:19] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-27 12:09:19] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-27 12:09:19] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-27 12:09:19] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-27 12:09:19] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-27 12:09:19] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-27 12:09:19] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-27 12:09:19] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-27 12:09:19] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-27 12:09:19] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-27 12:09:19] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-27 12:09:19] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-27 12:09:19] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-27 12:09:19] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-27 12:09:19] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-27 12:09:19] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-27 12:09:19] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-27 12:09:19] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:09:19] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-27 12:09:19] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-27 12:09:19] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-27 12:10:14] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-27 12:10:14"} 
[2026-05-27 12:10:14] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-27 12:10:14] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-27 12:10:14] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-27 12:10:14] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-27 12:10:14] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-27 12:10:14] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-27 12:10:14] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-27 12:10:14] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-27 12:10:14] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-27 12:10:14] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-27 12:10:14] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-27 12:10:14] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-27 12:10:14] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-27 12:10:14] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-27 12:10:14] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-27 12:10:14] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-27 12:10:14] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-27 12:10:14] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-27 12:10:14] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-27 12:10:14] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:10:14] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-27 12:10:14] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-27 12:10:14] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-27 12:11:07] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-27 12:11:07"} 
[2026-05-27 12:11:07] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-27 12:11:07] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-27 12:11:07] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-27 12:11:07] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-27 12:11:07] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-27 12:11:07] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-27 12:11:07] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-27 12:11:07] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-27 12:11:07] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-27 12:11:07] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-27 12:11:07] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-27 12:11:07] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-27 12:11:07] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-27 12:11:07] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-27 12:11:07] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-27 12:11:07] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-27 12:11:07] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-27 12:11:07] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-27 12:11:07] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-27 12:11:07] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-27 12:11:07] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-27 12:11:07] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-27 12:11:07] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-28 08:04:04] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-28 08:04:04"} 
[2026-05-28 08:04:04] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-28 08:04:04] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-28 08:04:04] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-28 08:04:04] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-28 08:04:04] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-28 08:04:04] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-28 08:04:04] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-28 08:04:04] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-28 08:04:04] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-28 08:04:04] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-28 08:04:04] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-28 08:04:04] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-28 08:04:04] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-28 08:04:04] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-28 08:04:04] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-28 08:04:04] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-28 08:04:04] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-28 08:04:04] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-28 08:04:04] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-28 08:04:04] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:04] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-28 08:04:04] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-28 08:04:04] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-28 08:04:19] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-28 08:04:19"} 
[2026-05-28 08:04:19] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-28 08:04:19] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-28 08:04:19] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-28 08:04:19] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-28 08:04:19] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-28 08:04:19] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-28 08:04:19] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-28 08:04:19] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-28 08:04:19] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-28 08:04:19] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-28 08:04:19] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-28 08:04:19] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-28 08:04:19] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-28 08:04:19] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-28 08:04:19] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-28 08:04:19] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-28 08:04:19] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-28 08:04:19] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-28 08:04:19] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-28 08:04:19] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:04:19] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-28 08:04:19] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-28 08:04:19] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-28 08:06:58] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-28 08:06:58"} 
[2026-05-28 08:06:58] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-28 08:06:58] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-28 08:06:58] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-28 08:06:58] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-28 08:06:58] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-28 08:06:58] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-28 08:06:58] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-28 08:06:58] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-28 08:06:58] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-28 08:06:58] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-28 08:06:58] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-28 08:06:58] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-28 08:06:58] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-28 08:06:58] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-28 08:06:58] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-28 08:06:58] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-28 08:06:58] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-28 08:06:58] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-28 08:06:58] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-28 08:06:58] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:06:58] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-28 08:06:58] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-28 08:06:58] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-28 08:07:31] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-28 08:07:31"} 
[2026-05-28 08:07:31] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-28 08:07:31] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-28 08:07:31] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-28 08:07:31] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-28 08:07:31] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-28 08:07:31] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-28 08:07:31] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-28 08:07:31] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-28 08:07:31] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-28 08:07:31] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-28 08:07:31] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-28 08:07:31] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:31] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-28 08:07:32] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-28 08:07:32] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-28 08:07:32] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-28 08:07:32] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-28 08:07:32] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-28 08:07:32] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-28 08:07:32] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-28 08:07:32] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:32] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-28 08:07:32] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-28 08:07:32] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-28 08:07:44] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-28 08:07:44"} 
[2026-05-28 08:07:44] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-28 08:07:44] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-28 08:07:44] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-28 08:07:44] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-28 08:07:44] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-28 08:07:44] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-28 08:07:44] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-28 08:07:44] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-28 08:07:44] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-28 08:07:44] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-28 08:07:44] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-28 08:07:44] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-28 08:07:44] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-28 08:07:44] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-28 08:07:44] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-28 08:07:44] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-28 08:07:44] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-28 08:07:44] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-28 08:07:44] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-28 08:07:44] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:07:44] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-28 08:07:44] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-28 08:07:44] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-28 08:09:14] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-28 08:09:14"} 
[2026-05-28 08:09:14] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-28 08:09:14] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-28 08:09:14] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-28 08:09:14] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-28 08:09:14] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-28 08:09:14] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-28 08:09:14] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-28 08:09:14] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-28 08:09:14] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-28 08:09:14] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-28 08:09:14] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-28 08:09:14] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-28 08:09:14] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-28 08:09:14] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-28 08:09:14] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-28 08:09:14] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-28 08:09:14] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-28 08:09:14] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-28 08:09:14] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-28 08:09:14] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:09:14] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-28 08:09:14] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-28 08:09:14] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-28 08:11:39] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-28 08:11:39"} 
[2026-05-28 08:11:39] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-28 08:11:39] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-28 08:11:39] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-28 08:11:39] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-28 08:11:39] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-28 08:11:39] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-28 08:11:39] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-28 08:11:39] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-28 08:11:39] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-28 08:11:39] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-28 08:11:39] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-28 08:11:39] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-28 08:11:39] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-28 08:11:39] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-28 08:11:39] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-28 08:11:39] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-28 08:11:39] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-28 08:11:39] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-28 08:11:39] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-28 08:11:39] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-28 08:11:39] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-28 08:11:39] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-28 08:11:39] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-29 11:11:35] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-29 11:11:35"} 
[2026-05-29 11:11:35] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-29 11:11:36] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-29 11:11:36] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-29 11:11:36] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-29 11:11:36] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-29 11:11:36] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-29 11:11:36] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-29 11:11:36] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-29 11:11:36] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-29 11:11:36] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-29 11:11:36] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-29 11:11:36] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-29 11:11:36] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-29 11:11:36] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-29 11:11:36] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-29 11:11:36] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-29 11:11:36] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-29 11:11:36] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-29 11:11:36] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-29 11:11:36] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:11:36] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-29 11:11:36] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-29 11:11:36] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-29 11:29:28] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-29 11:29:28"} 
[2026-05-29 11:29:29] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-29 11:29:29] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-29 11:29:29] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-29 11:29:29] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-29 11:29:29] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-29 11:29:29] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-29 11:29:29] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-29 11:29:29] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-29 11:29:29] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-29 11:29:29] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-29 11:29:29] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-29 11:29:29] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-29 11:29:29] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-29 11:29:29] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-29 11:29:29] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-29 11:29:29] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-29 11:29:29] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-29 11:29:29] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-29 11:29:29] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-29 11:29:29] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:29:29] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-29 11:29:29] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-29 11:29:29] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-29 11:30:03] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-29 11:30:03"} 
[2026-05-29 11:30:03] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-29 11:30:03] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-29 11:30:03] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-29 11:30:03] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-29 11:30:03] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-29 11:30:03] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-29 11:30:03] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-29 11:30:03] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-29 11:30:03] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-29 11:30:03] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-29 11:30:03] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-29 11:30:03] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-29 11:30:03] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-29 11:30:03] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-29 11:30:03] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-29 11:30:03] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-29 11:30:03] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-29 11:30:03] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-29 11:30:03] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-29 11:30:03] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:30:03] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-29 11:30:03] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-29 11:30:03] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-05-29 11:52:33] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-05-29 11:52:33"} 
[2026-05-29 11:52:33] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-05-29 11:52:33] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-05-29 11:52:33] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-05-29 11:52:33] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-05-29 11:52:33] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-05-29 11:52:33] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-05-29 11:52:33] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-05-29 11:52:33] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-05-29 11:52:33] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-05-29 11:52:33] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-05-29 11:52:33] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-05-29 11:52:33] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-05-29 11:52:33] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-05-29 11:52:33] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-05-29 11:52:33] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-05-29 11:52:33] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-05-29 11:52:33] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-05-29 11:52:33] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-05-29 11:52:33] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-05-29 11:52:33] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-05-29 11:52:33] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-05-29 11:52:33] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-05-29 11:52:33] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-07 12:23:25] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-07 12:23:25"} 
[2026-06-07 12:23:25] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-07 12:23:25] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-07 12:23:25] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-07 12:23:25] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-07 12:23:25] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-07 12:23:25] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-07 12:23:25] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-07 12:23:25] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-07 12:23:25] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-07 12:23:25] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-07 12:23:25] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-07 12:23:25] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-07 12:23:25] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-07 12:23:25] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-07 12:23:25] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-07 12:23:25] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-07 12:23:25] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-07 12:23:25] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-07 12:23:25] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-07 12:23:25] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:25] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-07 12:23:25] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-07 12:23:25] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-07 12:23:29] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-07 12:23:29"} 
[2026-06-07 12:23:29] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-07 12:23:29] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-07 12:23:29] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-07 12:23:29] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-07 12:23:29] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-07 12:23:29] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-07 12:23:29] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-07 12:23:29] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-07 12:23:29] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-07 12:23:29] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-07 12:23:29] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-07 12:23:29] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-07 12:23:29] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-07 12:23:29] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-07 12:23:29] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-07 12:23:29] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-07 12:23:29] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-07 12:23:29] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-07 12:23:29] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-07 12:23:29] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 12:23:29] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-07 12:23:29] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-07 12:23:29] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-07 17:03:27] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-07 17:03:27"} 
[2026-06-07 17:03:28] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-07 17:03:28] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-07 17:03:28] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-07 17:03:28] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-07 17:03:28] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-07 17:03:28] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-07 17:03:28] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-07 17:03:28] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-07 17:03:28] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-07 17:03:28] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-07 17:03:28] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-07 17:03:28] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-07 17:03:28] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-07 17:03:28] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-07 17:03:28] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-07 17:03:28] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-07 17:03:28] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-07 17:03:28] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-07 17:03:28] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-07 17:03:28] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:28] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-07 17:03:28] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-07 17:03:28] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-07 17:03:44] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-07 17:03:44"} 
[2026-06-07 17:03:44] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-07 17:03:44] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-07 17:03:44] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-07 17:03:44] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-07 17:03:44] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-07 17:03:44] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-07 17:03:44] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-07 17:03:44] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-07 17:03:44] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-07 17:03:44] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-07 17:03:44] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-07 17:03:44] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-07 17:03:44] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-07 17:03:44] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-07 17:03:44] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-07 17:03:44] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-07 17:03:44] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-07 17:03:44] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-07 17:03:44] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-07 17:03:44] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:44] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-07 17:03:44] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-07 17:03:44] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-07 17:03:57] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-07 17:03:57"} 
[2026-06-07 17:03:57] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-07 17:03:57] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-07 17:03:57] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-07 17:03:57] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-07 17:03:57] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-07 17:03:57] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-07 17:03:57] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-07 17:03:57] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-07 17:03:57] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-07 17:03:57] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-07 17:03:57] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-07 17:03:57] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-07 17:03:57] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-07 17:03:57] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-07 17:03:57] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-07 17:03:57] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-07 17:03:57] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-07 17:03:57] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-07 17:03:57] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-07 17:03:57] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:03:57] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-07 17:03:57] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-07 17:03:57] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-07 17:08:14] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-07 17:08:14"} 
[2026-06-07 17:08:14] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-07 17:08:14] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-07 17:08:14] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-07 17:08:14] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-07 17:08:14] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-07 17:08:14] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-07 17:08:14] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-07 17:08:14] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-07 17:08:14] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-07 17:08:14] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-07 17:08:14] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-07 17:08:14] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-07 17:08:14] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-07 17:08:14] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-07 17:08:14] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-07 17:08:14] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-07 17:08:14] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-07 17:08:14] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-07 17:08:14] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-07 17:08:14] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:08:14] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-07 17:08:14] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-07 17:08:14] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-07 17:11:14] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-07 17:11:14"} 
[2026-06-07 17:11:15] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-07 17:11:15] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-07 17:11:15] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-07 17:11:15] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-07 17:11:15] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-07 17:11:15] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-07 17:11:15] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-07 17:11:15] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-07 17:11:15] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-07 17:11:15] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-07 17:11:15] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-07 17:11:15] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-07 17:11:15] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-07 17:11:15] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-07 17:11:15] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-07 17:11:15] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-07 17:11:15] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-07 17:11:15] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-07 17:11:15] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-07 17:11:15] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:11:15] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-07 17:11:15] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-07 17:11:15] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-07 17:12:16] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-07 17:12:16"} 
[2026-06-07 17:12:16] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-07 17:12:16] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-07 17:12:16] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-07 17:12:16] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-07 17:12:16] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-07 17:12:16] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-07 17:12:16] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-07 17:12:16] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-07 17:12:16] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-07 17:12:16] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-07 17:12:16] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-07 17:12:16] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-07 17:12:16] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-07 17:12:16] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-07 17:12:16] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-07 17:12:16] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-07 17:12:16] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-07 17:12:16] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-07 17:12:16] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-07 17:12:16] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-07 17:12:16] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-07 17:12:16] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-07 17:12:16] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-08 08:18:15] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-08 08:18:15"} 
[2026-06-08 08:18:15] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-08 08:18:15] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-08 08:18:15] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-08 08:18:15] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-08 08:18:15] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-08 08:18:15] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-08 08:18:15] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-08 08:18:15] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-08 08:18:15] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-08 08:18:15] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-08 08:18:15] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-08 08:18:15] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-08 08:18:15] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-08 08:18:15] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-08 08:18:15] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-08 08:18:15] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-08 08:18:15] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-08 08:18:15] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-08 08:18:15] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-08 08:18:15] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-08 08:18:15] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-08 08:18:15] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-08 08:18:15] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-09 18:00:24] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-09 18:00:24"} 
[2026-06-09 18:00:24] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-09 18:00:24] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-09 18:00:24] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-09 18:00:24] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-09 18:00:24] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-09 18:00:24] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-09 18:00:24] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-09 18:00:24] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-09 18:00:24] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-09 18:00:24] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-09 18:00:24] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-09 18:00:24] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-09 18:00:24] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-09 18:00:24] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-09 18:00:24] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-09 18:00:24] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-09 18:00:24] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-09 18:00:24] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-09 18:00:24] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-09 18:00:24] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:24] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-09 18:00:24] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-09 18:00:24] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-09 18:00:33] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-09 18:00:33"} 
[2026-06-09 18:00:33] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-09 18:00:33] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-09 18:00:33] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-09 18:00:33] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-09 18:00:33] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-09 18:00:33] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-09 18:00:33] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-09 18:00:33] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-09 18:00:33] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-09 18:00:33] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-09 18:00:33] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-09 18:00:33] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-09 18:00:33] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-09 18:00:33] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-09 18:00:33] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-09 18:00:33] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-09 18:00:33] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-09 18:00:33] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-09 18:00:33] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-09 18:00:33] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:33] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-09 18:00:33] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-09 18:00:33] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-09 18:00:58] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-09 18:00:58"} 
[2026-06-09 18:00:58] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-09 18:00:58] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-09 18:00:58] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-09 18:00:58] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-09 18:00:58] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-09 18:00:58] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-09 18:00:58] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-09 18:00:58] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-09 18:00:58] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-09 18:00:58] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-09 18:00:58] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-09 18:00:58] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-09 18:00:58] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-09 18:00:58] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-09 18:00:58] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-09 18:00:58] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-09 18:00:58] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-09 18:00:58] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-09 18:00:58] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-09 18:00:58] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:00:58] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-09 18:00:58] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-09 18:00:58] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-09 18:03:06] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-09 18:03:06"} 
[2026-06-09 18:03:06] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-09 18:03:06] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-09 18:03:06] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-09 18:03:06] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-09 18:03:06] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-09 18:03:06] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-09 18:03:06] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-09 18:03:06] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-09 18:03:06] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-09 18:03:06] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-09 18:03:06] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-09 18:03:06] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-09 18:03:06] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-09 18:03:06] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-09 18:03:06] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-09 18:03:06] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-09 18:03:06] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-09 18:03:06] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-09 18:03:06] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-09 18:03:06] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:06] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-09 18:03:06] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-09 18:03:06] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-09 18:03:09] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-09 18:03:09"} 
[2026-06-09 18:03:09] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-09 18:03:09] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-09 18:03:09] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-09 18:03:09] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-09 18:03:09] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-09 18:03:09] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-09 18:03:09] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-09 18:03:09] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-09 18:03:09] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-09 18:03:09] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-09 18:03:09] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-09 18:03:09] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-09 18:03:09] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-09 18:03:09] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-09 18:03:09] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-09 18:03:09] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-09 18:03:09] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-09 18:03:09] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-09 18:03:09] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-09 18:03:09] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-09 18:03:09] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-09 18:03:09] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-09 18:03:09] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-10 15:06:28] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-10 15:06:28"} 
[2026-06-10 15:06:29] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-10 15:06:29] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-10 15:06:29] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-10 15:06:29] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-10 15:06:29] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-10 15:06:29] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-10 15:06:29] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-10 15:06:29] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-10 15:06:29] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-10 15:06:29] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-10 15:06:29] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-10 15:06:29] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-10 15:06:29] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-10 15:06:29] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-10 15:06:29] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-10 15:06:29] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-10 15:06:29] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-10 15:06:29] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-10 15:06:29] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-10 15:06:29] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:06:29] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-10 15:06:29] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-10 15:06:29] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
[2026-06-10 15:08:08] production.INFO: === DASHBOARD REQUEST === {"user_id_from_token":"53","system_code":"eclipse9","timestamp":"2026-06-10 15:08:08"} 
[2026-06-10 15:08:08] production.INFO: System found {"system_id":1,"system_name":"Eclipse 9 ERP","system_code":"eclipse9"} 
[2026-06-10 15:08:08] production.INFO: Modules found {"module_count":9,"modules":[{"id":1,"name":"Access Control","code":"access_control","submodule_count":5},{"id":2,"name":"Finance","code":"finance","submodule_count":6},{"id":3,"name":"Human Resource","code":"hr","submodule_count":9},{"id":4,"name":"Customer Relations","code":"customer_relations","submodule_count":6},{"id":5,"name":"Customer Success","code":"customer_success","submodule_count":6},{"id":6,"name":"Sales & Contracts","code":"sales_contracts","submodule_count":6},{"id":7,"name":"Development & Implementation","code":"di","submodule_count":7},{"id":8,"name":"Product Catalog","code":"product_catalog","submodule_count":5},{"id":9,"name":"External Access Control","code":"external_access","submodule_count":3}]} 
[2026-06-10 15:08:08] production.INFO: User permissions found {"user_id":"53","permissions_count":62,"permissions":[{"id":65,"module_id":"1","sub_module_id":"1","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":66,"module_id":"1","sub_module_id":"2","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":67,"module_id":"1","sub_module_id":"3","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":68,"module_id":"1","sub_module_id":"4","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":69,"module_id":"1","sub_module_id":"5","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":71,"module_id":"4","sub_module_id":"21","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":72,"module_id":"4","sub_module_id":"22","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":73,"module_id":"4","sub_module_id":"23","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":74,"module_id":"4","sub_module_id":"24","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":75,"module_id":"4","sub_module_id":"25","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":76,"module_id":"4","sub_module_id":"26","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":78,"module_id":"5","sub_module_id":"27","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":79,"module_id":"5","sub_module_id":"28","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":80,"module_id":"5","sub_module_id":"29","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":81,"module_id":"5","sub_module_id":"30","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":82,"module_id":"5","sub_module_id":"31","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":83,"module_id":"5","sub_module_id":"32","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":85,"module_id":"7","sub_module_id":"39","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":86,"module_id":"7","sub_module_id":"40","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":87,"module_id":"7","sub_module_id":"41","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":88,"module_id":"7","sub_module_id":"42","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":89,"module_id":"7","sub_module_id":"43","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":90,"module_id":"7","sub_module_id":"44","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":91,"module_id":"7","sub_module_id":"45","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":93,"module_id":"9","sub_module_id":"52","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":94,"module_id":"9","sub_module_id":"53","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":95,"module_id":"9","sub_module_id":"54","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":97,"module_id":"2","sub_module_id":"6","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":98,"module_id":"2","sub_module_id":"7","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":99,"module_id":"2","sub_module_id":"8","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":100,"module_id":"2","sub_module_id":"9","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":101,"module_id":"2","sub_module_id":"10","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":102,"module_id":"2","sub_module_id":"11","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":103,"module_id":"6","sub_module_id":"38","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":105,"module_id":"3","sub_module_id":"12","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":106,"module_id":"3","sub_module_id":"13","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":107,"module_id":"3","sub_module_id":"14","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":108,"module_id":"3","sub_module_id":"15","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":109,"module_id":"3","sub_module_id":"16","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":110,"module_id":"3","sub_module_id":"17","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":111,"module_id":"3","sub_module_id":"18","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":112,"module_id":"3","sub_module_id":"19","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":113,"module_id":"3","sub_module_id":"20","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":122,"module_id":"6","sub_module_id":"33","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":123,"module_id":"6","sub_module_id":"34","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":124,"module_id":"6","sub_module_id":"35","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":125,"module_id":"6","sub_module_id":"36","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":126,"module_id":"6","sub_module_id":"37","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":192,"module_id":"8","sub_module_id":"55","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":193,"module_id":"8","sub_module_id":"56","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":194,"module_id":"8","sub_module_id":"57","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":195,"module_id":"8","sub_module_id":"58","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":196,"module_id":"8","sub_module_id":"59","can_view_card":false,"can_access":true,"actions":["read","create","update","delete"]},{"id":275,"module_id":"1","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":276,"module_id":"4","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":277,"module_id":"5","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":278,"module_id":"7","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":279,"module_id":"9","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":280,"module_id":"2","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":281,"module_id":"3","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":282,"module_id":"8","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]},{"id":283,"module_id":"6","sub_module_id":null,"can_view_card":true,"can_access":false,"actions":[]}]} 
[2026-06-10 15:08:08] production.INFO: Processing module {"module_id":1,"module_name":"Access Control","module_code":"access_control"} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":1,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":2,"submodule_name":"Users","submodule_code":"users","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":3,"submodule_name":"Permissions","submodule_code":"permissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":4,"submodule_name":"Roles","submodule_code":"roles","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":5,"submodule_name":"Audit Log","submodule_code":"audit_log","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Module-level permission found {"module_id":1,"can_view_card":true} 
[2026-06-10 15:08:08] production.INFO: Adding module to result {"module_id":1,"module_name":"Access Control","submodules_count":5} 
[2026-06-10 15:08:08] production.INFO: Processing module {"module_id":2,"module_name":"Finance","module_code":"finance"} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":6,"submodule_name":"Invoices","submodule_code":"invoices","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":7,"submodule_name":"Expenses","submodule_code":"expenses","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":8,"submodule_name":"Budget","submodule_code":"budget","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":9,"submodule_name":"Bank Reconciliation","submodule_code":"bank_reconciliation","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":10,"submodule_name":"Financial Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":11,"submodule_name":"Tax Settings","submodule_code":"tax_settings","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Module-level permission found {"module_id":2,"can_view_card":true} 
[2026-06-10 15:08:08] production.INFO: Adding module to result {"module_id":2,"module_name":"Finance","submodules_count":6} 
[2026-06-10 15:08:08] production.INFO: Processing module {"module_id":3,"module_name":"Human Resource","module_code":"hr"} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":12,"submodule_name":"Employee Master","submodule_code":"employee_master","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":13,"submodule_name":"Departments","submodule_code":"departments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":14,"submodule_name":"Positions","submodule_code":"positions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":15,"submodule_name":"Payroll","submodule_code":"payroll","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":16,"submodule_name":"Attendance","submodule_code":"attendance","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":17,"submodule_name":"Leave Management","submodule_code":"leave","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":18,"submodule_name":"Recruitment","submodule_code":"recruitment","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":19,"submodule_name":"Training","submodule_code":"training","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":20,"submodule_name":"Employee Documents","submodule_code":"documents","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Module-level permission found {"module_id":3,"can_view_card":true} 
[2026-06-10 15:08:08] production.INFO: Adding module to result {"module_id":3,"module_name":"Human Resource","submodules_count":9} 
[2026-06-10 15:08:08] production.INFO: Processing module {"module_id":4,"module_name":"Customer Relations","module_code":"customer_relations"} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":21,"submodule_name":"Companies","submodule_code":"companies","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":22,"submodule_name":"Contacts","submodule_code":"contacts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":23,"submodule_name":"Interactions","submodule_code":"interactions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":24,"submodule_name":"Pipeline","submodule_code":"pipeline","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":25,"submodule_name":"Customer Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":26,"submodule_name":"Email Templates","submodule_code":"email_templates","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Module-level permission found {"module_id":4,"can_view_card":true} 
[2026-06-10 15:08:08] production.INFO: Adding module to result {"module_id":4,"module_name":"Customer Relations","submodules_count":6} 
[2026-06-10 15:08:08] production.INFO: Processing module {"module_id":5,"module_name":"Customer Success","module_code":"customer_success"} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":27,"submodule_name":"Onboarding","submodule_code":"onboarding","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":28,"submodule_name":"Support Tickets","submodule_code":"tickets","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":29,"submodule_name":"Customer Feedback","submodule_code":"feedback","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":30,"submodule_name":"NPS Surveys","submodule_code":"nps","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":31,"submodule_name":"Renewals","submodule_code":"renewals","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":32,"submodule_name":"Customer Health","submodule_code":"health","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Module-level permission found {"module_id":5,"can_view_card":true} 
[2026-06-10 15:08:08] production.INFO: Adding module to result {"module_id":5,"module_name":"Customer Success","submodules_count":6} 
[2026-06-10 15:08:08] production.INFO: Processing module {"module_id":6,"module_name":"Sales & Contracts","module_code":"sales_contracts"} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":33,"submodule_name":"Opportunities","submodule_code":"opportunities","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":34,"submodule_name":"Quotations","submodule_code":"quotations","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":35,"submodule_name":"Contracts","submodule_code":"contracts","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":36,"submodule_name":"Sales Orders","submodule_code":"orders","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":37,"submodule_name":"Commissions","submodule_code":"commissions","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":38,"submodule_name":"Sales Reports","submodule_code":"reports","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Module-level permission found {"module_id":6,"can_view_card":true} 
[2026-06-10 15:08:08] production.INFO: Adding module to result {"module_id":6,"module_name":"Sales & Contracts","submodules_count":6} 
[2026-06-10 15:08:08] production.INFO: Processing module {"module_id":7,"module_name":"Development & Implementation","module_code":"di"} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":39,"submodule_name":"Projects","submodule_code":"projects","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":40,"submodule_name":"Tasks","submodule_code":"tasks","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":41,"submodule_name":"Sprints","submodule_code":"sprints","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":42,"submodule_name":"Issues","submodule_code":"issues","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":43,"submodule_name":"Deployments","submodule_code":"deployments","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":44,"submodule_name":"Documentation","submodule_code":"docs","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":45,"submodule_name":"Time Tracking","submodule_code":"time_tracking","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Module-level permission found {"module_id":7,"can_view_card":true} 
[2026-06-10 15:08:08] production.INFO: Adding module to result {"module_id":7,"module_name":"Development & Implementation","submodules_count":7} 
[2026-06-10 15:08:08] production.INFO: Processing module {"module_id":8,"module_name":"Product Catalog","module_code":"product_catalog"} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":55,"submodule_name":"Systems","submodule_code":"systems","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":56,"submodule_name":"Tiers","submodule_code":"tiers","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":57,"submodule_name":"Modules","submodule_code":"modules","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":58,"submodule_name":"Addons","submodule_code":"addons","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":59,"submodule_name":"Services","submodule_code":"services","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Module-level permission found {"module_id":8,"can_view_card":true} 
[2026-06-10 15:08:08] production.INFO: Adding module to result {"module_id":8,"module_name":"Product Catalog","submodules_count":5} 
[2026-06-10 15:08:08] production.INFO: Processing module {"module_id":9,"module_name":"External Access Control","module_code":"external_access"} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":52,"submodule_name":"Temper Detection","submodule_code":"temper_detection","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":53,"submodule_name":"Kill Switch","submodule_code":"kill_switch","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Checking submodule {"submodule_id":54,"submodule_name":"Entitlements","submodule_code":"entitlements","has_permission":true,"can_access":true,"actions":["read","create","update","delete"]} 
[2026-06-10 15:08:08] production.INFO: Module-level permission found {"module_id":9,"can_view_card":true} 
[2026-06-10 15:08:08] production.INFO: Adding module to result {"module_id":9,"module_name":"External Access Control","submodules_count":3} 
[2026-06-10 15:08:08] production.INFO: === DASHBOARD RESULT === {"modules_count":9,"modules":["Access Control","Finance","Human Resource","Customer Relations","Customer Success","Sales & Contracts","Development & Implementation","Product Catalog","External Access Control"]} 
