diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js index 7cbef6c99dc..8b938738e85 100644 --- a/addons/point_of_sale/static/src/js/models.js +++ b/addons/point_of_sale/static/src/js/models.js @@ -221,7 +221,7 @@ exports.PosModel = Backbone.Model.extend({ fields: ['id', 'journal_ids','name','user_id','config_id','start_at','stop_at','sequence_number','login_number'], domain: function(self){ return [['state','=','opened'],['user_id','=',session.uid]]; }, loaded: function(self,pos_sessions){ - self.pos_session = pos_sessions[0]; + self.pos_session = pos_sessions[0]; }, },{ model: 'pos.config', @@ -241,6 +241,8 @@ exports.PosModel = Backbone.Model.extend({ self.db.set_uuid(self.config.uuid); self.cashier = self.get_cashier(); + // We need to do it here, since only then the local storage has the correct uuid + self.db.save('pos_session_id', self.pos_session.id); var orders = self.db.get_orders(); for (var i = 0; i < orders.length; i++) { @@ -577,6 +579,10 @@ exports.PosModel = Backbone.Model.extend({ // returns the user who is currently the cashier for this point of sale get_cashier: function(){ + // reset the cashier to the current user if session is new + if (this.db.load('pos_session_id') !== this.pos_session.id) { + this.set_cashier(this.user); + } return this.db.get_cashier() || this.cashier || this.user; }, // changes the current cashier