odoo-addon-shift 16.0.1.1.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo-addon-shift-16.0.1.1.1.3/PKG-INFO +134 -0
- odoo-addon-shift-16.0.1.1.1.3/README.rst +118 -0
- odoo-addon-shift-16.0.1.1.1.3/__init__.py +2 -0
- odoo-addon-shift-16.0.1.1.1.3/__manifest__.py +45 -0
- odoo-addon-shift-16.0.1.1.1.3/data/cron.xml +54 -0
- odoo-addon-shift-16.0.1.1.1.3/data/mail_template.xml +63 -0
- odoo-addon-shift-16.0.1.1.1.3/data/system_parameter.xml +44 -0
- odoo-addon-shift-16.0.1.1.1.3/demo/exempt_reason.xml +21 -0
- odoo-addon-shift-16.0.1.1.1.3/demo/templates.xml +121 -0
- odoo-addon-shift-16.0.1.1.1.3/demo/workers.xml +143 -0
- odoo-addon-shift-16.0.1.1.1.3/i18n/fr.po +1912 -0
- odoo-addon-shift-16.0.1.1.1.3/i18n/nl.po +1910 -0
- odoo-addon-shift-16.0.1.1.1.3/i18n/shift.pot +1765 -0
- odoo-addon-shift-16.0.1.1.1.3/models/__init__.py +5 -0
- odoo-addon-shift-16.0.1.1.1.3/models/cooperative_status.py +494 -0
- odoo-addon-shift-16.0.1.1.1.3/models/planning.py +431 -0
- odoo-addon-shift-16.0.1.1.1.3/models/res_config_settings.py +9 -0
- odoo-addon-shift-16.0.1.1.1.3/models/res_partner.py +328 -0
- odoo-addon-shift-16.0.1.1.1.3/models/shift_shift.py +419 -0
- odoo-addon-shift-16.0.1.1.1.3/pyproject.toml +3 -0
- odoo-addon-shift-16.0.1.1.1.3/readme/CONFIGURE.rst +14 -0
- odoo-addon-shift-16.0.1.1.1.3/readme/CONTRIBUTORS.rst +2 -0
- odoo-addon-shift-16.0.1.1.1.3/readme/DESCRIPTION.rst +1 -0
- odoo-addon-shift-16.0.1.1.1.3/readme/HISTORY.rst +32 -0
- odoo-addon-shift-16.0.1.1.1.3/security/group.xml +26 -0
- odoo-addon-shift-16.0.1.1.1.3/security/ir.model.access.csv +25 -0
- odoo-addon-shift-16.0.1.1.1.3/static/description/icon.png +0 -0
- odoo-addon-shift-16.0.1.1.1.3/static/description/index.html +469 -0
- odoo-addon-shift-16.0.1.1.1.3/tests/__init__.py +1 -0
- odoo-addon-shift-16.0.1.1.1.3/tests/test_shift.py +459 -0
- odoo-addon-shift-16.0.1.1.1.3/tests/test_shift_common.py +59 -0
- odoo-addon-shift-16.0.1.1.1.3/views/cooperative_status.xml +262 -0
- odoo-addon-shift-16.0.1.1.1.3/views/exempt_reason.xml +17 -0
- odoo-addon-shift-16.0.1.1.1.3/views/menu.xml +139 -0
- odoo-addon-shift-16.0.1.1.1.3/views/planning.xml +116 -0
- odoo-addon-shift-16.0.1.1.1.3/views/res_config_settings_view.xml +50 -0
- odoo-addon-shift-16.0.1.1.1.3/views/task.xml +305 -0
- odoo-addon-shift-16.0.1.1.1.3/views/task_template.xml +247 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/__init__.py +7 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/assign_super_coop.py +22 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/assign_super_coop.xml +34 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/batch_template.py +69 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/batch_template.xml +46 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/extension.py +56 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/extension.xml +36 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/holiday.py +76 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/holiday.xml +24 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/instantiate_planning.py +28 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/instantiate_planning.xml +24 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/subscribe.py +214 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/subscribe.xml +70 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/temporary_exemption.py +91 -0
- odoo-addon-shift-16.0.1.1.1.3/wizard/temporary_exemption.xml +25 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: odoo-addon-shift
|
|
3
|
+
Version: 16.0.1.1.1.3
|
|
4
|
+
Requires-Python: >=3.10
|
|
5
|
+
Requires-Dist: odoo>=16.0a,<16.1dev
|
|
6
|
+
Summary: Generate and manage shifts for cooperators.
|
|
7
|
+
Home-page: https://github.com/beescoop/Obeesdoo
|
|
8
|
+
License: AGPL-3
|
|
9
|
+
Author: Thibault Francois, Elouan Le Bars, Coop IT Easy SC, Odoo Community Association (OCA),
|
|
10
|
+
Author-email: support@odoo-community.org
|
|
11
|
+
Classifier: Programming Language :: Python
|
|
12
|
+
Classifier: Framework :: Odoo
|
|
13
|
+
Classifier: Framework :: Odoo :: 16.0
|
|
14
|
+
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
|
|
15
|
+
Description-Content-Type: text/x-rst
|
|
16
|
+
|
|
17
|
+
================
|
|
18
|
+
Shift Management
|
|
19
|
+
================
|
|
20
|
+
|
|
21
|
+
..
|
|
22
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
23
|
+
!! This file is generated by oca-gen-addon-readme !!
|
|
24
|
+
!! changes will be overwritten. !!
|
|
25
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
26
|
+
!! source digest: sha256:0d5c51a0ceadd42e75fab41e6530a6e270957b77b33eae65266931089f1d95de
|
|
27
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
28
|
+
|
|
29
|
+
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
30
|
+
:target: https://odoo-community.org/page/development-status
|
|
31
|
+
:alt: Beta
|
|
32
|
+
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
|
|
33
|
+
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
|
34
|
+
:alt: License: AGPL-3
|
|
35
|
+
.. |badge3| image:: https://img.shields.io/badge/github-beescoop%2FObeesdoo-lightgray.png?logo=github
|
|
36
|
+
:target: https://github.com/beescoop/Obeesdoo/tree/16.0/shift
|
|
37
|
+
:alt: beescoop/Obeesdoo
|
|
38
|
+
|
|
39
|
+
|badge1| |badge2| |badge3|
|
|
40
|
+
|
|
41
|
+
Generate and manage shifts for cooperators.
|
|
42
|
+
|
|
43
|
+
**Table of contents**
|
|
44
|
+
|
|
45
|
+
.. contents::
|
|
46
|
+
:local:
|
|
47
|
+
|
|
48
|
+
Configuration
|
|
49
|
+
=============
|
|
50
|
+
|
|
51
|
+
- Translate cooperative status selection field, the terms to translate are:
|
|
52
|
+
|
|
53
|
+
- shift_status_up_to_date,
|
|
54
|
+
- shift_status_holidays,
|
|
55
|
+
- shift_status_warning,
|
|
56
|
+
- shift_status_extension,
|
|
57
|
+
- shift_status_suspended,
|
|
58
|
+
- shift_status_exempted,
|
|
59
|
+
- shift_status_unsubscribed,
|
|
60
|
+
- shift_status_resigning.
|
|
61
|
+
|
|
62
|
+
- Configure "Send weekly shift summary" cron:
|
|
63
|
+
|
|
64
|
+
- Its interval number (default = 7) should be consistent with notice (default = 1) and period (default = 7).
|
|
65
|
+
|
|
66
|
+
Changelog
|
|
67
|
+
=========
|
|
68
|
+
|
|
69
|
+
16.0.1.1.1 (2024-11-01)
|
|
70
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
71
|
+
|
|
72
|
+
**Bugfixes**
|
|
73
|
+
|
|
74
|
+
- Correctly recompute ``can_shop`` on partner when the value changes in the
|
|
75
|
+
``cooperative_status``. (`#536 <https://github.com/beescoop/Obeesdoo/issues/536>`_)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
12.0.2.1.0 (2022-06-21)
|
|
79
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
80
|
+
|
|
81
|
+
**Features**
|
|
82
|
+
|
|
83
|
+
- When subscribing a worker to a shift template in the backend :
|
|
84
|
+
if no super cooperator is set on template and worker is super cooperator
|
|
85
|
+
automatically set them as super cooperator.
|
|
86
|
+
The worker must have a user linked to it. (`#303 <https://github.com/beescoop/obeesdoo/issues/303>`_)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
12.0.1.1.4 (2022-05-26)
|
|
90
|
+
**Bugfixes**
|
|
91
|
+
|
|
92
|
+
- When changing a regular worker to an irregular worker via the wizard, no longer
|
|
93
|
+
give an error when their (former) shift is full. (`#390 <https://github.com/beescoop/obeesdoo/issues/390>`_)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
12.0.1.1.1 (2022-05-26)
|
|
97
|
+
**Bugfixes**
|
|
98
|
+
|
|
99
|
+
- No longer raise an error when unsubscribing a replacement worker using the
|
|
100
|
+
wizard. (`#389 <https://github.com/beescoop/obeesdoo/issues/389>`_)
|
|
101
|
+
|
|
102
|
+
Bug Tracker
|
|
103
|
+
===========
|
|
104
|
+
|
|
105
|
+
Bugs are tracked on `GitHub Issues <https://github.com/beescoop/Obeesdoo/issues>`_.
|
|
106
|
+
In case of trouble, please check there if your issue has already been reported.
|
|
107
|
+
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
108
|
+
`feedback <https://github.com/beescoop/Obeesdoo/issues/new?body=module:%20shift%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
|
109
|
+
|
|
110
|
+
Do not contact contributors directly about support or help with technical issues.
|
|
111
|
+
|
|
112
|
+
Credits
|
|
113
|
+
=======
|
|
114
|
+
|
|
115
|
+
Authors
|
|
116
|
+
~~~~~~~
|
|
117
|
+
|
|
118
|
+
* Thibault Francois
|
|
119
|
+
* Elouan Le Bars
|
|
120
|
+
* Coop IT Easy SC
|
|
121
|
+
*
|
|
122
|
+
|
|
123
|
+
Contributors
|
|
124
|
+
~~~~~~~~~~~~
|
|
125
|
+
|
|
126
|
+
* BEES coop - Cellule IT
|
|
127
|
+
* Coop IT Easy SC
|
|
128
|
+
|
|
129
|
+
Maintainers
|
|
130
|
+
~~~~~~~~~~~
|
|
131
|
+
|
|
132
|
+
This module is part of the `beescoop/Obeesdoo <https://github.com/beescoop/Obeesdoo/tree/16.0/shift>`_ project on GitHub.
|
|
133
|
+
|
|
134
|
+
You are welcome to contribute.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
================
|
|
2
|
+
Shift Management
|
|
3
|
+
================
|
|
4
|
+
|
|
5
|
+
..
|
|
6
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
7
|
+
!! This file is generated by oca-gen-addon-readme !!
|
|
8
|
+
!! changes will be overwritten. !!
|
|
9
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
10
|
+
!! source digest: sha256:0d5c51a0ceadd42e75fab41e6530a6e270957b77b33eae65266931089f1d95de
|
|
11
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
12
|
+
|
|
13
|
+
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
14
|
+
:target: https://odoo-community.org/page/development-status
|
|
15
|
+
:alt: Beta
|
|
16
|
+
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
|
|
17
|
+
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
|
18
|
+
:alt: License: AGPL-3
|
|
19
|
+
.. |badge3| image:: https://img.shields.io/badge/github-beescoop%2FObeesdoo-lightgray.png?logo=github
|
|
20
|
+
:target: https://github.com/beescoop/Obeesdoo/tree/16.0/shift
|
|
21
|
+
:alt: beescoop/Obeesdoo
|
|
22
|
+
|
|
23
|
+
|badge1| |badge2| |badge3|
|
|
24
|
+
|
|
25
|
+
Generate and manage shifts for cooperators.
|
|
26
|
+
|
|
27
|
+
**Table of contents**
|
|
28
|
+
|
|
29
|
+
.. contents::
|
|
30
|
+
:local:
|
|
31
|
+
|
|
32
|
+
Configuration
|
|
33
|
+
=============
|
|
34
|
+
|
|
35
|
+
- Translate cooperative status selection field, the terms to translate are:
|
|
36
|
+
|
|
37
|
+
- shift_status_up_to_date,
|
|
38
|
+
- shift_status_holidays,
|
|
39
|
+
- shift_status_warning,
|
|
40
|
+
- shift_status_extension,
|
|
41
|
+
- shift_status_suspended,
|
|
42
|
+
- shift_status_exempted,
|
|
43
|
+
- shift_status_unsubscribed,
|
|
44
|
+
- shift_status_resigning.
|
|
45
|
+
|
|
46
|
+
- Configure "Send weekly shift summary" cron:
|
|
47
|
+
|
|
48
|
+
- Its interval number (default = 7) should be consistent with notice (default = 1) and period (default = 7).
|
|
49
|
+
|
|
50
|
+
Changelog
|
|
51
|
+
=========
|
|
52
|
+
|
|
53
|
+
16.0.1.1.1 (2024-11-01)
|
|
54
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
55
|
+
|
|
56
|
+
**Bugfixes**
|
|
57
|
+
|
|
58
|
+
- Correctly recompute ``can_shop`` on partner when the value changes in the
|
|
59
|
+
``cooperative_status``. (`#536 <https://github.com/beescoop/Obeesdoo/issues/536>`_)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
12.0.2.1.0 (2022-06-21)
|
|
63
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
64
|
+
|
|
65
|
+
**Features**
|
|
66
|
+
|
|
67
|
+
- When subscribing a worker to a shift template in the backend :
|
|
68
|
+
if no super cooperator is set on template and worker is super cooperator
|
|
69
|
+
automatically set them as super cooperator.
|
|
70
|
+
The worker must have a user linked to it. (`#303 <https://github.com/beescoop/obeesdoo/issues/303>`_)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
12.0.1.1.4 (2022-05-26)
|
|
74
|
+
**Bugfixes**
|
|
75
|
+
|
|
76
|
+
- When changing a regular worker to an irregular worker via the wizard, no longer
|
|
77
|
+
give an error when their (former) shift is full. (`#390 <https://github.com/beescoop/obeesdoo/issues/390>`_)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
12.0.1.1.1 (2022-05-26)
|
|
81
|
+
**Bugfixes**
|
|
82
|
+
|
|
83
|
+
- No longer raise an error when unsubscribing a replacement worker using the
|
|
84
|
+
wizard. (`#389 <https://github.com/beescoop/obeesdoo/issues/389>`_)
|
|
85
|
+
|
|
86
|
+
Bug Tracker
|
|
87
|
+
===========
|
|
88
|
+
|
|
89
|
+
Bugs are tracked on `GitHub Issues <https://github.com/beescoop/Obeesdoo/issues>`_.
|
|
90
|
+
In case of trouble, please check there if your issue has already been reported.
|
|
91
|
+
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
92
|
+
`feedback <https://github.com/beescoop/Obeesdoo/issues/new?body=module:%20shift%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
|
93
|
+
|
|
94
|
+
Do not contact contributors directly about support or help with technical issues.
|
|
95
|
+
|
|
96
|
+
Credits
|
|
97
|
+
=======
|
|
98
|
+
|
|
99
|
+
Authors
|
|
100
|
+
~~~~~~~
|
|
101
|
+
|
|
102
|
+
* Thibault Francois
|
|
103
|
+
* Elouan Le Bars
|
|
104
|
+
* Coop IT Easy SC
|
|
105
|
+
*
|
|
106
|
+
|
|
107
|
+
Contributors
|
|
108
|
+
~~~~~~~~~~~~
|
|
109
|
+
|
|
110
|
+
* BEES coop - Cellule IT
|
|
111
|
+
* Coop IT Easy SC
|
|
112
|
+
|
|
113
|
+
Maintainers
|
|
114
|
+
~~~~~~~~~~~
|
|
115
|
+
|
|
116
|
+
This module is part of the `beescoop/Obeesdoo <https://github.com/beescoop/Obeesdoo/tree/16.0/shift>`_ project on GitHub.
|
|
117
|
+
|
|
118
|
+
You are welcome to contribute.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Copyright 2020-2023 Coop IT Easy SC
|
|
2
|
+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
{
|
|
6
|
+
"name": "Shift Management",
|
|
7
|
+
"summary": """Generate and manage shifts for cooperators.""",
|
|
8
|
+
"author": """
|
|
9
|
+
Thibault Francois,
|
|
10
|
+
Elouan Le Bars,
|
|
11
|
+
Coop IT Easy SC,
|
|
12
|
+
Odoo Community Association (OCA),
|
|
13
|
+
""",
|
|
14
|
+
"website": "https://github.com/beescoop/Obeesdoo",
|
|
15
|
+
"category": "Cooperative management",
|
|
16
|
+
"version": "16.0.1.1.1",
|
|
17
|
+
"depends": ["mail"],
|
|
18
|
+
"data": [
|
|
19
|
+
"data/system_parameter.xml",
|
|
20
|
+
"data/cron.xml",
|
|
21
|
+
"data/mail_template.xml",
|
|
22
|
+
"security/group.xml",
|
|
23
|
+
"security/ir.model.access.csv",
|
|
24
|
+
"views/task_template.xml",
|
|
25
|
+
"views/task.xml",
|
|
26
|
+
"views/planning.xml",
|
|
27
|
+
"views/cooperative_status.xml",
|
|
28
|
+
"views/exempt_reason.xml",
|
|
29
|
+
"views/menu.xml",
|
|
30
|
+
"views/res_config_settings_view.xml",
|
|
31
|
+
"wizard/instantiate_planning.xml",
|
|
32
|
+
"wizard/batch_template.xml",
|
|
33
|
+
"wizard/assign_super_coop.xml",
|
|
34
|
+
"wizard/subscribe.xml",
|
|
35
|
+
"wizard/extension.xml",
|
|
36
|
+
"wizard/holiday.xml",
|
|
37
|
+
"wizard/temporary_exemption.xml",
|
|
38
|
+
],
|
|
39
|
+
"demo": [
|
|
40
|
+
"demo/exempt_reason.xml",
|
|
41
|
+
"demo/workers.xml",
|
|
42
|
+
"demo/templates.xml",
|
|
43
|
+
],
|
|
44
|
+
"license": "AGPL-3",
|
|
45
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<odoo noupdate="1">
|
|
2
|
+
<record id="ir_cron_update_today" model="ir.cron">
|
|
3
|
+
<field name="name">Update Cooperator status base on the date</field>
|
|
4
|
+
<field name="model_id" ref="model_cooperative_status" />
|
|
5
|
+
<field name="state">code</field>
|
|
6
|
+
<field name="code">model._set_today()</field>
|
|
7
|
+
<field name="interval_number">24</field>
|
|
8
|
+
<field name="interval_type">hours</field>
|
|
9
|
+
<field name="numbercall">-1</field>
|
|
10
|
+
<field name="doall" eval="False" />
|
|
11
|
+
</record>
|
|
12
|
+
|
|
13
|
+
<record id="ir_cron_generate_next_planning" model="ir.cron">
|
|
14
|
+
<field name="name">Generate Next Planning</field>
|
|
15
|
+
<field name="model_id" ref="model_shift_planning" />
|
|
16
|
+
<field name="state">code</field>
|
|
17
|
+
<field name="code">model._generate_next_planning()</field>
|
|
18
|
+
<field name="interval_number">1</field>
|
|
19
|
+
<field name="interval_type">weeks</field>
|
|
20
|
+
<field name="numbercall">-1</field>
|
|
21
|
+
<field name="doall" eval="False" />
|
|
22
|
+
</record>
|
|
23
|
+
|
|
24
|
+
<record id="ir_cron_compute_shift_counter" model="ir.cron">
|
|
25
|
+
<field name="name">Compute Shift Counter</field>
|
|
26
|
+
<field name="model_id" ref="model_cooperative_status" />
|
|
27
|
+
<field name="state">code</field>
|
|
28
|
+
<field name="code">model._cron_compute_counter_irregular()</field>
|
|
29
|
+
<field name="interval_number">4</field>
|
|
30
|
+
<field name="interval_type">hours</field>
|
|
31
|
+
<field name="numbercall">-1</field>
|
|
32
|
+
<field name="doall" eval="True" />
|
|
33
|
+
<field name="active" eval="False" />
|
|
34
|
+
</record>
|
|
35
|
+
|
|
36
|
+
<record id="ir_cron_send_weekly_emails" model="ir.cron">
|
|
37
|
+
<field name="name">Send weekly shift summary</field>
|
|
38
|
+
<field name="model_id" ref="model_shift_shift" />
|
|
39
|
+
<field name="state">code</field>
|
|
40
|
+
<field
|
|
41
|
+
name="code"
|
|
42
|
+
>model._cron_send_weekly_emails(notice=1, period=7)</field>
|
|
43
|
+
<field name="interval_number">7</field>
|
|
44
|
+
<field name="interval_type">days</field>
|
|
45
|
+
<field name="numbercall">-1</field>
|
|
46
|
+
<field name="doall" eval="True" />
|
|
47
|
+
<field
|
|
48
|
+
name="nextcall"
|
|
49
|
+
eval="datetime.now() + timedelta((6 - datetime.now().weekday()) % 7)"
|
|
50
|
+
/>
|
|
51
|
+
<field name="active" eval="False" />
|
|
52
|
+
</record>
|
|
53
|
+
|
|
54
|
+
</odoo>
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<odoo noupdate="1">
|
|
3
|
+
<!-- Mail template are declared in a NOUPDATE block
|
|
4
|
+
so users can freely customize/delete them -->
|
|
5
|
+
<record id="email_template_shift_summary" model="mail.template">
|
|
6
|
+
<field name="name">Shift Summary</field>
|
|
7
|
+
<field
|
|
8
|
+
name="subject"
|
|
9
|
+
>Your next shift ({{ format_datetime(object.start_time, tz=object.worker_id.tz or 'Europe/Brussels', dt_format='dd.MM.yyyy HH:mm') }})
|
|
10
|
+
</field>
|
|
11
|
+
<field name="email_from">{{ object.create_uid.company_id.email }}</field>
|
|
12
|
+
<field
|
|
13
|
+
name="email_to"
|
|
14
|
+
>{{ object.replaced_id.email_formatted or object.worker_id.email_formatted }}</field>
|
|
15
|
+
<field name="model_id" ref="model_shift_shift" />
|
|
16
|
+
<field name="auto_delete" eval="True" />
|
|
17
|
+
<field name="lang">{{ object.worker_id.lang }}</field>
|
|
18
|
+
<field
|
|
19
|
+
name="body_html"
|
|
20
|
+
><![CDATA[
|
|
21
|
+
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; ">
|
|
22
|
+
|
|
23
|
+
<p>Hello <t t-out="object.worker_id.name or ''" />,</p>
|
|
24
|
+
|
|
25
|
+
<p>You are awaited the <t t-out="format_datetime(object.start_time, tz=object.worker_id.tz or 'Europe/Brussels', dt_format='dd.MM.yyyy')"/>
|
|
26
|
+
for the shift starting at <t t-out="format_datetime(object.start_time, tz=object.worker_id.tz or 'Europe/Brussels',dt_format='HH:mm')"/>.
|
|
27
|
+
|
|
28
|
+
<br/><br/>Please contact us at <t t-out="object.create_uid.company_id.email"/> if you have any trouble attending the shift.
|
|
29
|
+
</p>
|
|
30
|
+
<br/>
|
|
31
|
+
<p>Sustainably yours,</p>
|
|
32
|
+
<p><t t-out="object.create_uid.company_id.name"/>.</p>
|
|
33
|
+
|
|
34
|
+
<t t-if="object.create_uid.company_id.street">
|
|
35
|
+
<t t-out="object.create_uid.company_id.street" />
|
|
36
|
+
</t>
|
|
37
|
+
<t t-if="object.create_uid.company_id.street2">
|
|
38
|
+
<t t-out="object.create_uid.company_id.street2"/><br/>
|
|
39
|
+
</t>
|
|
40
|
+
<t t-if="object.create_uid.company_id.city or object.create_uid.company_id.zip">
|
|
41
|
+
<t t-out="object.create_uid.company_id.zip"/> <t t-out="object.create_uid.company_id.city"/><br/>
|
|
42
|
+
</t>
|
|
43
|
+
<t t-if="object.create_uid.company_id.country_id">
|
|
44
|
+
<t t-out="object.create_uid.company_id.state_id and ('%s, ' % object.create_uid.company_id.state_id.name) or ''"/> <t t-out="object.create_uid.company_id.country_id.name or ''"/><br/>
|
|
45
|
+
</t>
|
|
46
|
+
<t t-if="object.create_uid.company_id.phone">
|
|
47
|
+
Phone: <t t-out="object.create_uid.company_id.phone"/>
|
|
48
|
+
</t>
|
|
49
|
+
|
|
50
|
+
<t t-if="object.create_uid.company_id.website">
|
|
51
|
+
<div>
|
|
52
|
+
Web: <a t-att-href="'%s' % object.create_uid.company_id.website"><t t-esc="object.create_uid.company_id.website"/></a>
|
|
53
|
+
</div>
|
|
54
|
+
</t>
|
|
55
|
+
<t t-if="object.create_uid.company_id.logo">
|
|
56
|
+
<div>
|
|
57
|
+
<img src="/web/binary/company_logo" style="vertical-align:baseline;max-width:100px;" />
|
|
58
|
+
</div>
|
|
59
|
+
</t>
|
|
60
|
+
</div>
|
|
61
|
+
]]></field>
|
|
62
|
+
</record>
|
|
63
|
+
</odoo>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<odoo noupdate="1">
|
|
2
|
+
<record id="param_alert_delay" model="ir.config_parameter">
|
|
3
|
+
<field name="key">shift.alert_delay</field>
|
|
4
|
+
<field name="value">28</field>
|
|
5
|
+
</record>
|
|
6
|
+
<record id="param_default_grace_delay" model="ir.config_parameter">
|
|
7
|
+
<field name="key">shift.default_grace_delay</field>
|
|
8
|
+
<field name="value">10</field>
|
|
9
|
+
</record>
|
|
10
|
+
<record id="param_default_extension_delay" model="ir.config_parameter">
|
|
11
|
+
<field name="key">shift.default_extension_delay</field>
|
|
12
|
+
<field name="value">28</field>
|
|
13
|
+
</record>
|
|
14
|
+
<record id="param_always_update" model="ir.config_parameter">
|
|
15
|
+
<field name="key">shift.always_update</field>
|
|
16
|
+
<field name="value">0</field>
|
|
17
|
+
</record>
|
|
18
|
+
<record id="param_last_planning_seq" model="ir.config_parameter">
|
|
19
|
+
<field name="key">shift.last_planning_seq</field>
|
|
20
|
+
<field name="value">0</field>
|
|
21
|
+
</record>
|
|
22
|
+
<record id="param_next_planning_date" model="ir.config_parameter">
|
|
23
|
+
<field name="key">shift.next_planning_date</field>
|
|
24
|
+
<field name="value">1970-01-01</field>
|
|
25
|
+
</record>
|
|
26
|
+
<record id="param_irregular_unsubscribe" model="ir.config_parameter">
|
|
27
|
+
<field name="key">shift.irregular_counter_to_unsubscribe</field>
|
|
28
|
+
<field name="value">-4</field>
|
|
29
|
+
</record>
|
|
30
|
+
<record id="param_regular_counter_to_unsubscribe" model="ir.config_parameter">
|
|
31
|
+
<field name="key">shift.regular_counter_to_unsubscribe</field>
|
|
32
|
+
<field name="value">-4</field>
|
|
33
|
+
</record>
|
|
34
|
+
|
|
35
|
+
<record id="param_regular_next_shift_limit" model="ir.config_parameter">
|
|
36
|
+
<field name="key">shift.regular_next_shift_limit</field>
|
|
37
|
+
<field name="value">7</field>
|
|
38
|
+
</record>
|
|
39
|
+
|
|
40
|
+
<record id="param_shift_period" model="ir.config_parameter">
|
|
41
|
+
<field name="key">shift.shift_period</field>
|
|
42
|
+
<field name="value">28</field>
|
|
43
|
+
</record>
|
|
44
|
+
</odoo>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!--
|
|
3
|
+
Copyright 2021-2023 Coop IT Easy SC
|
|
4
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
5
|
+
-->
|
|
6
|
+
<odoo>
|
|
7
|
+
|
|
8
|
+
<!-- Exempt reason -->
|
|
9
|
+
<record id="exempt_reason_1_demo" model="cooperative.exempt.reason">
|
|
10
|
+
<field name="name">Pregnant</field>
|
|
11
|
+
</record>
|
|
12
|
+
|
|
13
|
+
<record id="exempt_reason_2_demo" model="cooperative.exempt.reason">
|
|
14
|
+
<field name="name">Retired</field>
|
|
15
|
+
</record>
|
|
16
|
+
|
|
17
|
+
<record id="exempt_reason_3_demo" model="cooperative.exempt.reason">
|
|
18
|
+
<field name="name">Sick</field>
|
|
19
|
+
</record>
|
|
20
|
+
|
|
21
|
+
</odoo>
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!--
|
|
3
|
+
Copyright 2019 Coop IT Easy
|
|
4
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
5
|
+
-->
|
|
6
|
+
<odoo>
|
|
7
|
+
|
|
8
|
+
<!-- Task Type -->
|
|
9
|
+
<record id="shift_task_type_1_demo" model="shift.type">
|
|
10
|
+
<field name="name">Inventaire</field>
|
|
11
|
+
<field name="description">Inventaire frais et vrac.</field>
|
|
12
|
+
</record>
|
|
13
|
+
|
|
14
|
+
<record id="shift_task_type_2_demo" model="shift.type">
|
|
15
|
+
<field name="name">Bureau des Membres</field>
|
|
16
|
+
<field name="description">Gestion admin (encodage liste présences, etc.)</field>
|
|
17
|
+
</record>
|
|
18
|
+
|
|
19
|
+
<record id="shift_task_type_3_demo" model="shift.type">
|
|
20
|
+
<field name="name">Magasin</field>
|
|
21
|
+
<field name="description">Gestion du magasin.</field>
|
|
22
|
+
</record>
|
|
23
|
+
|
|
24
|
+
<record id="shift_task_type_4_demo" model="shift.type">
|
|
25
|
+
<field name="name">Découpe fromage</field>
|
|
26
|
+
<field name="description">Caisse, remplissage des rayons, accueil.</field>
|
|
27
|
+
</record>
|
|
28
|
+
|
|
29
|
+
<!-- Days -->
|
|
30
|
+
<record id="shift_daynumber_1_demo" model="shift.daynumber">
|
|
31
|
+
<field name="name">Lundi</field>
|
|
32
|
+
<field name="number">1</field>
|
|
33
|
+
</record>
|
|
34
|
+
|
|
35
|
+
<record id="shift_daynumber_2_demo" model="shift.daynumber">
|
|
36
|
+
<field name="name">Mardi</field>
|
|
37
|
+
<field name="number">2</field>
|
|
38
|
+
</record>
|
|
39
|
+
|
|
40
|
+
<record id="shift_daynumber_3_demo" model="shift.daynumber">
|
|
41
|
+
<field name="name">Mercredi</field>
|
|
42
|
+
<field name="number">3</field>
|
|
43
|
+
</record>
|
|
44
|
+
|
|
45
|
+
<record id="shift_daynumber_4_demo" model="shift.daynumber">
|
|
46
|
+
<field name="name">Jeudi</field>
|
|
47
|
+
<field name="number">4</field>
|
|
48
|
+
</record>
|
|
49
|
+
|
|
50
|
+
<record id="shift_daynumber_5_demo" model="shift.daynumber">
|
|
51
|
+
<field name="name">Vendredi</field>
|
|
52
|
+
<field name="number">5</field>
|
|
53
|
+
</record>
|
|
54
|
+
|
|
55
|
+
<record id="shift_daynumber_6_demo" model="shift.daynumber">
|
|
56
|
+
<field name="name">Samedi</field>
|
|
57
|
+
<field name="number">6</field>
|
|
58
|
+
</record>
|
|
59
|
+
|
|
60
|
+
<record id="shift_daynumber_7_demo" model="shift.daynumber">
|
|
61
|
+
<field name="name">Dimanche</field>
|
|
62
|
+
<field name="number">7</field>
|
|
63
|
+
</record>
|
|
64
|
+
|
|
65
|
+
<!-- Planning -->
|
|
66
|
+
<record id="shift_planning_1_demo" model="shift.planning">
|
|
67
|
+
<field name="sequence">1</field>
|
|
68
|
+
<field name="name">Semaine A</field>
|
|
69
|
+
<field name="periodicity">7</field>
|
|
70
|
+
</record>
|
|
71
|
+
|
|
72
|
+
<!-- Task Template -->
|
|
73
|
+
<record id="task_template_1_demo" model="shift.template">
|
|
74
|
+
<field name="name">A_MON-10:00-12:00</field>
|
|
75
|
+
<field name="planning_id" ref="shift.shift_planning_1_demo" />
|
|
76
|
+
<field name="day_nb_id" ref="shift.shift_daynumber_1_demo" />
|
|
77
|
+
<field name="task_type_id" ref="shift.shift_task_type_3_demo" />
|
|
78
|
+
<field name="start_time">10.0</field>
|
|
79
|
+
<field name="end_time">12.0</field>
|
|
80
|
+
<field name="duration">2</field>
|
|
81
|
+
<field name="worker_nb">5</field>
|
|
82
|
+
<field
|
|
83
|
+
name="worker_ids"
|
|
84
|
+
eval="[(6, 0, [ref('shift.res_partner_worker_1_demo'), ref('shift.res_partner_worker_3_demo')])]"
|
|
85
|
+
/>
|
|
86
|
+
<field name="remaining_worker">3</field>
|
|
87
|
+
</record>
|
|
88
|
+
|
|
89
|
+
<record id="task_template_2_demo" model="shift.template">
|
|
90
|
+
<field name="name">A_WED-14:00-16:00</field>
|
|
91
|
+
<field name="planning_id" ref="shift.shift_planning_1_demo" />
|
|
92
|
+
<field name="day_nb_id" ref="shift.shift_daynumber_3_demo" />
|
|
93
|
+
<field name="task_type_id" ref="shift.shift_task_type_3_demo" />
|
|
94
|
+
<field name="start_time">14.0</field>
|
|
95
|
+
<field name="end_time">16.0</field>
|
|
96
|
+
<field name="duration">2</field>
|
|
97
|
+
<field name="worker_nb">5</field>
|
|
98
|
+
<field
|
|
99
|
+
name="worker_ids"
|
|
100
|
+
eval="[(6, 0, [ref('shift.res_partner_worker_5_demo')])]"
|
|
101
|
+
/>
|
|
102
|
+
<field name="remaining_worker">4</field>
|
|
103
|
+
</record>
|
|
104
|
+
|
|
105
|
+
<record id="task_template_3_demo" model="shift.template">
|
|
106
|
+
<field name="name">A_SAT-14:00-16:00</field>
|
|
107
|
+
<field name="planning_id" ref="shift.shift_planning_1_demo" />
|
|
108
|
+
<field name="day_nb_id" ref="shift.shift_daynumber_6_demo" />
|
|
109
|
+
<field name="task_type_id" ref="shift.shift_task_type_1_demo" />
|
|
110
|
+
<field name="start_time">14.0</field>
|
|
111
|
+
<field name="end_time">16.0</field>
|
|
112
|
+
<field name="duration">2</field>
|
|
113
|
+
<field name="worker_nb">5</field>
|
|
114
|
+
<field
|
|
115
|
+
name="worker_ids"
|
|
116
|
+
eval="[(6, 0, [ref('shift.res_partner_worker_6_demo')])]"
|
|
117
|
+
/>
|
|
118
|
+
<field name="remaining_worker">4</field>
|
|
119
|
+
</record>
|
|
120
|
+
|
|
121
|
+
</odoo>
|