diff --git a/cor_custom/models/analytic.py b/cor_custom/models/analytic.py
index 716634b..3df681a 100755
--- a/cor_custom/models/analytic.py
+++ b/cor_custom/models/analytic.py
@@ -8,6 +8,7 @@ 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 AccountAnalyticLine(models.Model):
@@ -18,6 +19,17 @@ class AccountAnalyticLine(models.Model):
unit_amount = fields.Float('Duration', default=0.0)
parent_project = fields.Many2one('project.project', string='Parent Project')
+
+ def _default_start_datetime(self):
+ return fields.Datetime.to_string(datetime.combine(fields.Datetime.now(), datetime.min.time()))
+
+ def _default_end_datetime(self):
+ return fields.Datetime.to_string(datetime.combine(fields.Datetime.now(), datetime.max.time()))
+
+ start_datetime = fields.Datetime("Start Time", required=True, default=_default_start_datetime)
+ end_datetime = fields.Datetime("End Time", required=True, default=_default_end_datetime)
+
+
@api.onchange('project_id')
def _onchange_parent_project_id(self):
if self.project_id:
@@ -30,7 +42,6 @@ class AccountAnalyticLine(models.Model):
self.parent_project = False
-
@api.onchange('employee_id')
def _onchange_employee_id(self):
domain = []
@@ -135,6 +146,8 @@ class AccountAnalyticLine(models.Model):
def create(self, vals):
if vals.get('unit_amount') == 0.0:
raise ValidationError(_("Your can not fill 0.0 hour entry"))
+ if vals.get('unit_amount') >= 24.0:
+ raise ValidationError(_("Your can not fill more than 24.0 hour entry"))
value = super(AccountAnalyticLine, self).create(vals)
if value and value.project_id:
value.project_id._onchange_calculate_timesheet_hours()
@@ -149,3 +162,8 @@ class AccountAnalyticLine(models.Model):
if self.project_id:
self.project_id._onchange_calculate_timesheet_hours()
return res
+
+ @api.onchange('start_datetime', 'end_datetime')
+ def _onchange_start_end_date(self):
+ if self.start_datetime:
+ self.date = self.start_datetime.date()
diff --git a/cor_custom/views/analytic_view.xml b/cor_custom/views/analytic_view.xml
index 8160eb9..a867918 100755
--- a/cor_custom/views/analytic_view.xml
+++ b/cor_custom/views/analytic_view.xml
@@ -21,8 +21,10 @@
-
-
+
+
+
+
+
+
+ account.analytic.line.tree.hr_timesheet
+ account.analytic.line
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -81,7 +111,8 @@
account.analytic.line.calendar
account.analytic.line
-
+
@@ -89,7 +120,7 @@
-
+
calendar
@@ -100,7 +131,7 @@
My Timesheets
account.analytic.line
- tree,form,kanban,calendar
+ calendar,tree,form,kanban
[('project_id', '!=', False), ('user_id', '=', uid)]
{
"search_default_week":1,
@@ -117,19 +148,57 @@
+
+ account.analytic.line.form
+ account.analytic.line
+ 1
+
+
+
+
+
+
account.analytic.line.calendar
account.analytic.line
-
+
+
-
+
calendar