Minor bug
[fa-stable.git] / includes / ui / ui_view.inc
index 98af52cc0971042c18765dddfa1def692e97c9ec..4cf763ab284523d57c863ce81336882f7667e288 100644 (file)
@@ -25,7 +25,7 @@ function get_supplier_trans_view_str($type, $trans_no, $label="", $icon=false,
        elseif ($type == 21)
                $viewer .= "view_supp_credit.php";
        elseif ($type == 22)
-               $viewer = "view_supp_payment.php";
+               $viewer .= "view_supp_payment.php";
        elseif ($type == 25)
                $viewer .= "view_grn.php";
        else
@@ -117,8 +117,6 @@ function get_banking_trans_view_str($type, $trans_no, $label="",
                $viewer = "gl_payment_view.php";
        elseif ($type == 2)
                $viewer = "gl_deposit_view.php";
-       elseif ($type == 0)
-               return $label;
        else
                return null;
 
@@ -177,7 +175,23 @@ function get_dimensions_trans_view_str($type, $trans_no, $label="", $icon=false,
        $class='', $id='')
 {
        if ($type == 40)
-               $viewer = "dimensions/view_dimension.php?trans_no=$trans_no";
+               $viewer = "dimensions/view/view_dimension.php?trans_no=$trans_no";
+       else
+               return null;
+
+       if ($label == "")
+               $label = $trans_no;
+
+       return viewer_link($label, $viewer, $class, $id,  $icon);
+}
+/*
+       Journal entry or cost update postings link
+*/
+function get_journal_trans_view_str($type, $trans_no, $label="", $icon=false, 
+       $class='', $id='')
+{
+       if ($type == 0 || $type == 35)
+               $viewer = "gl/view/gl_trans_view.php?type_id=$type&trans_no=$trans_no";
        else
                return null;
 
@@ -216,6 +230,10 @@ function get_trans_view_str($type, $trans_no, $label="", $icon=false,
        if ($view_str != null)
                return $view_str;
 
+       $view_str = get_journal_trans_view_str($type, $trans_no, $label, $icon, $class, $id);
+       if ($view_str != null)
+               return $view_str;
+
        return null;
 }
 
@@ -239,9 +257,12 @@ function exchange_rate_display($from_currency, $to_currency, $date_, $edit_rate=
                if ($date_ == Today()) {
                        $rate = get_date_exchange_rate($currency, $date_);
                        if (!$rate) {
-                               $rate = get_ecb_rate($currency);
-                               if ($rate) 
-                                       add_exchange_rate($currency, $date_, $rate, $rate);
+                               $row = get_currency($currency);
+                               if ($row['auto_update']) {
+                                       $rate = retrieve_exrate($currency, $date_);
+                                       if ($rate) 
+                                               add_exchange_rate($currency, $date_, $rate, $rate);
+                               }
                        }
                }
                if (!$rate)
@@ -253,7 +274,7 @@ function exchange_rate_display($from_currency, $to_currency, $date_, $edit_rate=
                if ($edit_rate)
                        text_row(_("Exchange Rate:"), '_ex_rate', $rate, 8, 8, null, "", " $from_currency = 1 $to_currency"); 
                else
-               label_row(_("Exchange Rate:"),"<span id='_ex_rate'>$rate</span> $from_currency = 1 $to_currency" );
+               label_row(_("Exchange Rate:"),"<span style='vertical-align:top;' id='_ex_rate'>$rate</span> $from_currency = 1 $to_currency" );
                $Ajax->addUpdate('_ex_rate','_ex_rate', $rate);
        }
 }
@@ -337,7 +358,7 @@ function view_stock_status_cell($stock_id, $description=null)
 
 function display_debit_or_credit_cells($value)
 {
-       if ($value > 0)
+       if ($value >= 0)
        {
                amount_cell($value);
                label_cell("");
@@ -347,12 +368,6 @@ function display_debit_or_credit_cells($value)
                label_cell("");
                amount_cell(abs($value));
        }
-       else
-       {
-               //label_cell("");
-               amount_cell(0);
-               label_cell("");
-       }
 }
 
 //--------------------------------------------------------------------------------------
@@ -550,6 +565,11 @@ function display_quick_entries(&$cart, $id, $base, $type, $descr='')
                                                $gl_code = ($type == QE_DEPOSIT || ($type == QE_JOURNAL && $base < 0)) 
                                                        ? $item_tax['sales_gl_code'] : $item_tax['purchasing_gl_code'];
                                                $tax_total += $tax;
+                                               if ($tax==0) continue;
+                                               if (!is_tax_gl_unique($gl_code)) {
+                                                       display_error(_("Cannot post to GL account used by more than one tax type."));
+                                                       break 3;
+                                               }
                                                if ($type != QE_SUPPINV)
                                                        $cart->add_gl_item($gl_code, 
                                                                $qe_line['dimension_id'], $qe_line['dimension2_id'], 
@@ -586,16 +606,12 @@ function display_quick_entries(&$cart, $id, $base, $type, $descr='')
 
 function get_js_open_window($width, $height)
 {
-       $js = "\n<script type=\"text/javascript\">\n"
-               . "<!--\n"
-               . "function openWindow(url, title)\n"
+       $js ="function openWindow(url, title)\n"
                . "{\n"
                . " var left = (screen.width - $width) / 2;\n"
                . " 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"
-               . "-->\n"
-               . "</script>\n";
+               . "}\n";
        return $js;
 }
 
@@ -613,18 +629,25 @@ function set_focus($name, $form_no=0) {
 //     Returns unique name if $name=null
 //     
 function default_focus($name=null, $form_no=0) {
+       static $next; 
        if ($name==null) 
-               $name = uniqid('_el');
+               $name = uniqid('_el',true);
     if (!isset($_POST['_focus'])) {
          set_focus($name);
     }
        return $name;
 }
+/*
+       Reset focus to next control element (e.g. link).
+*/
+function reset_focus()
+{
+       unset($_POST['_focus']);
+}
 
 function get_js_png_fix()
 {
-       $js = "<script type=\"text/javascript\">\n"
-               . "function fixPNG(myImage)\n"
+       $js = "function fixPNG(myImage)\n"
                . "{\n"
                . " var arVersion = navigator.appVersion.split(\"MSIE\")\n"
                . " var version = parseFloat(arVersion[1])\n"
@@ -643,8 +666,7 @@ function get_js_png_fix()
         . "    + \"(src=\'\" + myImage.src + \"\', sizingMethod='scale');\\\"></span>\"\n"
                . "  myImage.outerHTML = strNewHTML\n"
        . " }\n"
-               . "}\n"
-               . "</script>\n";
+               . "}\n";
        return $js;
 }