Added Direct GRN and Direct invice in Purchases module.
[fa-stable.git] / includes / ui / ui_lists.inc
index 932eaf7ec52bfb9da0ec2e1868263c0ac16718a7..62a7e22a0fb9168373241b1610fba38ee777e779 100644 (file)
@@ -240,7 +240,7 @@ $opts = array(              // default options
                        ."<input type='text' $disabled name='{$name}_text' id='{$name}_text' size='".
                                $opts['editable']."' maxlength='".$opts['max']."' $rel value='$edit'>\n";
                                set_focus($name.'_text'); // prevent lost focus
-               } else if (isset($_POST['_'.$name.'_edit']))
+               } else if (get_post($search_submit ? $search_submit : "_{$name}_button"))
                        set_focus($name); // prevent lost focus
                if (!$opts['editable'])
                        $txt = $found;
@@ -249,7 +249,7 @@ $opts = array(              // default options
 
        $Ajax->addUpdate($name, "_{$name}_sel", $selector);
 
-       // span for select list/inut field update
+       // span for select list/input field update
        $selector = "<span id='_{$name}_sel'>".$selector."</span>\n";
 
         // if selectable or editable list is used - add select button
@@ -695,7 +695,7 @@ function stock_items_list($name, $selected_id=null, $all_option=false,
 {
        global $all_items;
 
-       $sql = "SELECT stock_id, s.description, c.description, s.inactive
+       $sql = "SELECT stock_id, s.description, c.description, s.inactive, s.editable
                        FROM ".TB_PREF."stock_master s,".TB_PREF."stock_category c WHERE s.category_id=c.category_id";
 
        if ($editkey)
@@ -878,7 +878,9 @@ function stock_purchasable_items_list($name, $selected_id=null,
                array('where'=>array("mb_flag!= 'M'"), 
                        'show_inactive'=>$all), $editkey);
 }
-
+//
+//     This helper is used in PO/GRN/PI entry and supports editable descriptions.
+//
 function stock_purchasable_items_list_cells($label, $name, $selected_id=null,
                        $all_option=false, $submit_on_change=false, $editkey=false)
 {
@@ -886,9 +888,10 @@ function stock_purchasable_items_list_cells($label, $name, $selected_id=null,
                echo "<td>$label</td>\n";
        echo stock_items_list($name, $selected_id, $all_option, $submit_on_change,
                array('where'=>array("mb_flag!= 'M'"), 
+                        'editable' => 30,
                         'cells'=>true), $editkey);
 }
-
+/*
 function stock_purchasable_items_list_row($label, $name, $selected_id=null,
                        $all_option=false, $submit_on_change=false, $editkey=false)
 {
@@ -897,7 +900,7 @@ function stock_purchasable_items_list_row($label, $name, $selected_id=null,
                $all_option, $submit_on_change, $editkey);
        echo "</tr>\n";
 }
-
+*/
 //------------------------------------------------------------------------------------
 
 function stock_item_types_list_row($label, $name, $selected_id=null, $enabled=true)
@@ -1428,13 +1431,36 @@ function pos_list_row($label, $name, $selected_id=null, $spec_option=false, $sub
 
 }
 //-----------------------------------------------------------------------------------------------
+// Payment type selector for current user.
+//
+function sale_payment_list($name, $selected_id=null, $submit_on_change=true)
+{
+       $sql = "SELECT terms_indicator, terms, inactive FROM ".TB_PREF."payment_terms";
+       $paym = get_sales_point(user_pos());
 
-function sale_payment_list_cells($label, $name, $selected_id=null, $submit_on_change=false)
+       if (!$paym['cash_sale'] || !$paym['credit_sale']) {
+               if ($paym['cash_sale']) // only cash
+                       $sql .= " WHERE days_before_due=0 AND day_in_following_month=0";
+               else
+                       $sql .= " WHERE days_before_due!=0 OR day_in_following_month!=0";
+       }
+
+       return combo_input($name, $selected_id, $sql, 'terms_indicator', 'terms',
+       array(
+               'select_submit'=> $submit_on_change,
+               'async' => true
+       ) );
+
+}
+
+function sale_payment_list_cells($label, $name, $selected_id=null, $submit_on_change=true)
 {
        if ($label != null)
                echo "<td>$label</td>\n";
        echo "<td>";
-       echo yesno_list($name, $selected_id, _('Cash'), _('Delayed'), $submit_on_change);
+
+       echo sale_payment_list($name, $selected_id, $submit_on_change);
+
        echo "</td>\n";
 }
 //-----------------------------------------------------------------------------------------------
@@ -1506,7 +1532,7 @@ function gl_account_types_list($name, $selected_id=null, $all_option=false, $all
 
        return combo_input($name, $selected_id, $sql, 'id', 'name',
        array(
-               'order' => 'id',
+               'order' => 'class_id', 'id',
                'spec_option' =>$all_option,
                'spec_id' => $all_option_numeric ? 0 : $all_items
        ) );
@@ -1552,7 +1578,7 @@ function gl_all_accounts_list($name, $selected_id=null, $skip_bank_accounts=fals
                'format' => '_format_account',
                'spec_option' => $all_option===true ?  _("Use Item Sales Accounts") : $all_option,
                'spec_id' => '',
-               'order' => array('type.id','account_code'),
+               'order' => array('type.class_id','type.id','account_code'),
                'search_box' => $cells,
                        'search_submit' => false,
                        'size' => 12,