def set_status(self, new_status): """ Set a new status for this order. If the requested status is not valid, then ``InvalidOrderStatus`` is raised. """ if new_status == self.status: return old_status = self.status if new_status not in self.available_statuses(): raise exceptions.InvalidOrderStatus( _("'%(new_status)s' is not a valid status for order %(number)s" " (current status: '%(status)s')") % {'new_status': new_status, 'number': self.number, 'status': self.status}) self.status = new_status if new_status in self.cascade: for line in self.lines.all(): line.status = self.cascade[self.status] line.save() self.save() # Send signal for handling status changed order_status_changed.send(sender=self, order=self, old_status=old_status, new_status=new_status, )
def set_status(self, new_status): """ Set a new status for this order. If the requested status is not valid, then ``InvalidOrderStatus`` is raised. """ if new_status == self.status: return old_status = self.status if new_status not in self.available_statuses(): raise exceptions.InvalidOrderStatus( _("'%(new_status)s' is not a valid status for order %(number)s" " (current status: '%(status)s')") % { 'new_status': new_status, 'number': self.number, 'status': self.status }) self.status = new_status if new_status in self.cascade: for line in self.lines.all(): line.status = self.cascade[self.status] line.save() self.save() # Send signal for handling status changed order_status_changed.send( sender=self, order=self, old_status=old_status, new_status=new_status, )
def set_status(self, new_status): old_status = self.status if new_status == self.status: return if new_status not in self.available_statuses(): raise InvalidOrderStatus( "'%s' is not a valid status for order %s (currency status: '%s')" % (new_status, self.number, self.status) ) self.status = new_status if new_status in self.cascade: for line in self.lines.all(): line.status = self.cascade[self.status] line.save() self.save() order_status_changed.send(sender=self, order=self, user=self.user, old_status=old_status)