Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class QualityTask(ModelSQL, ModelView, Workflow):
- "Quality Task"
- __name__ = 'quality.task'
- company = fields.Many2One(
- 'company.company', "Company", required=True, readonly=True,
- ondelete='CASCADE')
- quality_task_dictionary = fields.Many2One(
- 'quality.task.dictionary', "Quality Task Dictionary",
- required=True, readonly=True)
- product = fields.Many2One('product.product', "Product", readonly=True)
- origin = fields.Reference(
- "Origin", selection='get_origin', select=True,
- required=True, readonly=True)
- customer = fields.Function(fields.Many2One(
- 'party.party', "Customer",
- context={
- 'company': Eval('company', -1),
- },
- depends={'company'}),
- 'get_customer', searcher='search_customer')
- task_name = fields.Function(fields.Char("Name"), 'get_task_name')
- task_description = fields.Function(
- fields.Text("Description"), 'get_task_description')
- task_type = fields.Selection([
- ('administrative', "Administrative"),
- ('quality', "Quality")
- ], "Type of the task", select=True, readonly=True, required=True)
- planned_date = fields.Date(
- "Planned Date", select=True, readonly=True, required=True)
- note = fields.Text(
- "Note",
- states={
- 'readonly': Eval('state') != 'requested',
- })
- bypassed_by = employee_field("Bypassed by")
- done_by = employee_field("Done by")
- cancelled_by = employee_field("Cancelled by")
- state = fields.Selection([
- ('requested', "Requested"),
- ('done', "Done"),
- ('bypassed', "Bypassed"),
- ('cancelled', "Cancelled"),
- ], "State", readonly=True, required=True)
- @classmethod
- def __setup__(cls):
- super(QualityTask, cls).__setup__()
- cls._order = [
- ('planned_date', 'DESC'),
- ]
- cls._transitions = set((
- ('requested', 'cancelled'),
- ('cancelled', 'requested'),
- ('requested', 'bypassed'),
- ('bypassed', 'requested'),
- ('requested', 'done'),
- ))
- cls._buttons.update({
- 'request': {
- 'invisible': ~Eval('state').in_(['cancelled', 'bypassed']),
- 'depends': ['state'],
- },
- 'cancel': {
- 'invisible': Eval('state') != 'requested',
- 'depends': ['state'],
- },
- 'done': {
- 'invisible': Eval('state') != 'requested',
- 'depends': ['state'],
- },
- })
- def __eq__(self, other):
- return (self.origin == other.origin
- and self.quality_task_dictionary == other.quality_task_dictionary
- and self.product == other.product)
- def __hash__(self):
- return hash((self.origin,
- self.quality_task_dictionary,
- self.product))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement