From aec6d12a0218971b1a5657369525a9e97802a742 Mon Sep 17 00:00:00 2001 From: Elouan Le Bars Date: Fri, 15 Nov 2019 14:11:38 +0100 Subject: [PATCH] [ADD] b_shift : default task type configuration --- beesdoo_shift/__openerp__.py | 1 + beesdoo_shift/data/system_parameter.xml | 8 +++++ beesdoo_shift/models/__init__.py | 1 + beesdoo_shift/models/attendance_sheet.py | 9 +++++- beesdoo_shift/models/res_config.py | 34 ++++++++++++++++++++++ beesdoo_shift/security/ir.model.access.csv | 1 + 6 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 beesdoo_shift/models/res_config.py diff --git a/beesdoo_shift/__openerp__.py b/beesdoo_shift/__openerp__.py index f732eff..7662a23 100644 --- a/beesdoo_shift/__openerp__.py +++ b/beesdoo_shift/__openerp__.py @@ -24,6 +24,7 @@ "security/group.xml", "security/ir.model.access.csv", "views/task_template.xml", + "views/res_config_view.xml", "views/task.xml", "views/planning.xml", "views/cooperative_status.xml", diff --git a/beesdoo_shift/data/system_parameter.xml b/beesdoo_shift/data/system_parameter.xml index 299b6db..1b7fede 100644 --- a/beesdoo_shift/data/system_parameter.xml +++ b/beesdoo_shift/data/system_parameter.xml @@ -31,4 +31,12 @@ regular_counter_to_unsubscribe -4 + + beesdoo_shift.attendance_sheet_generation_interval + 15 + + + beesdoo_shift.default_task_type_id + 1 + diff --git a/beesdoo_shift/models/__init__.py b/beesdoo_shift/models/__init__.py index 7b05a53..ece8050 100644 --- a/beesdoo_shift/models/__init__.py +++ b/beesdoo_shift/models/__init__.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- import attendance_sheet import planning +import res_config import task import cooperative_status diff --git a/beesdoo_shift/models/attendance_sheet.py b/beesdoo_shift/models/attendance_sheet.py index 4733409..ac41f37 100644 --- a/beesdoo_shift/models/attendance_sheet.py +++ b/beesdoo_shift/models/attendance_sheet.py @@ -13,6 +13,13 @@ class AttendanceSheetShift(models.Model): _name = "beesdoo.shift.sheet.shift" _description = "Copy of an actual shift into an attendance sheet" + @api.model + def _default_task_type_id(self): + parameters = self.env['ir.config_parameter'] + id = int(parameters.get_param('beesdoo_shift.default_task_type_id')) + task_types = self.env["beesdoo.shift.type"] + return task_types.browse(id) + # Related actual shift, not required because doesn't exist for added shift before validation # To update after validation task_id = fields.Many2one("beesdoo.shift.shift", string="Task") @@ -42,7 +49,7 @@ class AttendanceSheetShift(models.Model): ], required=True, ) - task_type_id = fields.Many2one("beesdoo.shift.type", string="Task Type") + task_type_id = fields.Many2one("beesdoo.shift.type", string="Task Type", default=_default_task_type_id) working_mode = fields.Selection( related="worker_id.working_mode", string="Working Mode", store=True ) diff --git a/beesdoo_shift/models/res_config.py b/beesdoo_shift/models/res_config.py new file mode 100644 index 0000000..576b8ee --- /dev/null +++ b/beesdoo_shift/models/res_config.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- + +# Copyright 2019-2020 Elouan Le Bars +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp import fields, models, api + + +class ShiftConfigSettings(models.TransientModel): + _name = "beesdoo.shift.config.settings" + _inherit = "res.config.settings" + + default_task_type_id = fields.Many2one( + "beesdoo.shift.type", + string="Default Task Type", + help="Default task type for shifts added on an attendance sheet.", + ) + + @api.multi + def set_params(self): + self.ensure_one() + value = self.default_task_type_id.id + parameters = self.env["ir.config_parameter"] + parameters.set_param("beesdoo_shift.default_task_type_id", value) + + @api.multi + def get_default_task_type_id(self): + return { + "default_task_type_id": int( + self.env["ir.config_parameter"].get_param( + "beesdoo_shift.default_task_type_id" + ) + ) + } diff --git a/beesdoo_shift/security/ir.model.access.csv b/beesdoo_shift/security/ir.model.access.csv index 4728e78..6971b61 100644 --- a/beesdoo_shift/security/ir.model.access.csv +++ b/beesdoo_shift/security/ir.model.access.csv @@ -18,6 +18,7 @@ access_coopplanning_task_full,Shift Management all Shift,model_beesdoo_shift_shi admin_access_attendance_sheet,Attendance Sheet Shift Read Abstract,model_beesdoo_shift_sheet_shift,group_cooperative_admin,1,1,1,1 admin_access_attendance_sheet_expected,Attendance Sheet Shift Read Expected,model_beesdoo_shift_sheet_expected,group_cooperative_admin,1,1,1,1 + access_coop_status,Coop Status Read for all,model_cooperative_status,,1,0,0,0 access_coop_status_all,Coop Status Admin,model_cooperative_status,group_cooperative_admin,1,1,1,1 all_config_coopplanning_task_type,Attendance Read Type,model_beesdoo_shift_type,group_planning_management,1,1,1,1