diff --git a/cor_custom/models/analytic.py b/cor_custom/models/analytic.py index 0eda290..9b31467 100755 --- a/cor_custom/models/analytic.py +++ b/cor_custom/models/analytic.py @@ -20,7 +20,32 @@ class AccountAnalyticLine(models.Model): 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)]", + 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): + self.sub_project = False + res = {} + if self.project_id and self.project_id.sub_project: + res['domain'] = {'sub_project': [('id', 'in', self.project_id.sub_project.ids)]} + else: + res['domain'] = {'sub_project': [('id', '=', False)]} + return res def _default_start_datetime(self): return fields.Datetime.to_string(datetime.combine(fields.Datetime.now(), datetime.min.time())) diff --git a/cor_custom/views/analytic_view.xml b/cor_custom/views/analytic_view.xml index bf620be..27d0b17 100755 --- a/cor_custom/views/analytic_view.xml +++ b/cor_custom/views/analytic_view.xml @@ -69,6 +69,7 @@ + @@ -77,7 +78,7 @@ - + diff --git a/sub_project/__manifest__.py b/sub_project/__manifest__.py index 1b22b94..bb4bcb7 100755 --- a/sub_project/__manifest__.py +++ b/sub_project/__manifest__.py @@ -9,10 +9,10 @@ 'license': '', 'depends': ['base', 'project'], 'data': ['views/sub_project.xml', - #'views/analytic_view.xml', + #'views/analytic_view.xml', 'security/ir.model.access.csv'], 'demo': [''], 'installable': True, 'auto_install': False, -} \ No newline at end of file +} diff --git a/sub_project/models/analytic.py b/sub_project/models/analytic.py index 4cba857..7a1efcc 100755 --- a/sub_project/models/analytic.py +++ b/sub_project/models/analytic.py @@ -14,9 +14,9 @@ import dateutil.parser class AccountAnalyticLineSubProject(models.Model): _inherit = 'account.analytic.line' - sub_project = fields.Many2many('project.project', 'project_subproject_timesheet_rel', 'project_id', 'id', - domain="[('is_sub_project', '=', True),('parent_project', '=', False)]", - string='Sub Project') + # sub_project = fields.Many2many('project.project', 'project_subproject_timesheet_rel', 'project_id', 'id', + # domain="[('is_sub_project', '=', True),('parent_project', '=', False)]", + # string='Sub Project') diff --git a/sub_project/views/analytic_view.xml b/sub_project/views/analytic_view.xml index 2fcb11f..aa4612e 100755 --- a/sub_project/views/analytic_view.xml +++ b/sub_project/views/analytic_view.xml @@ -1,13 +1,13 @@ - +