- function formatOrder(order : Dynamic, left : Int) {
- var attributes = [];
- var cells : Array <Dynamic> = [
- order.order_id
- ,order.deliver_to
- ,order.quantity
- ,left
- ,left+order.quantity
- ,order.from_stk_code
- ,order.delivery_date
+ function formatOrder(order : Dynamic, left : Int, date : Date) {
+ var row_id = 'order_'+order.id;
+ var attributes = ['id = "'+row_id+'"'];
+ var classes = [];
+ var before : Int = left + order.quantity;
+ /* We have basically 3 different cases;
+ * - the order can be fullfilled
+ * - the order can be partially
+ * - not at all
+ */
+ if (before < 0 ) {
+ classes.push('soldout');
+ }
+ else if(left < 0) {
+ classes.push('partial');
+ }
+ else {
+ classes.push('full');
+ }
+
+ /* The order can also be late if we need
+ * to wait for a delivery to get it
+ */
+ var required_by : Date = FA.sql2date(order.required_date);
+ if(required_by == null) required_by = FA.sql2date(order.delivery_date);
+ if(required_by.getTime() < date.getTime()) {
+ classes.push('late');
+ }
+ else {
+ classes.push('on_time');
+ }
+ var cells : Array <Dynamic> = [
+ order.order_id
+ , '<a href="/modules/order_line_extra/order_lines_view.php?customer_id='+Std.string(order.debtor_no)+'">'+order.deliver_to+'</a>'
+ ,'<input type="text" name="'+row_id+'[quantity]" value="'+order.quantity+'">'
+ ,before
+ ,left
+ ,order.from_stk_loc
+ ,order.delivery_date
+ ,order.required_date
+ ,order.comment