Split 49 modules/suites into independent git repos; untrack from monorepo
Each top-level module/suite folder is now its own private repo on GitHub (gsinghpal/<name>) and gitea (admin/<name>), with a fresh single initial commit. The monorepo no longer tracks them (added to .gitignore + git rm --cached); working-tree files are retained on disk and managed in their own repos. The monorepo keeps shared root files (CLAUDE.md, docs/, scripts/, tools/, AGENTS.md, WIP/obsolete dirs) and full history. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,61 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2026 Nexa Systems Inc.
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
# Part of the Fusion Plating product family.
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class HrEmployee(models.Model):
|
||||
"""Extend hr.employee with driver fields.
|
||||
|
||||
Drivers are just employees with the `x_fc_is_driver` flag set. This
|
||||
avoids creating a parallel driver model and keeps time tracking, HR
|
||||
records, and payroll integrations working out of the box.
|
||||
|
||||
Uses the `x_fc_` prefix per the Fusion Central field naming
|
||||
convention for extensions of base Odoo models.
|
||||
"""
|
||||
_inherit = 'hr.employee'
|
||||
|
||||
x_fc_is_driver = fields.Boolean(
|
||||
string='Is Driver',
|
||||
help='Check if this employee is authorised to drive company vehicles '
|
||||
'for pickups and deliveries.',
|
||||
)
|
||||
x_fc_driver_licence_class = fields.Char(
|
||||
string='Licence Class',
|
||||
help='Driver licence class - e.g. G, G2, AZ, DZ.',
|
||||
)
|
||||
x_fc_licence_expiry = fields.Date(
|
||||
string='Licence Expiry',
|
||||
)
|
||||
x_fc_tdg_certified = fields.Boolean(
|
||||
string='TDG Certified',
|
||||
help='Certified to transport Transportation of Dangerous Goods '
|
||||
'(hazmat) loads.',
|
||||
)
|
||||
x_fc_tdg_expiry = fields.Date(
|
||||
string='TDG Certificate Expiry',
|
||||
)
|
||||
x_fc_pickup_request_ids = fields.One2many(
|
||||
'fusion.plating.pickup.request',
|
||||
'assigned_driver_id',
|
||||
string='Pickup Requests',
|
||||
)
|
||||
x_fc_delivery_ids = fields.One2many(
|
||||
'fusion.plating.delivery',
|
||||
'assigned_driver_id',
|
||||
string='Deliveries',
|
||||
)
|
||||
x_fc_pickup_request_count = fields.Integer(
|
||||
compute='_compute_logistics_counts',
|
||||
)
|
||||
x_fc_delivery_count = fields.Integer(
|
||||
compute='_compute_logistics_counts',
|
||||
)
|
||||
|
||||
def _compute_logistics_counts(self):
|
||||
for rec in self:
|
||||
rec.x_fc_pickup_request_count = len(rec.x_fc_pickup_request_ids)
|
||||
rec.x_fc_delivery_count = len(rec.x_fc_delivery_ids)
|
||||
Reference in New Issue
Block a user