$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) {
echo "<script src=\"$http://code.jquery.com/ui/1.10.3/jquery-ui.js\"></script>\n";
?>
<script src="/jquery.autosize.js"></script>
+<script src="/jquery.sortable.js"></script>
</head>
<body>
--- /dev/null
+$(function() {
+ $(".sortable").sortable({
+ axis: "y",
+ containment: "parent",
+ placeholder: "sortplaceholder",
+ forcePlaceholderSize: true,
+ start: function( event, ui ) { ui.item.addClass('sortdragging'); },
+ stop: function( event, ui ) { ui.item.removeClass('sortdragging'); },
+ });
+ $(".sortable").disableSelection();
+});