X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=lib%2Forder.php;h=38a235aa28cf91e5636f49282ddd3a2ac9426454;hb=6bd4ad3daf2cc870d96a3fed9ea9caf6798d2b78;hp=928ca67efeafcb2bfc7448106970f8bd94257c6b;hpb=dedb377e98ae2f222f4d8b5dacc175e4d4e73f4b;p=readifood.git diff --git a/lib/order.php b/lib/order.php index 928ca67..38a235a 100644 --- a/lib/order.php +++ b/lib/order.php @@ -40,14 +40,7 @@ function show_orders($offset, $per_page, $requester_ids = null, $beneficiary_ids = null, $state_mask = null) { /* XXX: Use Propel methods. */ - if (isset($state_mask)) { - $order_ids = array(); - $dbh = Propel::getConnection(); - $sth = $dbh->prepare("select * from OrderState o where updated=(select max(updated) from OrderState where order_id=o.order_id) and state & $state_mask"); - $sth->execute(); - $order_states = OrderStatePeer::populateObjects($sth); - foreach ($order_states as $order_state) $order_ids[] = $order_state->getOrderId(); - } + if (isset($state_mask)) $order_ids = get_order_ids_by_state($state_mask); $q = new OrderQuery; if (isset($requester_ids)) $q->filterByRequesterId($requester_ids); if (isset($beneficiary_ids)) $q->filterByBeneficiaryId($beneficiary_ids); @@ -57,27 +50,7 @@ $orders = $q->orderByDate()->find(); if (count($orders)) { foreach ($orders as $order) { - echo "
\nOrder " . $order->getStrongLink($order->getId()) . ": " . get_order_displayname($order); - if (check_admin(1)) { - echo " " . $order->getDeleteLink(); - } - - /* XXX: Should pull from query. */ - $q = new ContactQuery; - $contact = $q->findOneById($order->getBeneficiaryId()); - if ($contact) { - echo " for " . $contact->getLink(); - $area = get_contact_area($contact); - if ($area) echo " in " . $area->getLink(); - } - - if ($order->getHubId()) { - $q = new HubQuery; - $hub = $q->findOneById($order->getHubId()); - if ($hub) echo " to hub " . $hub->getLink(); - $area = get_hub_area($hub); - if ($area) echo " in " . $area->getLink(); - } + echo "
\n" . get_order_summary($order) . "
\n"; } } else echo " none"; @@ -222,11 +195,11 @@ } function show_order_forms($city_id, $state_mask) { - echo "
\n"; + form("noprint standout"); show_order_state_form($state_mask); show_order_areas_form($city_id); show_order_cities_form($city_id); - echo "
\n"; + end_form(); } function show_order_form($order = null, $area_id = null) { @@ -303,9 +276,9 @@ echo "\n"; echo " Parcel size\n"; echo " \n"; echo "\n"; @@ -359,7 +332,7 @@ return; } - echo "
\n"; + form("noprint"); echo "

Place an order:

\n"; echo "\n"; @@ -369,7 +342,7 @@ echo " \n"; echo "\n"; echo "
"; submit("add_order", "Order"); echo "
\n"; - echo "
\n"; + end_form(); } function show_contact_order_form($contact) { @@ -384,7 +357,7 @@ $order = new Order; $order->setBeneficiaryId($contact->getId()); - echo "
\n"; + form("standout"); echo "

Placing order for " . $contact->getStrongLink() . "."; $parcel = $contact->getParcel(); if ($parcel) { @@ -400,7 +373,7 @@ echo " "; submit("add_order", "Order"); echo "\n"; echo "\n"; echo "\n"; - echo "

\n"; + end_form(); } function show_add_new_order_form() { @@ -413,7 +386,7 @@ return; } - echo "
\n"; + form("noprint standout"); echo "

Place an order in "; submit("show_add_order", "Proceed"); echo "

\n"; - echo "
\n"; + end_form(); } function update_order(&$order, $new = false) { @@ -432,7 +405,6 @@ $requester_id = $_POST['requester_id']; $beneficiary_id = $_POST['beneficiary_id']; $hub_id = $_POST['hub_id']; - $quantity = $_POST['quantity']; $driver_id = $_POST['driver_id']; if (! $driver_id) $driver_id = null; $state = $_POST['state']; @@ -470,11 +442,6 @@ } else $hub_id = null; - if (! is_numeric($quantity)) { - echo "

Invalid quantity!

\n"; - return false; - } - if ($new && isset($_POST['recurrence'])) $recurrence = $_POST['recurrence']; if (! $recurrence) $recurrence = 0; @@ -583,7 +550,7 @@ if (isset($id)) $order = get_order_by_id($id); if (! $order) return; - echo "
\n"; + form(); echo "

Order: " . $order->getId() . ""; if (check_admin(1)) { echo " " . $order->getDeleteLink(); @@ -603,7 +570,7 @@ } echo "\n"; - echo "

\n"; + end_form(); show_order_history($order->getId()); } @@ -683,15 +650,9 @@ } else if (isset($id)) show_order($id); else if ($state_mask) show_orders(0, 10, null, null, $state_mask); - else { - /* XXX: Shown after adding. */ - show_order_forms($city_id, $state_mask); - show_add_new_order_form($city_id); - } - if (count($parameters)) { - show_order_forms($city_id, $state_mask); - } + show_order_forms($city_id, $state_mask); + show_add_new_order_form($city_id); ?>