Hotkey support for viewer links.
[fa-stable.git] / includes / ui / ui_view.inc
index 7ca792aee8e30cd76afdd4a81d76d7f4bc888f4e..1cd30802b0be9e0b44ce1fdd1d8bcf87d64070cb 100644 (file)
@@ -7,7 +7,7 @@ include_once($path_to_root . "/includes/types.inc");
 
 function get_supplier_trans_view_str($type, $trans_no, $label="")
 {
-       global $path_to_root, $use_popup_windows;
+       global $path_to_root;
 
        $viewer = "";
        if ($type == systypes::po())
@@ -28,10 +28,8 @@ function get_supplier_trans_view_str($type, $trans_no, $label="")
 
        if ($viewer != "")
        {
-               if ($use_popup_windows)
-                       $preview_str = "<a target='_blank' href='$path_to_root/purchasing/view/$viewer?trans_no=$trans_no' onclick=\"javascript:openWindow(this.href,this.target); return false;\" >$label</a>";
-               else
-                       $preview_str = "<a target='_blank' href='$path_to_root/purchasing/view/$viewer?trans_no=$trans_no'>$label</a>";
+               $pars = access_string($label);
+               $preview_str = "<a target='_blank' href='$path_to_root/purchasing/view/$viewer?trans_no=$trans_no' onclick=\"javascript:openWindow(this.href,this.target); return false;\"$pars[1]>$pars[0]</a>";
        }
        else
                $preview_str = $label;
@@ -43,17 +41,15 @@ function get_supplier_trans_view_str($type, $trans_no, $label="")
 
 function get_gl_view_str($type, $trans_no, $label="", $force=false)
 {
-       global $path_to_root, $use_popup_windows;
+       global $path_to_root;
 
        if (!$force && !user_show_gl_info())
                return "";
 
        if ($label == "")
                $label = _("GL");
-       if ($use_popup_windows)
-               $gl_view = "<a target='_blank' href='$path_to_root/gl/view/gl_trans_view.php?type_id=$type&trans_no=$trans_no' onclick=\"javascript:openWindow(this.href,this.target); return false;\" >$label</a>";
-       else
-               $gl_view = "<a target='_blank' href='$path_to_root/gl/view/gl_trans_view.php?type_id=$type&trans_no=$trans_no'>$label</a>";
+       $pars = access_string($label);
+       $gl_view = "<a target='_blank' href='$path_to_root/gl/view/gl_trans_view.php?type_id=$type&trans_no=$trans_no' onclick=\"javascript:openWindow(this.href,this.target); return false;\"$pars[1]>$pars[0]</a>";
 
        return $gl_view;
 }
@@ -71,7 +67,7 @@ function get_gl_view_str_cell($type, $trans_no, $label="")
 
 function get_customer_trans_view_str($type, $trans_no, $label="")
 {
-       global $path_to_root, $use_popup_windows;
+       global $path_to_root;
 
        $viewer = "";
        if ($type == 10)
@@ -99,10 +95,8 @@ function get_customer_trans_view_str($type, $trans_no, $label="")
 
        if ($viewer != "")
        {
-               if ($use_popup_windows)
-                       $preview_str .= "<a target='_blank' href='$path_to_root/sales/view/$viewer?trans_no=$trans' onclick=\"javascript:openWindow(this.href,this.target); return false;\" >$lbl</a>";
-               else
-                       $preview_str .= "<a target='_blank' href='$path_to_root/sales/view/$viewer?trans_no=$trans'>$lbl</a>";
+               $pars = access_string($lbl);
+               $preview_str = "<a target='_blank' href='$path_to_root/sales/view/$viewer?trans_no=$trans' onclick=\"javascript:openWindow(this.href,this.target); return false;\" $pars[1]>$pars[0]</a>";
        }
        else
                $preview_str .= $lbl;
@@ -115,7 +109,7 @@ function get_customer_trans_view_str($type, $trans_no, $label="")
 
 function get_banking_trans_view_str($type, $trans_no, $label="")
 {
-       global $path_to_root, $use_popup_windows;
+       global $path_to_root;
 
        $viewer = "";
 
@@ -135,10 +129,8 @@ function get_banking_trans_view_str($type, $trans_no, $label="")
 
        if ($viewer != "")
        {
-               if ($use_popup_windows)
-                       $preview_str = "<a target='_blank' href='$path_to_root/gl/view/$viewer?trans_no=$trans_no' onclick=\"javascript:openWindow(this.href,this.target); return false;\" >$label</a>";
-               else
-                       $preview_str = "<a target='_blank' href='$path_to_root/gl/view/$viewer?trans_no=$trans_no'>$label</a>";
+               $pars = access_string($label);
+               $preview_str = "<a target='_blank' href='$path_to_root/gl/view/$viewer?trans_no=$trans_no' onclick=\"javascript:openWindow(this.href,this.target); return false;\"$pars[1]>$pars[0]</a>";
        }
        else
                $preview_str = $label;
@@ -150,7 +142,7 @@ function get_banking_trans_view_str($type, $trans_no, $label="")
 
 function get_inventory_trans_view_str($type, $trans_no, $label="")
 {
-       global $path_to_root, $use_popup_windows;
+       global $path_to_root;
 
        $viewer = "";
 
@@ -166,10 +158,8 @@ function get_inventory_trans_view_str($type, $trans_no, $label="")
 
        if ($viewer != "")
        {
-               if ($use_popup_windows)
-                       $preview_str = "<a target='_blank' href='$path_to_root/inventory/view/$viewer?trans_no=$trans_no' onclick=\"javascript:openWindow(this.href,this.target); return false;\" >$label</a>";
-               else
-                       $preview_str = "<a target='_blank' href='$path_to_root/inventory/view/$viewer?trans_no=$trans_no'>$label</a>";
+               $pars = access_string($label);
+               $preview_str = "<a target='_blank' href='$path_to_root/inventory/view/$viewer?trans_no=$trans_no' onclick=\"javascript:openWindow(this.href,this.target); return false;\"$pars[1]>$pars[0]</a>";
        }
        else
                $preview_str = $label;
@@ -181,7 +171,7 @@ function get_inventory_trans_view_str($type, $trans_no, $label="")
 
 function get_manufacturing_trans_view_str($type, $trans_no, $label="")
 {
-       global $path_to_root, $use_popup_windows;
+       global $path_to_root;
 
        $viewer = "";
 
@@ -199,10 +189,8 @@ function get_manufacturing_trans_view_str($type, $trans_no, $label="")
 
        if ($viewer != "")
        {
-               if ($use_popup_windows)
-                       $preview_str = "<a target='_blank' href='$path_to_root/manufacturing/view/$viewer?trans_no=$trans_no' onclick=\"javascript:openWindow(this.href,this.target); return false;\" >$label</a>";
-               else
-                       $preview_str = "<a target='_blank' href='$path_to_root/manufacturing/view/$viewer?trans_no=$trans_no'>$label</a>";
+               $pars = access_string($label);
+               $preview_str = "<a target='_blank' href='$path_to_root/manufacturing/view/$viewer?trans_no=$trans_no' onclick=\"javascript:openWindow(this.href,this.target); return false;\"$pars[1]>$pars[0]</a>";
        }
        else
                $preview_str = $label;
@@ -214,7 +202,7 @@ function get_manufacturing_trans_view_str($type, $trans_no, $label="")
 
 function get_dimensions_trans_view_str($type, $trans_no, $label="")
 {
-       global $path_to_root, $use_popup_windows;
+       global $path_to_root;
 
        $viewer = "";
 
@@ -228,10 +216,8 @@ function get_dimensions_trans_view_str($type, $trans_no, $label="")
 
        if ($viewer != "")
        {
-               if ($use_popup_windows)
-                       $preview_str = "<a target='_blank' href='$path_to_root/dimensions/view/$viewer?trans_no=$trans_no' onclick=\"javascript:openWindow(this.href,this.target); return false;\" >$label</a>";
-               else
-                       $preview_str = "<a target='_blank' href='$path_to_root/dimensions/view/$viewer?trans_no=$trans_no'>$label</a>";
+               $pars = access_string($label);
+               $preview_str = "<a target='_blank' href='$path_to_root/dimensions/view/$viewer?trans_no=$trans_no' onclick=\"javascript:openWindow(this.href,this.target); return false;\"$pars[1]>$pars[0]</a>";
        }
        else
                $preview_str = $label;
@@ -271,37 +257,40 @@ function get_trans_view_str($type, $trans_no, $label="")
 }
 
 //--------------------------------------------------------------------------------------
-
-function exchange_rate_display($from_currency, $to_currency, $date_, $buttons=true)
+// Displays currency exchange rate for given date.
+// 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_)
 {
     global $Ajax;
-    $hint = _('Get daily ECB exchange rate and save for later use in invoicing process');
+
        if ($from_currency != $to_currency)
        {
-               if ($buttons && isset($_POST['get_rate']))
-               {
-                       $comp_currency = get_company_currency();
-                       if ($from_currency == $comp_currency)
-                               $currency = $to_currency;
-                       else
-                               $currency = $from_currency;
-                       $rate = get_ecb_rate($currency);
-                       if (get_date_exchange_rate($currency, $date_))
-                               update_exchange_rate($currency, $date_, $rate, $rate);
-                       else
-                               add_exchange_rate($currency, $date_, $rate, $rate);
-                       if ($from_currency == $comp_currency)
-                               $rate = 1 / $rate;
-                       $Ajax->activate('get_rate');
-               }
+               $comp_currency = get_company_currency();
+               if ($from_currency == $comp_currency)
+                       $currency = $to_currency;
                else
+                       $currency = $from_currency;
+               $rate = 0;
+               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);
+                       }
+               }
+               if (!$rate)
                        $rate = get_exchange_rate_from_to($to_currency, $from_currency, $date_);
+                       
+               if ($from_currency == $comp_currency)
+                       $rate = 1 / $rate;
+
                $rate = number_format2($rate, user_exrate_dec());
-       label_row(_("Exchange Rate:"),"1 " . $from_currency . " = <span id='_ex_rate'>" . $rate . "</span> " . $to_currency .
-               ($buttons?"  " . submit('get_rate',_("Get"), false, $hint, true):""));
-           if($buttons) {
-                 $Ajax->addUpdate('get_rate','_ex_rate', $rate);
-               }
+       label_row(_("Exchange Rate:"),"1 " . $from_currency 
+                       . " = <span id='_ex_rate'>" . $rate . "</span> " . $to_currency );
+                 $Ajax->addUpdate('_ex_rate','_ex_rate', $rate);
        }
 }
 
@@ -840,6 +829,9 @@ function CC() {
 ";
        $js .= "
       dateField.value = dateString;
+         setFocus(dateField.name);
+         if (dateField.className=='searchbox')
+               dateField.onblur();
       hide();
     }
     return;
@@ -1000,19 +992,19 @@ function CC() {
     if(document.getElementById){
       calendar = document.getElementById(calendarId);
       calendar.innerHTML = calendarDrawTable(currentYear, currentMonth);
-      setProperty('display', 'block');
       var fieldPos = new positionInfo(dateField);
       var calendarPos = new positionInfo(calendarId);
       var x = fieldPos.getElementLeft();
       var y = fieldPos.getElementBottom();
       setProperty('left', x + 'px');
       setProperty('top', y + 'px');
+      setProperty('display', 'block');
       if (document.all) {
-        setElementProperty('display', 'block', 'CCIframe');
         setElementProperty('left', x + 'px', 'CCIframe');
         setElementProperty('top', y + 'px', 'CCIframe');
         setElementProperty('width', calendarPos.getElementWidth() + 'px', 'CCIframe');
         setElementProperty('height', calendarPos.getElementHeight() + 'px', 'CCIframe');
+        setElementProperty('display', 'block', 'CCIframe');
       }
     }
   }