Browse Source
[ADD] Improve Shift management
[ADD] Improve Shift management
après avoir généré les shifts pour une semaine, rediriger vers les shifts générés : ok Ajouter un supercoopérateur au niveau du template de shift. Pas de champs related car il faut pouvoir gérer les remplacements entre supercoopérateurs. : Rajouter un boolean sur res.users pour dire qu'ils sont super coopérateur du coup on peut choisir qu'un utilisateur super coopérateur : Ok Sur la vue des shifts, permettre de sélectionner un ensemble de shifts pour pouvoir changer son supercoopérateur en une action : Ok Avoir une vue des shifts par défaut plus lisible que le calendrier : KANBAN avec TODAY par défaut et les colonnes selon le type de shift : ok Dans la vue KANBAN du planning des semaines, faire un tri sur la start date pour que ça ressemble à une vue calendrier :ok Droits d'accès : 3 groupes : modifier un shift existant et confirmer son statut : absence/présence générer et supprimer des shifts à partir du template modifier le template des semaines et gérer la config En réfléchissant à ceux qui vont gérer les présences : il faudrait avoir une vue facile sur les shifts du jour et une manière simple de dire présent/absent/remplacé pour l'ensemble des coopérateurs présents (éviter de devoir chaque fois sélectionner le shift, cliquer sur le statut, aller au shift suivant, cliquer sur le statut...). J'ai fait un nouveau point de menu avec une vue Kanban grouper par status, il suffit de faire du drag and drop pour changer le status, les shifts sont aussi filtré sur aujourd'hui et seulement ceux ayant un worker assigné.pull/105/head
Thibault Francois
8 years ago
committed by
Elouan
19 changed files with 378 additions and 73 deletions
-
6beesdoo_shift/__openerp__.py
-
37beesdoo_shift/data/stage.xml
-
1beesdoo_shift/models/__init__.py
-
7beesdoo_shift/models/planning.py
-
7beesdoo_shift/models/res_users.py
-
38beesdoo_shift/models/task.py
-
18beesdoo_shift/security/group.xml
-
18beesdoo_shift/security/ir.model.access.csv
-
6beesdoo_shift/views/planning.xml
-
13beesdoo_shift/views/res_users.xml
-
134beesdoo_shift/views/task.xml
-
27beesdoo_shift/views/task_template.xml
-
1beesdoo_shift/wizard/__init__.py
-
14beesdoo_shift/wizard/assign_super_coop.py
-
27beesdoo_shift/wizard/assign_super_coop.xml
-
9beesdoo_shift/wizard/batch_template.xml
-
14beesdoo_shift/wizard/instanciate_planning.py
-
4beesdoo_shift/wizard/instanciate_planning.xml
@ -0,0 +1,37 @@ |
|||
<odoo> |
|||
<record model="beesdoo.shift.stage" id="draft"> |
|||
<field name="name">Unconfirmed</field> |
|||
<field name="sequence">1</field> |
|||
<field name="color">0</field> |
|||
</record> |
|||
<record model="beesdoo.shift.stage" id="open"> |
|||
<field name="name">Confirmed</field> |
|||
<field name="sequence">2</field> |
|||
<field name="color">5</field> |
|||
</record> |
|||
<record model="beesdoo.shift.stage" id="done"> |
|||
<field name="name">Attended</field> |
|||
<field name="sequence">3</field> |
|||
<field name="color">1</field> |
|||
</record> |
|||
<record model="beesdoo.shift.stage" id="replaced"> |
|||
<field name="name">Replaced</field> |
|||
<field name="sequence">4</field> |
|||
<field name="color">5</field> |
|||
</record> |
|||
<record model="beesdoo.shift.stage" id="absent"> |
|||
<field name="name">Absent</field> |
|||
<field name="sequence">5</field> |
|||
<field name="color">2</field> |
|||
</record> |
|||
<record model="beesdoo.shift.stage" id="excused"> |
|||
<field name="name">Excused</field> |
|||
<field name="sequence">6</field> |
|||
<field name="color">4</field> |
|||
</record> |
|||
<record model="beesdoo.shift.stage" id="cancel"> |
|||
<field name="name">Cancelled</field> |
|||
<field name="sequence">7</field> |
|||
<field name="color">8</field> |
|||
</record> |
|||
</odoo> |
@ -1,3 +1,4 @@ |
|||
# -*- coding: utf-8 -*- |
|||
import planning |
|||
import task |
|||
import res_users |
@ -0,0 +1,7 @@ |
|||
# -*- coding: utf-8 -*- |
|||
from openerp import models, fields |
|||
|
|||
class ResUsers(models.Model): |
|||
_inherit = 'res.users' |
|||
|
|||
super = fields.Boolean("Super Cooperative") |
@ -0,0 +1,18 @@ |
|||
<odoo> |
|||
<data noupdate="0"> |
|||
<record id="group_shift_attendance" model="res.groups"> |
|||
<field name="name">Shift Attendance</field> |
|||
<field name="category_id" ref="base.module_category_cooperative_management"/> |
|||
</record> |
|||
<record id="group_shift_management" model="res.groups"> |
|||
<field name="name">Shift Management</field> |
|||
<field name="category_id" ref="base.module_category_cooperative_management"/> |
|||
<field name="implied_ids" eval="[(4, ref('group_shift_attendance'))]"/> |
|||
</record> |
|||
<record id="group_planning_management" model="res.groups"> |
|||
<field name="name">Planning Management</field> |
|||
<field name="category_id" ref="base.module_category_cooperative_management"/> |
|||
<field name="implied_ids" eval="[(4, ref('group_shift_management'))]"/> |
|||
</record> |
|||
</data> |
|||
</odoo> |
@ -1,6 +1,14 @@ |
|||
id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink |
|||
access_coopplanning_task_type,access_coopplanning_task_type,model_beesdoo_shift_type,,1,1,1,1 |
|||
access_coopplanning_daynumber,access_coopplanning_daynumber,model_beesdoo_shift_daynumber,,1,1,1,1 |
|||
access_coopplanning_planning,access_coopplanning_planning,model_beesdoo_shift_planning,,1,1,1,1 |
|||
access_coopplanning_task_template,access_coopplanning_task_template,model_beesdoo_shift_template,,1,1,1,1 |
|||
access_coopplanning_task,access_coopplanning_task,model_beesdoo_shift_shift,,1,1,1,1 |
|||
access_coopplanning_task_stage,Attendance Read Stage,model_beesdoo_shift_stage,group_shift_attendance,1,0,0,0 |
|||
access_coopplanning_task_type,Attendance Read Type,model_beesdoo_shift_type,group_shift_attendance,1,0,0,0 |
|||
access_coopplanning_daynumber,Attendance Read Daynumber,model_beesdoo_shift_daynumber,group_shift_attendance,1,0,0,0 |
|||
access_coopplanning_planning,Attendance Read Planning,model_beesdoo_shift_planning,group_shift_attendance,1,0,0,0 |
|||
access_coopplanning_task_template,Attendance Read Template,model_beesdoo_shift_template,group_shift_attendance,1,0,0,0 |
|||
access_coopplanning_task,Attendance Edit Shift,model_beesdoo_shift_shift,group_shift_attendance,1,1,0,0 |
|||
access_coopplanning_task_full,Shift Management all Shift,model_beesdoo_shift_shift,group_shift_management,1,1,1,1 |
|||
all_config_coopplanning_task_stage,Attendance Read Stage,model_beesdoo_shift_stage,group_planning_management,1,1,1,1 |
|||
all_config_coopplanning_task_type,Attendance Read Type,model_beesdoo_shift_type,group_planning_management,1,1,1,1 |
|||
all_config_coopplanning_daynumber,Attendance Read Daynumber,model_beesdoo_shift_daynumber,group_planning_management,1,1,1,1 |
|||
all_config_coopplanning_planning,Attendance Read Planning,model_beesdoo_shift_planning,group_planning_management,1,1,1,1 |
|||
all_config_coopplanning_task_template,Attendance Read Template,model_beesdoo_shift_template,group_planning_management,1,1,1,1 |
|||
all_config_coopplanning_task,Attendance Edit Shift,model_beesdoo_shift_shift,group_planning_management,1,1,1,1 |
@ -0,0 +1,13 @@ |
|||
<odoo> |
|||
|
|||
<record model="ir.ui.view" id="super_coop_users_inherited_view_form"> |
|||
<field name="name">Users Super Coop</field> |
|||
<field name="model">res.users</field> |
|||
<field name="inherit_id" ref="base.view_users_form" /> |
|||
<field name="arch" type="xml"> |
|||
<field name="partner_id" position="after"> |
|||
<field name="super" /> |
|||
</field> |
|||
</field> |
|||
</record> |
|||
</odoo> |
@ -1,2 +1,3 @@ |
|||
import instanciate_planning |
|||
import batch_template |
|||
import assign_super_coop |
@ -0,0 +1,14 @@ |
|||
# -*- coding: utf-8 -*- |
|||
from openerp import models, fields, api, _ |
|||
|
|||
|
|||
class AssignSuperCoop(models.TransientModel): |
|||
_name = 'beesddoo.shift.assign_super_coop' |
|||
|
|||
super_coop_id = fields.Many2one('res.users', 'New Super Cooperative', required=True, domain=[('super', '=', True)]) |
|||
shift_ids = fields.Many2many('beesdoo.shift.shift', readonly=True, default=lambda self: self._context.get('active_ids')) |
|||
|
|||
@api.multi |
|||
def write_super_coop(self): |
|||
self.ensure_one() |
|||
self.shift_ids.write({'super_coop_id' : self.super_coop_id.id}) |
@ -0,0 +1,27 @@ |
|||
<odoo> |
|||
<record model="ir.ui.view" id="assign_super_coop_view_form"> |
|||
<field name="name">Assign Super Coop</field> |
|||
<field name="model">beesddoo.shift.assign_super_coop</field> |
|||
<field name="arch" type="xml"> |
|||
<form> |
|||
<group> |
|||
<field name="super_coop_id" /> |
|||
<field name="shift_ids" invisible="1" /> |
|||
</group> |
|||
<footer> |
|||
<button type="object" name="write_super_coop" |
|||
string="Confirm" class="oe_highlight" /> |
|||
or |
|||
<button special="cancel" string="Cancel" /> |
|||
</footer> |
|||
</form> |
|||
</field> |
|||
</record> |
|||
|
|||
|
|||
|
|||
<act_window id="act_assign_new_super_coop" name="Change Super Coop" |
|||
src_model="beesdoo.shift.shift" res_model="beesddoo.shift.assign_super_coop" |
|||
view_mode="form" target="new" key2="client_action_multi" /> |
|||
|
|||
</odoo> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue