[IMP] Kanban checkin view

This commit is contained in:
Darío Lodeiros
2020-11-27 22:22:01 +01:00
parent 473510a60b
commit 98558794bb
4 changed files with 19 additions and 54 deletions

View File

@@ -160,6 +160,7 @@ class PmsCheckinPartner(models.Model):
record.update(vals) record.update(vals)
if record.reservation_id.state == "confirm": if record.reservation_id.state == "confirm":
record.reservation_id.state = "onboard" record.reservation_id.state = "onboard"
# keep the checkin reservations popup open to checkin reservation hosts
if self._context.get("popup"): if self._context.get("popup"):
self.ensure_one() self.ensure_one()
kanban_id = self.env.ref("pms.pms_checkin_partner_kanban_view").id kanban_id = self.env.ref("pms.pms_checkin_partner_kanban_view").id
@@ -178,12 +179,10 @@ class PmsCheckinPartner(models.Model):
} }
def action_done(self): def action_done(self):
for record in self: for record in self.filtered(lambda c: c.state == "onboard"):
if record.state == "onboard": vals = {
hour = record._get_departure_hour() "state": "done",
vals = { "arrival": fields.Datetime.now(),
"state": "done", }
"departure_hour": hour, record.update(vals)
}
record.update(vals)
return True return True

View File

@@ -1306,7 +1306,7 @@ class PmsReservation(models.Model):
"edit": True, "edit": True,
"popup": True, "popup": True,
}, },
"domain": [("reservation_id", "=", self.id), ("state", "=", "precheckin")], "domain": [("reservation_id", "=", self.id)],
"target": "new", "target": "new",
} }

View File

@@ -19,6 +19,9 @@
<field name="model">pms.checkin.partner</field> <field name="model">pms.checkin.partner</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form create="false"> <form create="false">
<header>
<field name="state" widget="statusbar" />
</header>
<sheet> <sheet>
<group name="group_top"> <group name="group_top">
<group name="group_left"> <group name="group_left">
@@ -35,7 +38,6 @@
<field name="reservation_id" /> <field name="reservation_id" />
<field name="folio_id" /> <field name="folio_id" />
<field name="identifier" /> <field name="identifier" />
<field name="state" />
</group> </group>
</group> </group>
</sheet> </sheet>
@@ -161,50 +163,12 @@
<div class="o_kanban_record_top"> <div class="o_kanban_record_top">
<div class="o_kanban_record_headings"> <div class="o_kanban_record_headings">
<strong class="o_kanban_record_title"> <strong class="o_kanban_record_title">
<div <div class="float-right">
class="float-right" <field
t-if="record.state.raw_value == 'onboard'"
name="state"
>
<span
class="fa fa-circle text-success"
role="img"
aria-label="Present"
title="Present"
name="state" name="state"
> widget="label_selection"
options="{'classes': {'draft': 'default', 'precheckin': 'info', 'onboard': 'warning', 'onboard': 'success', 'done': 'secondary'}}"
</span> />
</div>
<div
class="float-right"
t-if="record.state.raw_value == 'done'"
name="state"
>
<span
class="fa fa-circle text-muted"
role="img"
aria-label="Done"
title="Done"
name="state"
>
</span>
</div>
<div
class="float-right"
t-if="record.state.raw_value == 'precheckin'"
name="state"
>
<span
class="fa fa-circle text-warning"
role="img"
aria-label="Precheckin"
title="Precheckin"
name="state"
>
</span>
</div> </div>
<field <field
name="name" name="name"

View File

@@ -615,8 +615,10 @@
name="state" name="state"
decoration-success="state == 'onboard'" decoration-success="state == 'onboard'"
decoration-info="state == 'confirm'" decoration-info="state == 'confirm'"
decoration-primary="state == 'no_checkout'"
decoration-danger="state == 'cancelled'" decoration-danger="state == 'cancelled'"
decoration-primary="state == 'draft'" decoration-bf="state == 'draft'"
decoration-warning="state == 'no_show'"
widget="badge" widget="badge"
optional="show" optional="show"
/> />