Repository
OCA/manufacture · module folder · Try on Runboat
Module version
1.0.1
Category
Quality Control
Folder size
0.26 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/manufacture
Last tracking update
2026-08-07 07:31:54
Authors
Odoo Community Association (OCA), Eficent
Maintainers
Odoo Community Association (OCA), Eficent
Committers
Holger Brunn, Lois Rilo, Weblate, OCA Transbot, OCA-git-bot, oca-travis
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
repair_quality_control_issue
Description

Code Analysis

Views touched (15)
XML IDNameModelTypeStatus
qc_issue_form qc.issue.form qc.issue form New
qc_issue_kanban_view qc.issue.kanban qc.issue kanban New
qc_issue_search qc.issue.search qc.issue search New
qc_issue_stage_tree qc.issue.stage.tree qc.issue.stage tree New
qc_issue_tree qc.issue.tree qc.issue tree New
qc_problem_form qc.problem.form qc.problem form New
qc_problem_group_form qc.problem.group.form qc.problem.group form New
qc_problem_group_tree qc.problem.group.tree qc.problem.group tree New
qc_problem_kanban_view qc.problem.kanban qc.problem kanban New
qc_problem_search qc.problem.search qc.problem search New
qc_problem_tree qc.problem.tree qc.problem tree New
qc_stage_tree qc.stage.tree qc.stage tree New
qc_team_view_kanban qc.team.dashboard - quality_control_issue qc.team kanban Inherits quality_control_team.qc_team_view_kanban
stock_scrap_form_view stock.scrap.form - quality_control_issue stock.scrap form Inherits stock.stock_scrap_form_view
stock_scrap_form_view2 stock.scrap.form2 - quality_control_issue stock.scrap form Inherits stock.stock_scrap_form_view2
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (6)

New fields (18)
  • color Integer
    string='Color Index'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • description Text
    states={'done': [('readonly', True)]}
  • inspector_id Many2one → res.users
    comodel_name='res.users' default=<expr> readonly=True required=True states={'new': [('readonly', False)]} string='Inspector' track_visibility='onchange'
  • location_id Many2one → stock.location
    comodel_name='stock.location' default=_get_default_location_id readonly=True states={'new': [('readonly', False)]} string='Location'
  • lot_id Many2one → stock.production.lot
    comodel_name='stock.production.lot' readonly=True states={'new': [('readonly', False)]} string='Lot/Serial Number'
  • name Char
    readonly=True
  • product_id Many2one → product.product
    comodel_name='product.product' readonly=True required=True states={'new': [('readonly', False)]} string='Product'
  • product_qty Float
    default=1.0 digits=dp.get_precision('Product Unit of Measure') readonly=True required=True states={'new': [('readonly', False)]} string='Product Quantity'
  • product_tracking Selection
    related='product_id.tracking'
  • product_uom Many2one → uom.uom
    comodel_name='uom.uom' default=_get_uom readonly=True required=True states={'new': [('readonly', False)]} string='Product Unit of Measure'
  • qc_problem_ids Many2many → qc.problem
    column1='qc_issue_id' column2='qc_problem_id' comodel_name='qc.problem' relation='qc_issue_problem_rel' states={'done': [('readonly', True)]} string='Problems'
  • qc_team_id Many2one → qc.team
    comodel_name='qc.team' default=<expr> index=True string='QC Team' track_visibility='onchange'
  • responsible_id Many2one → res.users
    comodel_name='res.users' states={'done': [('readonly', True)]} string='Assigned to' track_visibility='onchange'
  • stage_id Many2one → qc.issue.stage
    comodel_name='qc.issue.stage' default=_get_default_stage_id domain="['|', ('qc_team_id', '=', False), ('qc_team_id', '=', qc_team_id)]" group_expand='_read_group_stage_ids' index=True string='Stage' track_visibility='onchange'
  • state Selection
    default='new' readonly=True selection=[('new', 'New'), ('progress', 'In Progress'), ('done', 'Done'), ('cancel', 'Cancel')] track_visibility='onchange'
  • stock_scrap_ids One2many → stock.scrap
    comodel_name='stock.scrap' inverse_name='qc_issue_id' string='Scraps'
  • stock_scrap_qty Integer
    compute=_compute_stock_scrap_qty
Public methods (8)
  • action_cancel(self)
    @api.multi
  • action_confirm(self)
    @api.multi
  • action_done(self)
    @api.multi
  • action_view_stock_scrap(self)
    @api.multi
  • create(self, vals)
    @api.model
  • issue_stage_find(self, cases, team, domain=None, order='sequence')
    Override of the base.stage method Parameter of the stage search taken from the problem: - team_id: if set, stages must belong to this team or be a default stage; if not set, stages must be default stages
  • scrap_products(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (5)
  • fold Boolean
    default=False help='This stage is folded in the kanban view when there are no records in that stage to display.' string='Folded in Pipeline'
  • name Char
    required=True args: 'Stage Name'
  • qc_team_id Many2one → qc.team
    comodel_name='qc.team' ondelete='set null' string='Quality Control Team'
  • sequence Integer
    default=1 help='Used to order stages. Lower is better.' string='Sequence'
  • state Selection
    selection=<expr> string='QC State'
Public methods (1)
  • default_get(self, fields)
    @api.model
    Hack : when going from the kanban view, creating a stage with a qc team in context should not create a stage for the current team only.

New fields (10)
  • color Integer
    string='Color Index'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • issue_count Integer
    compute=_compute_count store=True string='Issues'
  • issue_ids Many2many → qc.issue
    column1='qc_problem_id' column2='qc_issue_id' comodel_name='qc.issue' relation='qc_issue_problem_rel' string='QC Issues'
  • name Char
  • notes Text
  • priority Selection
    default='0' index=True selection=AVAILABLE_PRIORITIES string='Rating'
  • problem_group_id Many2one → qc.problem.group
    comodel_name='qc.problem.group' string='Problem Group'
  • qc_team_id Many2one → qc.team
    comodel_name='qc.team' default=<expr> index=True string='QC Team' track_visibility='onchange'
  • stage_id Many2one → qc.stage
    comodel_name='qc.stage' default=_get_default_stage_id domain="['|', ('qc_team_id', '=', False), ('qc_team_id', '=', qc_team_id)]" group_expand='_read_group_stage_ids' index=True string='Stage' track_visibility='onchange'
Public methods (1)
  • stage_find(self, cases, team, domain=None, order='sequence')
    Override of the base.stage method Parameter of the stage search taken from the problem: - team_id: if set, stages must belong to this team or be a default stage; if not set, stages must be default stages

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • name Char
  • problem_ids One2many → qc.problem
    comodel_name='qc.problem' inverse_name='problem_group_id'
Public methods (0)

No public methods.

New fields (4)
  • fold Boolean
    default=False help='This stage is folded in the kanban view when there are no records in that stage to display.' string='Folded in Pipeline'
  • name Char
    required=True args: 'Stage Name'
  • qc_team_id Many2one → qc.team
    comodel_name='qc.team' ondelete='set null' string='Quality Control Team'
  • sequence Integer
    default=1 help='Used to order stages. Lower is better.' string='Sequence'
Public methods (1)
  • default_get(self, fields)
    @api.model
    Hack : when going from the kanban view, creating a stage with a qc team in context should not create a stage for the current team only.

New fields (1)
  • qc_issue_id Many2one → qc.issue
    comodel_name='qc.issue' string='Quality Control Issue'
Public methods (0)

No public methods.

Loading…

Loading…