Added missing field for bank charges in bank_trans, rewritten bank transaction views...
[fa-stable.git] / includes / ui / ui_view.inc
index 9c2b594f242041460dd7c1cb8438b600c5281191..c12f3e10ec1041a9f1e4d8d224e4b5786adc9a3b 100644 (file)
@@ -51,7 +51,7 @@ function get_gl_view_str($type, $trans_no, $label="", $force=false, $class='', $
                $label = _("GL");
                $icon = ICON_GL;
        }
-       $url = ($type == ST_WORKORDER && !work_order_is_closed($trans_no)) ? "manufacturing/view/wo_costs_view.php?trans_no=$trans_no"
+       $url = ($type == ST_WORKORDER) ? "manufacturing/view/wo_costs_view.php?trans_no=$trans_no"
                : "gl/view/gl_trans_view.php?type_id=$type&trans_no=$trans_no";
 
        return viewer_link($label, $url, $class, $id, $icon);
@@ -270,7 +270,7 @@ function check_ui_refresh($name=null)
 // When there is no exrate for today, 
 // gets it form ECB and stores in local database.
 //
-function exchange_rate_display($from_currency, $to_currency, $date_, $force_edit=false)
+function exchange_rate_display($from_currency=null, $to_currency=null, $date_, $force_edit=false)
 {
     global $Ajax, $SysPrefs;
 
@@ -278,9 +278,15 @@ function exchange_rate_display($from_currency, $to_currency, $date_, $force_edit
 
        if ($from_currency != $to_currency)
        {
-               $rate = get_post('_ex_rate');
+               $rate = input_num('_ex_rate');
                if (check_ui_refresh() || !$rate) { // readonly or ui context changed
                        $comp_currency = get_company_currency();
+
+                       if (!isset($from_currency))
+                               $from_currency = $comp_currency;
+                       if (!isset($to_currency))
+                               $to_currency = $comp_currency;
+
                        if ($from_currency == $comp_currency)
                                $currency = $to_currency;
                        else
@@ -385,10 +391,8 @@ function view_stock_status($stock_id, $description=null, $echo=true)
 {
        global $path_to_root;
        if ($description)
-               //hyperlink_params_separate($path_to_root . "/inventory/inquiry/stock_status.php", (user_show_codes()?$stock_id . " - ":"") . $description, "stock_id=$stock_id");
                $preview_str = "<a target='_blank' href='$path_to_root/inventory/inquiry/stock_status.php?stock_id=$stock_id&popup=1' onclick=\"javascript:openWindow(this.href,this.target); return false;\" >". (user_show_codes()?$stock_id . " - ":"") . $description."</a>";
        else
-               //hyperlink_params_separate($path_to_root . "/inventory/inquiry/stock_status.php", $stock_id, "stock_id=$stock_id");
                $preview_str = "<a target='_blank' href='$path_to_root/inventory/inquiry/stock_status.php?stock_id=$stock_id&popup=1' onclick=\"javascript:openWindow(this.href,this.target); return false;\" >$stock_id</a>";
        if($echo)
                echo $preview_str;
@@ -546,7 +550,7 @@ function display_allocations($alloc_result, $total, $title, $show_summary=true)
     start_table(TABLESTYLE, "width='80%'");
 
     $th = array( _("Type"), _("Number"), _("Date"), _("Total Amount"),
-       _("Left to Allocate"), _("This Allocation"));
+       _("Left to Allocate"), _("Discount"), _("This Payment"), _("Allocated"));
        table_header($th);
     $k = $total_allocated = 0;
 
@@ -559,23 +563,23 @@ function display_allocations($alloc_result, $total, $title, $show_summary=true)
        label_cell(sql2date($alloc_row['tran_date']));
        $alloc_row['Total'] = round2($alloc_row['Total'], user_price_dec());
        $alloc_row['amt'] = round2($alloc_row['amt'], user_price_dec());
-       if ($alloc_row['type'] == ST_SUPPAYMENT || $alloc_row['type'] == ST_BANKPAYMENT || $alloc_row['type'] == ST_SUPPCREDIT)
-               $alloc_row['Total'] = -$alloc_row['Total'];
-       amount_cell($alloc_row['Total']);
-               amount_cell($alloc_row['Total'] - $alloc_row['amt']);
+       amount_cell(abs($alloc_row['Total']));
+               amount_cell(abs($alloc_row['Total']) - $alloc_row['alloc']);
+       amount_cell($alloc_row['discount']);
+       amount_cell($alloc_row['amt']-$alloc_row['discount']);
        amount_cell($alloc_row['amt']);
        end_row();
 
        $total_allocated += $alloc_row['amt'];
     }
     start_row();
-       label_cell(_("Total Allocated:"), "align=right colspan=5");
+       label_cell(_("Total Allocated:"), "align=right colspan=7");
        amount_cell($total_allocated);
        end_row();
        if ($show_summary)
        {
                start_row();
-           label_cell(_("Left to Allocate:"), "align=right colspan=5");
+           label_cell(_("Left to Allocate:"), "align=right colspan=7");
            $total = round2($total, user_price_dec());
        amount_cell($total - $total_allocated);
        end_row();
@@ -590,11 +594,11 @@ function display_allocations_from($person_type, $person_id, $type, $type_no, $to
        switch ($person_type)
        {
                case PT_CUSTOMER :
-                       $alloc_result = get_allocatable_to_cust_transactions($person_id, $type_no, $type);
+                       $alloc_result = get_allocatable_to_cust_transactions(0, $type_no, $type);
                        display_allocations($alloc_result, $total, _("Allocations"));
                        return;
                case PT_SUPPLIER :
-                       $alloc_result = get_allocatable_to_supp_transactions($person_id, $type_no, $type);
+                       $alloc_result = get_allocatable_to_supp_transactions(0, $type_no, $type);
                        display_allocations($alloc_result, $total, _("Allocations"));
                        return;
        }
@@ -718,7 +722,7 @@ function quickentry_calculate($base, $id, $taxgroup=null, $date=null)
                                case "t+": // ditto & increase base amount
                                case "t-": // ditto & reduce base amount
                                        if (substr($row['action'], 0, 1) != 'T') 
-                                               $totrate += get_tax_type_default_rate($row['dest_id']);
+                                               $totrate += get_tax_type_rate($row['dest_id']);
                        }
                }
                $first = true;
@@ -834,7 +838,7 @@ function _number_to_words($number)
         "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", 
         "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", 
         "Nineteen"); 
-    $tens = array("", "", "Twenty", "Thirty", "Fourty", "Fifty", "Sixty", 
+    $tens = array("", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", 
         "Seventy", "Eighty", "Ninety"); 
 
     if ($Dn || $n) 
@@ -890,6 +894,71 @@ function get_js_open_window($width, $height)
                . " var top = (screen.height - $height) / 2;\n"
                . " return window.open(url, title, 'width=$width,height=$height,left='+left+',top='+top+',screenX='+left+',screenY='+top+',status=no,scrollbars=yes');\n"
                . "}\n";
+       $js .= get_js_lookup_window();
+       return $js;
+}
+
+function get_js_lookup_window() {
+       $js = "function lookupWindow(url, title) {
+       var u = url.split('#');
+       if (u.length == 2) {
+               var element = document.getElementById(u[1]);
+               var options = element.options;
+               url = u[0] + '&' + u[1] + '=' + options[element.selectedIndex].value;
+       }
+       openWindow(url, title);
+       }";
+       return $js;
+}
+
+function get_js_select_combo_item() {
+       $js = "function selectComboItem(doc, client_id, value){
+       var element = doc.getElementById(client_id);
+               if (typeof(element) != 'undefined' && element != null && element.tagName === 'SELECT' ){
+                       var options = element.options;
+                       for (var i = 0, optionsLength = options.length; i < optionsLength; i++) {
+                               if (options[i].value == value) {
+                                       element.selectedIndex = i;
+                               element.onchange();
+                               }
+                       }
+               } else {                        
+                       var stock_element = doc.getElementsByName('stock_id');
+               if( stock_element.length > 0) {
+                               stock_element.value = value;    
+                               var stock_id = doc.getElementById('_stock_id_edit'); 
+                               stock_id.value=value;
+                               stock_id.onblur();              
+                       }
+               }                       
+               window.close();
+       }";
+       return $js;
+}
+/* for space search option */
+function get_js_set_combo_item() {
+       $js = "function setComboItem(doc, client_id, value, text){
+       var element = doc.getElementById(client_id);
+               if(typeof(element) != 'undefined' && element != null && element.tagName === 'SELECT') {
+                       var options = element.options;
+                       options.length = 0;
+                       var option = doc.createElement('option');
+                       option.value = value;
+                       option.text = text;
+                       element.add(option, 0);
+                       element.selectedIndex = 0;
+               element.onchange();
+           } else {
+                       var stock_element = doc.getElementsByName('stock_id');
+               if( stock_element.length > 0) {
+                               stock_element[0].value = value; 
+                               var stock_id = doc.getElementById('_stock_id_edit'); 
+                               stock_id.value=value;
+                               stock_id.onblur();                                      
+                       }
+               }
+               window.close();
+       }";
        return $js;
 }
 
@@ -1392,6 +1461,14 @@ function changeCCYear(change) {
 function changeCCMonth(change) {
   cC.changeMonth(change);
 }
+window.addEventListener('click', function(e) {
+  if (document.getElementById('CC').contains(e.target)){} else {
+    if (cC.visible()) {
+      cC.hide();
+    }
+  }
+});
+
 document.write(\"<iframe id='CCIframe' src='javascript:false;' frameBorder='0' scrolling='no'></iframe>\");
 document.write(\"<div id='CC'></div>\");";
 
@@ -1426,7 +1503,7 @@ if (!function_exists('_vd'))
 
 function _vl($mixed, $title = '', $exit = false)
 {
-       error_log((!empty($title) ? ($title .':') : '') . var_export($mixed, true));
+       error_log((!empty($title) ? ($title .':') : '') . print_r($mixed, true));
        if ($exit)
                exit;
 }
@@ -1489,7 +1566,7 @@ function trans_editor_link($type, $trans_no)
                ST_SUPPCREDIT =>  "/purchasing/supplier_credit.php?ModifyCredit=%d",
 //   21=> Supplier Credit Note,
 //   22=> Supplier Payment,
-//   25=> Purchase Order Delivery,
+               ST_SUPPRECEIVE => "/purchasing/po_receive_items.php?ModifyGRN=%d",
                ST_PURCHORDER => "/purchasing/po_entry_items.php?ModifyOrderNumber=%d",
 //   28=> Work Order Issue,
 //   29=> Work Order Production",
@@ -1499,7 +1576,7 @@ function trans_editor_link($type, $trans_no)
        //   35=> Cost Update,
        );
 
-       return !isset($editor_url[$type]) ? '' :
+       return !isset($editor_url[$type]) ? '--' :
                (is_closed_trans($type, $trans_no) ? set_icon(ICON_CLOSED, _('Closed')) :
                        pager_link(_("Edit"), sprintf($editor_url[$type], $trans_no, $type), ICON_EDIT));
 }