add filter in timesheet project
This commit is contained in:
parent
cc70afeb4b
commit
343a70922c
|
@ -14,28 +14,26 @@ import dateutil.parser
|
|||
class AccountAnalyticLine(models.Model):
|
||||
_inherit = 'account.analytic.line'
|
||||
|
||||
def _domain_project_id(self):
|
||||
domain = [('allow_timesheets', '=', True),('is_sub_project', '=', False)]
|
||||
if not self.user_has_groups('hr_timesheet.group_timesheet_manager'):
|
||||
return expression.AND([domain,
|
||||
['|', ('privacy_visibility', '!=', 'followers'), ('allowed_internal_user_ids', 'in', self.env.user.ids)]
|
||||
])
|
||||
return domain
|
||||
|
||||
project_id = fields.Many2one(
|
||||
'project.project', 'Project', compute='_compute_project_id', store=True, readonly=False,
|
||||
domain=_domain_project_id)
|
||||
start_time = fields.Float(string='Start Time', digits=(16, 2))
|
||||
end_time = fields.Float(string='End Time', digits=(16, 2))
|
||||
start_datetime = fields.Datetime("Start Time", required=True)
|
||||
end_datetime = fields.Datetime("End Time", required=True)
|
||||
unit_amount = fields.Float('Duration', default=0.0)
|
||||
parent_project = fields.Many2one('project.project', related='project_id.parent_project', string='Parent Project')
|
||||
sub_project = fields.Many2many('project.project', 'project_subproject_timesheet_rel', 'project_id', 'id',
|
||||
domain="[('is_sub_project', '=', True)]",
|
||||
sub_project = fields.Many2one('project.project', domain="[('is_sub_project', '=', True)]",
|
||||
string='Sub Project')
|
||||
|
||||
# @api.onchange('employee_id')
|
||||
# def onchange_employee_id(self):
|
||||
# res = {}
|
||||
# emp_ids = [emp.employee_id.id for emp in self.project_id.sale_line_employee_ids]
|
||||
# res['domain'] = {'employee_id': [('id', 'in', emp_ids)]}
|
||||
# if 'project_id' in self.env.context:
|
||||
# # if not self.env.context['project_id']:
|
||||
# # raise UserError(_('Please save record before add a line'))
|
||||
# if not emp_ids:
|
||||
# raise UserError(_('Please add consultant at Invoicing tab before add a line'))
|
||||
# res['domain'] = {'employee_id': [('id', 'in', emp_ids)]}
|
||||
# return res
|
||||
|
||||
@api.onchange('project_id')
|
||||
def _onchange_sub_project_id(self):
|
||||
|
@ -54,18 +52,6 @@ class AccountAnalyticLine(models.Model):
|
|||
return fields.Datetime.to_string(datetime.combine(fields.Datetime.now(), datetime.max.time()))
|
||||
|
||||
|
||||
# @api.onchange('project_id')
|
||||
# def _onchange_parent_project_id(self):
|
||||
# if self.project_id:
|
||||
# parent_project = self.env['project.project'].search([('sub_project', '=', self.project_id.id)], limit=1)
|
||||
# if parent_project:
|
||||
# self.parent_project = parent_project.id
|
||||
# else:
|
||||
# self.parent_project = False
|
||||
# else:
|
||||
# self.parent_project = False
|
||||
|
||||
|
||||
@api.onchange('employee_id')
|
||||
def _onchange_employee_id(self):
|
||||
domain = []
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
<field name="employee_id" invisible="1"/>
|
||||
<field name="project_id" required="1" options="{'no_create_edit': True}"
|
||||
context="{'form_view_ref': 'project.project_project_view_form_simplified',}"/>
|
||||
<field name="sub_project" widget="many2many_tags" options="{'no_open': True, 'no_create': True, 'no_create_edit': True}"/>
|
||||
<field name="sub_project" options="{'no_open': True, 'no_create': True, 'no_create_edit': True}"/>
|
||||
<field name="task_id" optional="show" options="{'no_create_edit': True, 'no_open': True}"
|
||||
widget="task_with_hours" context="{'default_project_id': project_id}"
|
||||
domain="[('project_id', '=', project_id)]"/>
|
||||
|
|
Loading…
Reference in New Issue