aboutsummaryrefslogtreecommitdiffstats
path: root/servo/models/order.py
diff options
context:
space:
mode:
Diffstat (limited to 'servo/models/order.py')
-rw-r--r--servo/models/order.py28
1 files changed, 20 insertions, 8 deletions
diff --git a/servo/models/order.py b/servo/models/order.py
index 37f3ab3..d394502 100644
--- a/servo/models/order.py
+++ b/servo/models/order.py
@@ -286,6 +286,7 @@ class Order(models.Model):
if self.closed_at:
if (now - self.closed_at).seconds < moment_seconds:
return _("Closed a moment ago")
+
return _(u"Closed for %(time)s") % {'time': timesince(self.closed_at)}
if self.status and self.status_started_at is not None:
@@ -300,11 +301,15 @@ class Order(models.Model):
return _("Created a moment ago")
return _("Unassigned for %(delta)s") % {'delta': timesince(self.created_at)}
- if self.started_at and self.user is not None:
+ if self.in_progress():
if (now - self.started_at).seconds < moment_seconds:
return _("Started a moment ago")
+
return _("Open for %(delta)s") % {'delta': timesince(self.started_at)}
+ def in_progress(self):
+ return self.started_at and self.user is not None
+
def get_place(self):
return self.place or _("Select place")
@@ -425,10 +430,17 @@ class Order(models.Model):
pass
def set_location(self, new_location, user):
+ # move the products too
+ for soi in self.serviceorderitem_set.all():
+ product = soi.product
+ source = Inventory.objects.get(location=self.location, product=product)
+ source.move(new_location, soi.amount)
+
self.location = new_location
msg = _(u"Order %s moved to %s") % (self.code, new_location.title)
self.notify("set_location", msg, user)
self.save()
+
return msg
def set_checkin_location(self, new_location, user):
@@ -493,8 +505,8 @@ class Order(models.Model):
return # fail silently
self.status = None
- self.status_started_at = None
- self.status_limit_green = None
+ self.status_started_at = None
+ self.status_limit_green = None
self.status_limit_yellow = None
self.save()
@@ -625,7 +637,7 @@ class Order(models.Model):
try:
return self.devices.all()[0].slug
except Exception:
- return None
+ pass
def net_total(self):
total = 0
@@ -1069,10 +1081,10 @@ class Accessory(models.Model):
"""
An accessory that came with the device in this Service Order
"""
- name = models.TextField()
- qty = models.IntegerField(default=1)
- device = models.ForeignKey(Device)
- order = models.ForeignKey(Order)
+ name = models.TextField()
+ qty = models.IntegerField(default=1)
+ device = models.ForeignKey(Device)
+ order = models.ForeignKey(Order)
def __unicode__(self):
return self.name