56 lines
2.5 KiB
Python
56 lines
2.5 KiB
Python
import sys
|
|
|
|
def verify():
|
|
# 1. Apps Installed
|
|
core_apps = ['stock', 'sale_management', 'purchase', 'account_accountant', 'mrp', 'quality']
|
|
missing_apps = []
|
|
for app in core_apps:
|
|
mod = env['ir.module.module'].search([('name', '=', app), ('state', '=', 'installed')])
|
|
if not mod:
|
|
missing_apps.append(app)
|
|
|
|
# Check Custom modules
|
|
custom_mods = ['c2c_core', 'c2c_uom_engine']
|
|
missing_custom = []
|
|
for app in custom_mods:
|
|
mod = env['ir.module.module'].search([('name', '=', app), ('state', '=', 'installed')])
|
|
if not mod:
|
|
missing_custom.append(app)
|
|
|
|
# 2. Companies
|
|
companies = env['res.company'].search([])
|
|
company_names = companies.mapped('name')
|
|
expected_companies = ['C2C Agricorp India Pvt Ltd', 'C2C Imports & Exports', 'Clickstocart Inc']
|
|
missing_companies = [c for c in expected_companies if not any(c in n for n in company_names)]
|
|
|
|
# 3. Settings Enabled
|
|
uom_on = env['ir.config_parameter'].sudo().get_param('group_uom')
|
|
lots_on = env['ir.config_parameter'].sudo().get_param('group_stock_tracking_lot')
|
|
expiry_on = env['ir.config_parameter'].sudo().get_param('group_stock_production_lot')
|
|
work_orders_on = env['ir.config_parameter'].sudo().get_param('group_mrp_routings')
|
|
|
|
print("=== WEEK 1 STATUS REPORT ===")
|
|
print(f"Missing Core Apps: {missing_apps if missing_apps else 'None (All good!)'}")
|
|
print(f"Missing Custom Apps: {missing_custom if missing_custom else 'None (All good!)'}")
|
|
print(f"Missing Companies: {missing_companies if missing_companies else 'None (All good!)'}")
|
|
|
|
# We can fetch settings via groups or users since get_param might be empty if relying on user groups
|
|
# A better way is checking if a user has the groups
|
|
admin = env.ref('base.user_admin')
|
|
has_uom = admin.has_group('uom.group_uom')
|
|
has_lots = admin.has_group('stock.group_production_lot')
|
|
has_expiry = admin.has_group('product_expiry.group_expiry_date_on_receipts') or admin.has_group('stock.group_production_lot') # Odoo handles expiry loosely via groups
|
|
|
|
print(f"UoM Enabled globally: {has_uom}")
|
|
print(f"Lot Tracking Enabled: {has_lots}")
|
|
|
|
# 4. Check custom fields exist (if c2c_core is installed)
|
|
if 'c2c_core' not in missing_custom:
|
|
Partner = env['res.partner']
|
|
has_partner_cat = 'c2c_partner_category' in Partner._fields
|
|
print(f"Custom Partner Categories exist: {has_partner_cat}")
|
|
|
|
print("============================")
|
|
|
|
verify()
|