trytond-project_employee / work.py

#This file is part project_employee module for Tryton.
#The COPYRIGHT file at the top level of this repository contains
#the full copyright notices and license terms.
from trytond.model import ModelSQL, fields
from trytond.pool import PoolMeta
from trytond.pyson import Eval

__all__ = ['ProjectWork', 'ProjectWorkEmployee']
__metaclass__ = PoolMeta


class ProjectWorkEmployee(ModelSQL):
    'Project Work - Employee'
    __name__ = 'project.work-company.employee'
    _table = 'project_work_company_employee_rel'
    work = fields.Many2One('project.work', 'Work', ondelete='CASCADE',
        select=True, required=True)
    employee = fields.Many2One('company.employee', 'Employee',
        ondelete='CASCADE', select=True, required=True)


class ProjectWork:
    'Work Effort'
    __name__ = 'project.work'
    employees = fields.Many2Many('project.work-company.employee', 'work',
        'employee', 'Employees')
    employee = fields.Many2One('company.employee', 'Current Employee',
        domain=[
            ('company', '=', Eval('company')),
            ('id', 'in', Eval('employees', [])),
            ],
        depends=['employees', 'company'])
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.