mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[WIP]14.0-pms_new_housekeeping: working in housekeeping tasks
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
"views/hr_employee_views.xml",
|
||||
"views/pms_housekeeping_task_type_views.xml",
|
||||
"views/pms_housekeeping_views.xml",
|
||||
"views/pms_housekeeping_task_views.xml",
|
||||
],
|
||||
"installable": True,
|
||||
}
|
||||
|
||||
@@ -3,3 +3,4 @@
|
||||
|
||||
from . import hr_employee
|
||||
from . import pms_housekeeping_task_type
|
||||
from . import pms_housekeeping_task
|
||||
|
||||
48
pms_housekeeping/models/pms_housekeeping_task.py
Normal file
48
pms_housekeeping/models/pms_housekeeping_task.py
Normal file
@@ -0,0 +1,48 @@
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class PmsHouseKeepingTask(models.Model):
|
||||
_name = "pms.housekeeping.task"
|
||||
|
||||
name = fields.Char(string="Name", required=True)
|
||||
room_id = fields.Many2one(
|
||||
comodel_name="pms.room",
|
||||
string="Room",
|
||||
required=True,
|
||||
ondelete="restrict",
|
||||
)
|
||||
task_type_id = fields.Many2one(
|
||||
comodel_name="pms.housekeeping.task.type",
|
||||
string="Task Type",
|
||||
required=True,
|
||||
ondelete="restrict",
|
||||
)
|
||||
task_datetime = fields.Datetime(string="Date")
|
||||
state = fields.Selection(
|
||||
selection=[
|
||||
("holding", "On Holding"),
|
||||
("to_do", "To Do"),
|
||||
("in_progress", "In Progress"),
|
||||
("done", "Done"),
|
||||
("cancel", "Cancel"),
|
||||
],
|
||||
string="State",
|
||||
required=True,
|
||||
default="to_do",
|
||||
)
|
||||
priority = fields.Integer(string="Priority", default=0)
|
||||
cleaning_comments = fields.Text(string="Cleaning Comments")
|
||||
employee_ids = fields.Many2many(
|
||||
comodel_name="hr.employee",
|
||||
relation="pms_housekeeping_task_hr_employee_rel",
|
||||
column1="task_id",
|
||||
column2="employee_id",
|
||||
string="Employees",
|
||||
domain="[('job_id.name', '=', 'Housekeeper')]",
|
||||
)
|
||||
parent_id = fields.Many2one(
|
||||
string="Parent Task",
|
||||
help="Indicates that this task is a child of another task",
|
||||
comodel_name="pms.housekeeping.task",
|
||||
ondelete="restrict",
|
||||
)
|
||||
@@ -7,19 +7,13 @@ class PmsHouseKeepingTaskType(models.Model):
|
||||
name = fields.Char(string="Name", required=True)
|
||||
description = fields.Text(string="Description")
|
||||
is_automated = fields.Boolean(string="Is Automated")
|
||||
clean_event = fields.Selection(
|
||||
selection=[
|
||||
("overnight", "Overnight"),
|
||||
("checkin", "Checkin"),
|
||||
("checkout", "Checkout"),
|
||||
("empty", "Empty"),
|
||||
("priority", "Priority"),
|
||||
],
|
||||
string="Clean When",
|
||||
required=True,
|
||||
default="overnight",
|
||||
)
|
||||
days_after_clean_event = fields.Integer(string="Days After Clean Event")
|
||||
is_overnight = fields.Boolean(string="Overnight")
|
||||
is_empty = fields.Boolean(string="Empty")
|
||||
is_checkin = fields.Boolean(string="Checkin")
|
||||
is_checkout = fields.Boolean(string="Checkout")
|
||||
priority = fields.Integer(string="Priority", default=0)
|
||||
days_after_clean_overnight = fields.Integer(string="Days After Clean",)
|
||||
days_after_clean_empty = fields.Integer(string="Days After Clean", )
|
||||
housekeepers = fields.Many2many(
|
||||
comodel_name="hr.employee",
|
||||
relation="pms_housekeeping_task_type_hr_employee_rel",
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
user_access_pms_housekeeping_task_type,user_access_pms_housekeeping_task_type,model_pms_housekeeping_task_type,pms.group_pms_user,1,1,1,1
|
||||
user_access_pms_housekeeping_task,user_access_pms_housekeeping_task_,model_pms_housekeeping_task,pms.group_pms_user,1,1,1,1
|
||||
|
||||
|
@@ -6,13 +6,18 @@
|
||||
<field name="model">pms.housekeeping.task.type</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Housekeeping Task Type">
|
||||
<field name="name" />
|
||||
<field name="name"/>
|
||||
<field name="is_automated"/>
|
||||
<field name="housekeepers" widget="many2many_tags" />
|
||||
<field name="parent_id" widget="many2many_tags" />
|
||||
<field name="description" />
|
||||
<field name="is_automated" />
|
||||
<field name="clean_event" />
|
||||
<field name="days_after_clean_event" />
|
||||
<field name="housekeepers" />
|
||||
<field name="parent_id" />
|
||||
<field name="priority" attrs="{'invisible': [('is_automated', '==', False)]}"/>
|
||||
<field name="is_overnight" attrs="{'invisible': [('is_automated', '==', False)]}"/>
|
||||
<field name="is_empty" attrs="{'invisible': [('is_automated', '==', False)]}"/>
|
||||
<field name="is_checkin" attrs="{'invisible': [('is_automated', '==', False)]}"/>
|
||||
<field name="is_checkout" attrs="{'invisible': [('is_automated', '==', False)]}"/>
|
||||
<field name="days_after_clean_overnight" attrs="{'invisible': [('is_automated', '==', False), ('is_overnight', '==', False)]}"/>
|
||||
<field name="days_after_clean_empty" attrs="{'invisible': [('is_automated', '==', False), ('is_empty', '==', False)]}"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -23,16 +28,18 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Housekeeping Task Type">
|
||||
<group>
|
||||
<field name="name" />
|
||||
<field name="description" />
|
||||
<field name="is_automated" />
|
||||
<field name="clean_event" />
|
||||
<field
|
||||
name="days_after_clean_event"
|
||||
attrs="{'invisible': [('clean_event', '!=', 'overnight'), ('clean_event', '!=', 'empty')]}"
|
||||
/>
|
||||
<field name="name"/>
|
||||
<field name="is_automated"/>
|
||||
<field name="housekeepers" widget="many2many_tags" />
|
||||
<field name="parent_id" widget="many2many_tags" />
|
||||
<field name="description" />
|
||||
<field name="priority" attrs="{'invisible': [('is_automated', '==', False)]}"/>
|
||||
<field name="is_overnight" attrs="{'invisible': [('is_automated', '==', False)]}"/>
|
||||
<field name="is_empty" attrs="{'invisible': [('is_automated', '==', False)]}"/>
|
||||
<field name="is_checkin" attrs="{'invisible': [('is_automated', '==', False)]}"/>
|
||||
<field name="is_checkout" attrs="{'invisible': [('is_automated', '==', False)]}"/>
|
||||
<field name="days_after_clean_overnight" attrs="{'invisible': [('is_automated', '==', False), ('is_overnight', '==', False)]}"/>
|
||||
<field name="days_after_clean_empty" attrs="{'invisible': [('is_automated', '==', False), ('is_empty', '==', False)]}"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
47
pms_housekeeping/views/pms_housekeeping_task_views.xml
Normal file
47
pms_housekeeping/views/pms_housekeeping_task_views.xml
Normal file
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="view_pms_housekeeping_task_tree" model="ir.ui.view">
|
||||
<field name="name">pms.housekeeping.task.tree</field>
|
||||
<field name="model">pms.housekeeping.task</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Housekeeping Task">
|
||||
<field name="name" />
|
||||
<field name="room_id" />
|
||||
<field name="task_type_id" />
|
||||
<field name="state"/>
|
||||
<field name="priority" />
|
||||
<field name="cleaning_comments" />
|
||||
<field name="employee_ids" />
|
||||
<field name="parent_id" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_pms_housekeeping_task_form" model="ir.ui.view">
|
||||
<field name="name">pms.housekeeping.task.form</field>
|
||||
<field name="model">pms.housekeeping.task</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Housekeeping Task">
|
||||
<header>
|
||||
<field name="state" widget="statusbar" />
|
||||
</header>
|
||||
<group class="col-6">
|
||||
<field name="name" />
|
||||
<field name="room_id" />
|
||||
<field name="task_type_id" />
|
||||
</group>
|
||||
<group class="col-6">
|
||||
<field name="task_datetime" />
|
||||
<field name="priority" />
|
||||
<field name="employee_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
<group class="col-12">
|
||||
<field name="parent_id" widget="many2many_tags"/>
|
||||
<field name="cleaning_comments" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -6,6 +6,11 @@
|
||||
<field name="res_model">pms.housekeeping.task.type</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_pms_housekeeping_task">
|
||||
<field name="name">Housekeeping Task</field>
|
||||
<field name="res_model">pms.housekeeping.task</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<menuitem
|
||||
name="Housekeeping"
|
||||
id="menu_action_pms_housekeeping"
|
||||
@@ -13,11 +18,18 @@
|
||||
parent="pms.pms_management_menu"
|
||||
/>
|
||||
<menuitem
|
||||
name="Task Type"
|
||||
name="Task Types"
|
||||
id="menu_action_pms_housekeeping_view_task_type"
|
||||
action="pms_housekeeping.action_pms_housekeeping_task_type"
|
||||
sequence="10"
|
||||
parent="pms_housekeeping.menu_action_pms_housekeeping"
|
||||
/>
|
||||
<menuitem
|
||||
name="Tasks"
|
||||
id="menu_action_pms_housekeeping_view_task"
|
||||
action="pms_housekeeping.action_pms_housekeeping_task"
|
||||
sequence="9"
|
||||
parent="pms_housekeeping.menu_action_pms_housekeeping"
|
||||
/>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user