diff options
| author | Haresh Shyara <hsh@odoo.com> | 2017-08-08 11:00:14 +0200 |
|---|---|---|
| committer | Richard Mathot <rim@odoo.com> | 2017-08-08 11:00:14 +0200 |
| commit | 4e6d3132ac6a60f6604b6427a8cf4e61cae68ce6 (patch) | |
| tree | bbcacff736cf0715e3fc0b828baae33df884ca83 /addons | |
| parent | 2b7179380a06da1ee320f26ffbdf0602d820b856 (diff) | |
[IMP] point_of_sale: display session state on PoS dashboard
Avoid that users attempt to start a session on a PoS that is already
open by showing visual badges on PoS dashboards
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/point_of_sale/models/pos_config.py | 4 | ||||
| -rw-r--r-- | addons/point_of_sale/views/point_of_sale_dashboard.xml | 15 |
2 files changed, 16 insertions, 3 deletions
diff --git a/addons/point_of_sale/models/pos_config.py b/addons/point_of_sale/models/pos_config.py index 65a082d9f65..2ebf1f0b79d 100644 --- a/addons/point_of_sale/models/pos_config.py +++ b/addons/point_of_sale/models/pos_config.py @@ -124,6 +124,7 @@ class PosConfig(models.Model): last_session_closing_cash = fields.Float(compute='_compute_last_session') last_session_closing_date = fields.Date(compute='_compute_last_session') pos_session_username = fields.Char(compute='_compute_current_session_user') + pos_session_state = fields.Char(compute='_compute_current_session_user') group_by = fields.Boolean(string='Group Journal Items', default=True, help="Check this if you want to group the Journal Items by Product while closing a Session.") pricelist_id = fields.Many2one('product.pricelist', string='Pricelist', required=True, default=_default_pricelist) @@ -195,8 +196,9 @@ class PosConfig(models.Model): @api.depends('session_ids') def _compute_current_session_user(self): for pos_config in self: - session = pos_config.session_ids.filtered(lambda s: s.state == 'opened' and not s.rescue) + session = pos_config.session_ids.filtered(lambda s: s.state in ['opening_control', 'opened', 'closing_control'] and not s.rescue) pos_config.pos_session_username = session and session[0].user_id.name or False + pos_config.pos_session_state = session and session[0].state or False @api.constrains('company_id', 'stock_location_id') def _check_company_location(self): diff --git a/addons/point_of_sale/views/point_of_sale_dashboard.xml b/addons/point_of_sale/views/point_of_sale_dashboard.xml index 740262212f5..54a75bac650 100644 --- a/addons/point_of_sale/views/point_of_sale_dashboard.xml +++ b/addons/point_of_sale/views/point_of_sale_dashboard.xml @@ -52,13 +52,25 @@ <field name="current_session_state"/> <field name="last_session_closing_date"/> <field name="pos_session_username"/> + <field name="pos_session_state"/> <field name="currency_id"/> <templates> <t t-name="kanban-box"> <div> <div class="o_kanban_card_header oe_kanban_color_1"> <div class="o_kanban_card_header_title"> - <div class="o_primary"><t t-esc="record.name.value"/></div> + <div class="o_primary"> + <t t-esc="record.name.value"/> + <t t-if="record.pos_session_state.raw_value == 'opening_control'"> + <div class="label label-info o_kanban_inline_block">Opening Control</div> + </t> + <t t-if="record.pos_session_state.raw_value == 'opened'"> + <div class="label label-success o_kanban_inline_block">In Progress</div> + </t> + <t t-if="record.pos_session_state.raw_value == 'closing_control'"> + <div class="label label-info o_kanban_inline_block">Closing Control</div> + </t> + </div> <div class="o_secondary"><t t-esc="record.pos_session_username.value || 'Unused'"/></div> </div> <div class="o_kanban_manage_button_section"> @@ -76,7 +88,6 @@ <button t-if="!record.current_session_id.raw_value && !record.pos_session_username.value" class="btn btn-primary" name="open_session_cb" type="object">New Session</button> - <button t-if="!record.current_session_id.raw_value && record.pos_session_username.value" class="btn btn-primary" name="open_session_cb" type="object">A session is already opened</button> </div> <div class="col-xs-6 o_kanban_primary_right"> |
