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);
echo "<tr>\n";
echo " <td>Parcel size</td>\n";
echo " <td><select name=\"parcel_size\">\n";
- $mask = 1 << (count($parcel_sizes) + 1);
+ $mask = 1 << count($parcel_sizes);
for ($i = 0; $i < count($parcel_sizes); $i++) {
- option("parcel_size", $i << 1, $parcel_sizes[$i], $order->getParcel() % $mask);
+ option("parcel_size", 1 << $i, $parcel_sizes[$i], $order->getParcel() % $mask);
}
echo "</select></td>\n";
echo "</tr>\n";
$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'];
}
else $hub_id = null;
- if (! is_numeric($quantity)) {
- echo "<p>Invalid quantity!</p>\n";
- return false;
- }
-
if ($new && isset($_POST['recurrence'])) $recurrence = $_POST['recurrence'];
if (! $recurrence) $recurrence = 0;