diff --git a/cor_custom/models/analytic.py b/cor_custom/models/analytic.py
index 9b31467..b22397e 100755
--- a/cor_custom/models/analytic.py
+++ b/cor_custom/models/analytic.py
@@ -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 = []
diff --git a/cor_custom/views/analytic_view.xml b/cor_custom/views/analytic_view.xml
index acdac25..56e4a08 100755
--- a/cor_custom/views/analytic_view.xml
+++ b/cor_custom/views/analytic_view.xml
@@ -67,7 +67,7 @@
-
+