Added get_order_summary().
authorIain Patterson <me@iain.cx>
Mon, 13 May 2013 08:46:11 +0000 (04:46 -0400)
committerIain Patterson <me@iain.cx>
Mon, 13 May 2013 12:48:06 +0000 (08:48 -0400)
Cut down code duplication with a function to show order summary.

lib/functions.php

index e970f54..fe442f8 100644 (file)
     return sprintf("<span class=\"small\">%s</span> on %s", get_order_parcel_string($order), $order->getDate());
   }
 
+  function get_order_summary($order) {
+    $ret = "Order " . $order->getStrongLink($order->getId()) . ": " . get_order_displayname($order);
+
+    if (check_admin(1)) $ret .= " " . $order->getDeleteLink();
+
+    /* XXX: Should pull from query. */
+    $q = new ContactQuery;
+    $contact = $q->findOneById($order->getRequesterId());
+    if ($contact) {
+      $ret .= " referred by " . $contact->getLink();
+      $area = get_contact_area($contact);
+      if ($area) $ret .= " in " . $area->getLink();
+    }
+
+    $q = new ContactQuery;
+    $contact = $q->findOneById($order->getBeneficiaryId());
+    if ($contact) {
+      $ret .= " for " . $contact->getLink();
+      $area = get_contact_area($contact);
+      if ($area) $ret .= " in " . $area->getLink();
+    }
+
+    if ($order->getHubId()) {
+      $q = new HubQuery;
+      $hub = $q->findOneById($order->getHubId());
+      if ($hub) $ret .= " to hub " . $hub->getLink();
+      $area = get_hub_area($hub);
+      if ($area) $ret .= " in " . $area->getLink();
+    }
+
+    return $ret;
+  }
+
   function get_address_area($address) {
     $q = new AreaQuery;
     return $q->findOneById($address->getAreaId());