chore(plating): retire fusion_plating_culture — not a priority
Culture/values/recognitions framework was shipping zero data and zero workflow integration for this client. It's a people-ops concern (peer kudos, "Fundamental of the Week" rotations) with no overlap with the technical plating pipeline — no interaction with process recipes, quality holds, sensors, or compliance. Verified zero data on entech before uninstalling: fusion.plating.value 0 records fusion.plating.value.set 0 fusion.plating.value.recognition 0 fusion.plating.value.rotation 0 Clean uninstall on entech, module dir removed from disk. The Culture top-level menu disappears. If a future client wants it back, the module is easy to re-author — nothing we built on top of it depends on it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,100 +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 api, fields, models
|
||||
|
||||
|
||||
class FpValue(models.Model):
|
||||
"""A single value, fundamental, core behaviour, or belief.
|
||||
|
||||
Values are grouped under a fusion.plating.value.set. Each value has a
|
||||
short title, an optional display number (e.g. "Fundamental #3"), a
|
||||
long-form description, stories / examples of living the value, and an
|
||||
icon for display in kanban tiles.
|
||||
"""
|
||||
_name = 'fusion.plating.value'
|
||||
_description = 'Fusion Plating — Value'
|
||||
_order = 'set_id, sequence, number, name'
|
||||
|
||||
name = fields.Char(
|
||||
string='Title',
|
||||
required=True,
|
||||
help='Short, memorable title for the value, e.g. '
|
||||
'"Do What\'s Best for the Customer".',
|
||||
)
|
||||
sequence = fields.Integer(
|
||||
string='Sequence',
|
||||
default=10,
|
||||
help='Display order within the set.',
|
||||
)
|
||||
number = fields.Integer(
|
||||
string='Number',
|
||||
help='Optional display number (e.g. 1, 2, 3). Shows on kanban '
|
||||
'tiles and in rotation schedules.',
|
||||
)
|
||||
set_id = fields.Many2one(
|
||||
'fusion.plating.value.set',
|
||||
string='Value Set',
|
||||
required=True,
|
||||
ondelete='cascade',
|
||||
index=True,
|
||||
)
|
||||
company_id = fields.Many2one(
|
||||
'res.company',
|
||||
string='Company',
|
||||
related='set_id.company_id',
|
||||
store=True,
|
||||
readonly=True,
|
||||
)
|
||||
description = fields.Html(
|
||||
string='Description',
|
||||
help='Long-form explanation of what this value means and how it '
|
||||
'shows up in daily work.',
|
||||
)
|
||||
examples = fields.Html(
|
||||
string='Stories & Examples',
|
||||
help='Stories, anecdotes, and concrete examples of people living '
|
||||
'this value.',
|
||||
)
|
||||
icon = fields.Char(
|
||||
string='Icon',
|
||||
default='fa-star',
|
||||
help='Font Awesome icon class (without the "fa " prefix), '
|
||||
'e.g. "fa-heart", "fa-bolt".',
|
||||
)
|
||||
color = fields.Integer(
|
||||
string='Color Index',
|
||||
default=0,
|
||||
help='Kanban colour index (0-11).',
|
||||
)
|
||||
active = fields.Boolean(
|
||||
string='Active',
|
||||
default=True,
|
||||
)
|
||||
recognition_ids = fields.One2many(
|
||||
'fusion.plating.value.recognition',
|
||||
'value_id',
|
||||
string='Recognitions',
|
||||
)
|
||||
recognition_count = fields.Integer(
|
||||
string='Recognition Count',
|
||||
compute='_compute_recognition_count',
|
||||
)
|
||||
|
||||
@api.depends('recognition_ids', 'recognition_ids.state')
|
||||
def _compute_recognition_count(self):
|
||||
for rec in self:
|
||||
rec.recognition_count = len(rec.recognition_ids.filtered(
|
||||
lambda r: r.state == 'published'
|
||||
))
|
||||
|
||||
def name_get(self):
|
||||
result = []
|
||||
for rec in self:
|
||||
if rec.number:
|
||||
result.append((rec.id, f'#{rec.number} — {rec.name}'))
|
||||
else:
|
||||
result.append((rec.id, rec.name))
|
||||
return result
|
||||
Reference in New Issue
Block a user