Allow reordering the delivery list.
[readifood.git] / lib / delivery.php
index 3b45558..9cdd338 100644 (file)
 
     $q = new OrderQuery;
     $orders = $q->filterById(get_driver_schedule_by_order_id($contact->getId(), $order_ids))->find();
+
+    /*
+      Only allow drag and drop if there's more than one order otherwise IE will
+      mess up the CSS.
+    */
+    $count = count($orders);
+    if ($count) {
+      foreach ($orders as $order) {
+        if (! get_contact_by_id($order->getBeneficiaryId())) $count--;
+      }
+    }
+
+    if ($count > 1) {
+      echo "<div class=\"sortable\">\n";
+      echo "<p class=\"noprint\">Drag delivery details to reorder the schedule.</p>\n";
+    }
+
     foreach ($orders as $order) {
       $contact = get_contact_by_id($order->getBeneficiaryId());
       if (! $contact) continue;
 
+      echo "<span>\n";
+
       $phones = array();
       $area = get_contact_area($contact);
       echo "<p>Order of <em>" . get_order_parcel_string($order) . "</em> for <strong>" . htmlspecialchars($contact->getDisplayname()) . "</strong> in " . htmlspecialchars(get_area_displayname($area)) . ".</p>\n";
         echo "</p>\n";
       }
 
-      echo "<hr>\n\n";
+      echo "<hr>\n";
+      echo "</span>\n\n";
     }
+
+    if ($count > 1) echo "</div>\n";
   }
 
   function show_delivery_date_form($date = null) {