diff --git a/cor_custom/models/analytic.py b/cor_custom/models/analytic.py index f2efbc2..9b31467 100755 --- a/cor_custom/models/analytic.py +++ b/cor_custom/models/analytic.py @@ -14,13 +14,38 @@ import dateutil.parser class AccountAnalyticLine(models.Model): _inherit = 'account.analytic.line' - #start_time = fields.Float(string='Start Time', digits=(16, 2)) - #end_time = fields.Float(string='End Time', digits=(16, 2)) + 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)]", + 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 6b4a57a..98a8514 100755 --- a/cor_custom/views/analytic_view.xml +++ b/cor_custom/views/analytic_view.xml @@ -67,6 +67,7 @@ + @@ -75,7 +76,7 @@ - + @@ -178,6 +179,8 @@ +<<<<<<< HEAD +======= account.analytic.line.search account.analytic.line @@ -213,6 +216,7 @@ --> +>>>>>>> 0964d5378c9e26188e9e977126bb2beb977992ea account.analytic.line.calendar account.analytic.line diff --git a/sub_project/__manifest__.py b/sub_project/__manifest__.py index ae3332f..bb4bcb7 100755 --- a/sub_project/__manifest__.py +++ b/sub_project/__manifest__.py @@ -9,9 +9,10 @@ 'license': '', 'depends': ['base', 'project'], 'data': ['views/sub_project.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/__init__.py b/sub_project/models/__init__.py index d30a3e9..d5082c4 100755 --- a/sub_project/models/__init__.py +++ b/sub_project/models/__init__.py @@ -1 +1,2 @@ -from . import sub_project \ No newline at end of file +from . import sub_project +from . import analytic \ No newline at end of file diff --git a/sub_project/models/analytic.py b/sub_project/models/analytic.py new file mode 100755 index 0000000..7a1efcc --- /dev/null +++ b/sub_project/models/analytic.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details + +from odoo import api, exceptions, fields, models, tools, _ +from odoo.exceptions import UserError, AccessError, ValidationError +from odoo.osv import expression +import math +from datetime import datetime, time, timedelta +from odoo.tools.float_utils import float_round +from odoo.tools import DEFAULT_SERVER_DATE_FORMAT, ustr +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') + + + + # @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 \ No newline at end of file diff --git a/sub_project/views/analytic_view.xml b/sub_project/views/analytic_view.xml new file mode 100755 index 0000000..aa4612e --- /dev/null +++ b/sub_project/views/analytic_view.xml @@ -0,0 +1,13 @@ + + + +