From bf269631a627301d76460bcd5ba0403bbd7ec9a0 Mon Sep 17 00:00:00 2001 From: projectsodoo Date: Wed, 23 Dec 2020 14:33:02 +0530 Subject: [PATCH] Updated user permission and validation --- cor_custom/models/analytic.py | 8 ++++++++ cor_custom/models/crm_lead.py | 8 ++++++++ cor_custom/views/analytic_view.xml | 6 +++--- cor_custom/views/crm_view.xml | 5 +++++ project_report/security/ir.model.access.csv | 5 +++-- 5 files changed, 27 insertions(+), 5 deletions(-) diff --git a/cor_custom/models/analytic.py b/cor_custom/models/analytic.py index bd1acd1..0c5da41 100755 --- a/cor_custom/models/analytic.py +++ b/cor_custom/models/analytic.py @@ -11,6 +11,14 @@ class AccountAnalyticLine(models.Model): start_time = fields.Float('Start Time', digits=(16, 2)) end_time = fields.Float('End Time', digits=(16, 2)) + + _sql_constraints = [ + ('check_start_time_lower_than_24', 'CHECK(start_time <= 24)', 'You cannot have a start hour greater than 24'), + ('check_start_time_positive', 'CHECK(start_time >= 0)', 'Start hour must be a positive number'), + ('check_end_time_lower_than_24', 'CHECK(end_time <= 24)', 'You cannot have a end hour greater than 24'), + ('check_end_time_positive', 'CHECK(end_time >= 0)', 'End hour must be a positive number'), + ] + @api.constrains('start_time', 'end_time') def _check_validity_start_time_end_time(self): for rec in self: diff --git a/cor_custom/models/crm_lead.py b/cor_custom/models/crm_lead.py index 19b6a5b..9689eb6 100755 --- a/cor_custom/models/crm_lead.py +++ b/cor_custom/models/crm_lead.py @@ -23,9 +23,17 @@ class Lead(models.Model): client_folder = fields.Char(string='Client Folder') start_date = fields.Date(string='Start Date') close_date = fields.Date(string='Close Date') + #user_id = fields.Many2one('res.users', string='Salesperson', index=True, tracking=True, default=lambda self: self.env.user) + #set_readonly = fields.Boolean('Set Readonly', compute='_domain_check_user_group') _sql_constraints = [ ('phone_uniq', 'unique(phone)', "Phone No already exists !"), ('email_from_uniq', 'unique(email_from)', "Email ID already exists !"), ] + """def _domain_check_user_group(self): + print(self.user_has_groups('sales_team.group_sale_salesman'), self.user_has_groups('sales_team.group_sale_salesman_all_leads'), self.user_has_groups('group_sale_manager')) + if self.user_has_groups('sales_team.group_sale_salesman') and \ + (not self.user_has_groups('sales_team.group_sale_salesman_all_leads') or not self.user_has_groups('group_sale_manager')): + self.set_readonly = True + return domain""" diff --git a/cor_custom/views/analytic_view.xml b/cor_custom/views/analytic_view.xml index 3c95d65..69218d9 100755 --- a/cor_custom/views/analytic_view.xml +++ b/cor_custom/views/analytic_view.xml @@ -27,8 +27,8 @@ - - account.analytic.line.tree.hr_timesheet_inherit1 + diff --git a/cor_custom/views/crm_view.xml b/cor_custom/views/crm_view.xml index 7ef34d8..bf5407a 100755 --- a/cor_custom/views/crm_view.xml +++ b/cor_custom/views/crm_view.xml @@ -32,6 +32,11 @@ }" /> + diff --git a/project_report/security/ir.model.access.csv b/project_report/security/ir.model.access.csv index aa845cf..a8965bb 100755 --- a/project_report/security/ir.model.access.csv +++ b/project_report/security/ir.model.access.csv @@ -2,5 +2,6 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_project_budget_hrs_report_manager,project.budget.hrs.report,model_project_budget_hrs_report,project.group_project_manager,1,1,1,1 access_project_budget_amt_report_manager,project.budget.amt.report,model_project_budget_amt_report,project.group_project_manager,1,1,1,1 access_project_create_expense_manager,access_project_create_expense_project_manager,model_project_create_expense,project.group_project_manager,1,1,1,1 - - +access_project_budget_hrs_report_user,project.budget.hrs.report.user,model_project_budget_hrs_report,project.group_project_user,1,0,0,0 +access_project_budget_amt_report_user,project.budget.amt.report.user,model_project_budget_amt_report,project.group_project_user,1,0,0,0 +access_project_create_expense_user,access_project_create_expense_project_user,model_project_create_expense,project.group_project_user,1,0,0,0