X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=lib%2Forder.php;h=a392f6eaeed46b1cd101098aa7781db14e5906b8;hb=b42536fa2409ee96fd3abc3c781174393e649e9c;hp=74306d918d8f1d72502fe5f22ab6ab6f36e3e453;hpb=cf4cf65ff0e729c6ba52cede471b7c5ae2b837ba;p=readifood.git diff --git a/lib/order.php b/lib/order.php index 74306d9..a392f6e 100644 --- a/lib/order.php +++ b/lib/order.php @@ -235,7 +235,10 @@ if ($order) { $q = new OrderStateQuery; $order_state = $q->filterByOrderId($order->getId())->orderByUpdated('desc')->limit(1)->findOne(); - if ($order_state) $state = $order_state->getState(); + if ($order_state) { + $state = $order_state->getState(); + $driver_id = $order_state->getDriverId(); + } } else $order = new Order; @@ -293,7 +296,7 @@ /* Quantity. */ echo "\n"; echo " Quantity (kg)\n"; - echo " "; input("quantity", $order->getQuantity()); echo "\n"; + echo " "; input("quantity", sprintf("%0.2f", $order->getQuantity() / 1000)); echo "\n"; echo "\n"; /* Driver. */ @@ -377,6 +380,7 @@ $hub_id = $_POST['hub_id']; $quantity = $_POST['quantity']; $driver_id = $_POST['driver_id']; + if (! $driver_id) $driver_id = null; $state = $_POST['state']; if (! $state) $state = $GLOBALS['STATE_PLACED']; @@ -406,6 +410,7 @@ return false; } } + else $hub_id = null; if (! is_numeric($quantity)) { echo "

Invalid quantity!

\n"; @@ -426,7 +431,7 @@ $order->setRequesterId($requester_id); $order->setBeneficiaryId($beneficiary_id); $order->setHubId($hub_id); - $order->setQuantity($quantity); + $order->setQuantity($quantity * 1000); /* XXX: begin/commit */ try { @@ -499,6 +504,7 @@ $driver_id = $order_state->getDriverId(); if ($driver_id) $driver = get_contact_by_id($driver_id); + else $driver = null; /* XXX */ $state = $order_state->getState();