fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [8590] Merge 8588:8589 from trunk


From: Sigurd Nes
Subject: [Fmsystem-commits] [8590] Merge 8588:8589 from trunk
Date: Mon, 16 Jan 2012 15:01:41 +0000

Revision: 8590
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=8590
Author:   sigurdne
Date:     2012-01-16 15:01:40 +0000 (Mon, 16 Jan 2012)
Log Message:
-----------
Merge 8588:8589 from trunk

Modified Paths:
--------------
    branches/Version-1_0-branch/property/inc/class.soinvoice.inc.php
    branches/Version-1_0-branch/property/inc/class.soworkorder.inc.php
    branches/Version-1_0-branch/property/inc/class.uiinvoice.inc.php
    branches/Version-1_0-branch/property/templates/base/invoice.xsl

Property Changed:
----------------
    branches/Version-1_0-branch/


Property changes on: branches/Version-1_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/trunk:6439-6441,6443,6445-6447,6449-6464,6466-6468,6470-6474,6476-6477,6479-6480,6483-6488,6490-6491,6493-6494,6496-6501,6503-6504,6506,6508,6510-6511,6513,6515-6516,6518,6520-6524,6526-6528,6533-6534,6536-6541,6543-6565,6567,6569,6571-6576,6578,6580-6586,6588-6596,6598-6600,6602-6604,6606-6607,6609-6611,6613-6625,6629-6639,6641-6643,6645-6646,6648,6650-6654,6656-6659,6661-6663,6665-6666,6668-6669,6672-6673,6675,6677-6678,6680,6682-6686,6688-6717,6719,6721-6722,6724-6728,6730,6732-6734,6736-6739,6741,6743,6745-6746,6748-6756,6758-6762,6764,6766-6788,6790,6792-6798,6800-6814,6816-6819,6821-6822,6824-6826,6828-6837,6839,6841,6843-6849,6851,6853-6869,6871-6874,6876-6877,6879,6881,6883,6885-6886,6888-6893,6895-6897,6899-6901,6903,6905-6907,6909,6911-6929,6931-6936,6938-6947,6949,6951,6953,6955-6956,6958-6959,6961-6968,6970-6971,6973-6974,6976-6978,6980,6982-7017,7019-7025,7027-7035,7037-7039,7041-7045,7047-7055,7057,7059-7065,7067-7069,7071,7073,7075-7076,7078,7080-7081,7083,7085,7087,7089-7097,7099-7102,7104-7105,7107-7111,7113-7120,7122-7124,7126-7129,7131,7133-7141,7143,7145-7146,7148-7150,7152-7153,7155-7158,7160-7164,7166-7167,7169-7170,7172,7174,7176,7178,7180-7181,7183,7185,7187-7188,7190,7192-7196,7198-7199,7201-7203,7205,7207,7209-7210,7212,7214,7216-7217,7219-7222,7224-7226,7228-7229,7231,7233-7234,7236-7238,7240-7241,7243-7244,7246,7248,7250,7252-7256,7258-7259,7261-7264,7266-7273,7275-7279,7281-7332,7334-7338,7340-7348,7350,7352-7353,7355-7361,7363-7366,7368-7370,7372,7374,7376,7378,7380-7386,7388-7400,7402,7404-7433,7435-7439,7441-7446,7448-7458,7460-7469,7471-7483,7485-7487,7489-7490,7492,7494,7496-7497,7499,7501-7502,7504,7506-7507,7509-7511,7513-7517,7519-7521,7523,7525,7527-7529,7531,7533,7535-7538,7540-7542,7544-7549,7551-7552,7554-7561,7563,7565,7567-7573,7575-7578,7580-7584,7586-7591,7593-7624,7627-7636,7638-7656,7658-7718,7720-7732,7734,7736,7738-7750,7754-7759,7761-7767,7769-7780,7782,7784-7809,7811-7812,7814-7835,7837-7847,7849-7887,7889-7895,7897,7899,7901,7903-7905,7907-7921,7923-7925,7927-7933,7935,7937-7952,7954-7968,7970-7974,7976,7978-7979,7981-7982,7984-7988,7990-7992,7994-8041,8043-8066,8068-8087,8089,8091-8108,8110-8124,8126-8129,8131,8133-8150,8152-8154,8156-8162,8164-8167,8169-8170,8172-8179,8181,8183-8196,8198-8207,8209-8211,8213-8214,8216-8217,8219-8220,8222,8224-8225,8227-8247,8249,8251,8253-8282,8284-8352,8354-8368,8370-8396,8398-8430,8432,8434-8440,8442-8445,8447-8453,8455-8456,8458,8460,8462-8464,8466-8473,8475-8479,8481,8483-8501,8503-8523,8525,8527-8531,8533,8535-8536,8538-8550,8552-8554,8556-8557,8559-8579,8581-8587
   + 
/trunk:6439-6441,6443,6445-6447,6449-6464,6466-6468,6470-6474,6476-6477,6479-6480,6483-6488,6490-6491,6493-6494,6496-6501,6503-6504,6506,6508,6510-6511,6513,6515-6516,6518,6520-6524,6526-6528,6533-6534,6536-6541,6543-6565,6567,6569,6571-6576,6578,6580-6586,6588-6596,6598-6600,6602-6604,6606-6607,6609-6611,6613-6625,6629-6639,6641-6643,6645-6646,6648,6650-6654,6656-6659,6661-6663,6665-6666,6668-6669,6672-6673,6675,6677-6678,6680,6682-6686,6688-6717,6719,6721-6722,6724-6728,6730,6732-6734,6736-6739,6741,6743,6745-6746,6748-6756,6758-6762,6764,6766-6788,6790,6792-6798,6800-6814,6816-6819,6821-6822,6824-6826,6828-6837,6839,6841,6843-6849,6851,6853-6869,6871-6874,6876-6877,6879,6881,6883,6885-6886,6888-6893,6895-6897,6899-6901,6903,6905-6907,6909,6911-6929,6931-6936,6938-6947,6949,6951,6953,6955-6956,6958-6959,6961-6968,6970-6971,6973-6974,6976-6978,6980,6982-7017,7019-7025,7027-7035,7037-7039,7041-7045,7047-7055,7057,7059-7065,7067-7069,7071,7073,7075-7076,7078,7080-7081,7083,7085,7087,7089-7097,7099-7102,7104-7105,7107-7111,7113-7120,7122-7124,7126-7129,7131,7133-7141,7143,7145-7146,7148-7150,7152-7153,7155-7158,7160-7164,7166-7167,7169-7170,7172,7174,7176,7178,7180-7181,7183,7185,7187-7188,7190,7192-7196,7198-7199,7201-7203,7205,7207,7209-7210,7212,7214,7216-7217,7219-7222,7224-7226,7228-7229,7231,7233-7234,7236-7238,7240-7241,7243-7244,7246,7248,7250,7252-7256,7258-7259,7261-7264,7266-7273,7275-7279,7281-7332,7334-7338,7340-7348,7350,7352-7353,7355-7361,7363-7366,7368-7370,7372,7374,7376,7378,7380-7386,7388-7400,7402,7404-7433,7435-7439,7441-7446,7448-7458,7460-7469,7471-7483,7485-7487,7489-7490,7492,7494,7496-7497,7499,7501-7502,7504,7506-7507,7509-7511,7513-7517,7519-7521,7523,7525,7527-7529,7531,7533,7535-7538,7540-7542,7544-7549,7551-7552,7554-7561,7563,7565,7567-7573,7575-7578,7580-7584,7586-7591,7593-7624,7627-7636,7638-7656,7658-7718,7720-7732,7734,7736,7738-7750,7754-7759,7761-7767,7769-7780,7782,7784-7809,7811-7812,7814-7835,7837-7847,7849-7887,7889-7895,7897,7899,7901,7903-7905,7907-7921,7923-7925,7927-7933,7935,7937-7952,7954-7968,7970-7974,7976,7978-7979,7981-7982,7984-7988,7990-7992,7994-8041,8043-8066,8068-8087,8089,8091-8108,8110-8124,8126-8129,8131,8133-8150,8152-8154,8156-8162,8164-8167,8169-8170,8172-8179,8181,8183-8196,8198-8207,8209-8211,8213-8214,8216-8217,8219-8220,8222,8224-8225,8227-8247,8249,8251,8253-8282,8284-8352,8354-8368,8370-8396,8398-8430,8432,8434-8440,8442-8445,8447-8453,8455-8456,8458,8460,8462-8464,8466-8473,8475-8479,8481,8483-8501,8503-8523,8525,8527-8531,8533,8535-8536,8538-8550,8552-8554,8556-8557,8559-8579,8581-8587,8589

Modified: branches/Version-1_0-branch/property/inc/class.soinvoice.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.soinvoice.inc.php    
2012-01-16 14:57:42 UTC (rev 8589)
+++ branches/Version-1_0-branch/property/inc/class.soinvoice.inc.php    
2012-01-16 15:01:40 UTC (rev 8590)
@@ -718,14 +718,14 @@
                                foreach ($update_paid_percent as $workorder_id 
=> $paid_percent)
                                {
                                        $paid_percent = (int) $paid_percent;
-                                       $GLOBALS['phpgw']->db->query("UPDATE 
fm_workorder set paid_percent={$paid_percent} WHERE id= $workorder_id");        
                   
+                                       $GLOBALS['phpgw']->db->query("UPDATE 
fm_workorder set paid_percent={$paid_percent} WHERE id= '$workorder_id'");      
                   
 
-                                       $this->db->query("SELECT type FROM 
fm_orders WHERE id={$workorder_id}",__LINE__,__FILE__);
+                                       $this->db->query("SELECT type FROM 
fm_orders WHERE id='{$workorder_id}'",__LINE__,__FILE__);
                                        $this->db->next_record();
                                        switch ( $this->db->f('type') )
                                        {
                                        case 'workorder':
-                                               $this->db->query("SELECT 
project_id FROM fm_workorder WHERE id={$workorder_id}",__LINE__,__FILE__);
+                                               $this->db->query("SELECT 
project_id FROM fm_workorder WHERE id='{$workorder_id}'",__LINE__,__FILE__);
                                                $this->db->next_record();
                                                $project_id = 
$this->db->f('project_id');
                                                
$workorder->update_planned_cost($project_id);
@@ -879,12 +879,14 @@
                function check_count($voucher_id)
                {
 
-                       $this->db->query("select count(dima) as dima_count , 
count(spbudact_code) as spbudact_code_count from fm_ecobilag where bilagsnr 
='$voucher_id'");
+                       $this->db->query("SELECT count(id) as invoice_count, 
count(dima) as dima_count, count(spbudact_code) as spbudact_code_count FROM 
fm_ecobilag WHERE bilagsnr ='$voucher_id'");
                        $this->db->next_record();
 
-                       $check_count=array(
+                       $check_count = array
+                       (
                                'dima_count'                            => 
$this->db->f('dima_count'),
-                               'spbudact_code_count'           => 
$this->db->f('spbudact_code_count')
+                               'spbudact_code_count'           => 
$this->db->f('spbudact_code_count'),
+                               'invoice_count'                         => 
$this->db->f('invoice_count'),
                        );
 
                        $this->db->query("select count(kostra_id) as 
kostra_count  from fm_ecobilag where bilagsnr ='$voucher_id' and kostra_id > 
0");
@@ -1508,8 +1510,43 @@
                */
                public function forward($data)
                {
+                       $receipt = array();
+                       $local_error= false;
                        if(isset($data['forward']) && 
is_array($data['forward']) && isset($data['voucher_id']) && $data['voucher_id'])
                        {
+                               //start check
+                               $check_count = 
$this->check_count($data['voucher_id']);
+
+                               if (!($check_count['dima_count'] == 
$check_count['invoice_count']))
+                               {
+                                       $receipt['error'][] = 
array('msg'=>lang('Dima is missing from sub invoice in:'). " 
".$data['voucher_id']);
+                                       $local_error= true;
+                               }
+
+                               if (!($check_count['spbudact_code_count'] == 
$check_count['invoice_count']))
+                               {
+                                       $receipt['error'][] = 
array('msg'=>lang('Budget code is missing from sub invoice in :'). " 
".$data['voucher_id']);
+                                       $local_error= true;
+                               }
+
+                               if (!($check_count['kostra_count'] == 
$check_count['invoice_count']))
+                               {
+                                       $receipt['error'][] = 
array('msg'=>'Tjenestekode mangler for undebilag: ' . " ".$data['voucher_id']);
+                                       $local_error= true;
+                               }
+
+                               if ($this->check_claim($data['voucher_id']))
+                               {
+                                       $receipt['error'][] = 
array('msg'=>lang('Tenant claim is not issued for project in voucher 
%1',$data['voucher_id']));
+                                       $local_error= true;
+                               }
+
+                               if($local_error)
+                               {
+                                       return $receipt;
+                               }
+                               // end check
+
                                $value_set = array();
                                
                                foreach ($data['forward'] as $role => $user_lid)

Modified: branches/Version-1_0-branch/property/inc/class.soworkorder.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.soworkorder.inc.php  
2012-01-16 14:57:42 UTC (rev 8589)
+++ branches/Version-1_0-branch/property/inc/class.soworkorder.inc.php  
2012-01-16 15:01:40 UTC (rev 8590)
@@ -1236,4 +1236,40 @@
 
                        return $values;
                }
+
+               public function close_orders($orders)
+               {
+                       $config         = 
CreateObject('phpgwapi.config','property');
+                       $config->read();
+                       $closed = 
isset($config->config_data['workorder_closed_status']) && 
$config->config_data['workorder_closed_status'] ? 
$config->config_data['workorder_closed_status'] : 'closed';
+                       $this->db->transaction_begin();
+
+                       if ($orders && is_array($orders))
+                       {
+                               $historylog_workorder   = 
CreateObject('property.historylog','workorder');
+
+                               foreach ($orders as $id)
+                               {
+                                       $this->db->query("SELECT type FROM 
fm_orders WHERE id='{$id}'",__LINE__,__FILE__);
+                                       $this->db->next_record();
+                                       switch ( $this->db->f('type') )
+                                       {
+                                               case 'workorder':
+                                                       
$historylog_workorder->add($entry,$id,$closed);
+                                                       
$GLOBALS['phpgw']->db->query("UPDATE fm_workorder SET status='{$closed}' WHERE 
id = '{$id}'");
+                                                       
$GLOBALS['phpgw']->db->query("UPDATE fm_workorder SET paid_percent=100 WHERE 
id= '{$id}'");                             
+                                                       $receipt['message'][] = 
array('msg'=>lang('Workorder %1 is %2',$id, $closed));
+                                                       
$this->db->query("SELECT project_id FROM fm_workorder WHERE 
id='{$id}'",__LINE__,__FILE__);
+                                                       
$this->db->next_record();
+                                                       $project_id = 
$this->db->f('project_id');
+                                                       
$this->update_planned_cost($project_id);
+                                                       break;
+                                       }
+                               }
+                       }
+
+                       $GLOBALS['phpgw']->db->transaction_commit();
+
+                       return $receipt;
+               }
        }

Modified: branches/Version-1_0-branch/property/inc/class.uiinvoice.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.uiinvoice.inc.php    
2012-01-16 14:57:42 UTC (rev 8589)
+++ branches/Version-1_0-branch/property/inc/class.uiinvoice.inc.php    
2012-01-16 15:01:40 UTC (rev 8590)
@@ -3747,19 +3747,34 @@
 
                                if (!$receipt['error'])
                                {
-                                       $redirect = true;
                                        $values['voucher_id'] = $voucher_id;
-                                       $line = $this->bo->forward($values);
+                                       $receipt = $this->bo->forward($values);
+                                       if(!$receipt['error'])
+                                       {
+                                               
execMethod('property.soworkorder.close_orders',phpgw::get_var('orders'));
+                                               $redirect = true;
+                                       }
                                }
                        }
 
                        $voucher = $this->bo->read_single_voucher($voucher_id);
                        $orders = array();
+                       $_orders = array();
                        foreach ($voucher as $line)
                        {
-                               $orders[] = $line['order_id'];
+                               if($line['order_id'])
+                               {
+                                       $_orders[] = $line['order_id'];
+                               }
                        }
+                       
+                       $_orders = array_unique($_orders);
 
+                       foreach ($_orders as $_order)
+                       {
+                                       $orders[] = array('id' => $_order);
+                       }
+
                        $approved_list = array();
  
                        $approved_list[] = array
@@ -3847,7 +3862,7 @@
                                        'sign_orig'                             
=> $sign_orig,
                                        'my_initials'                   => 
$my_initials,
                                        'project_group_data'    => 
$project_group_data,
-                                       'orders'                                
=> implode('</br>', $orders),
+                                       'orders'                                
=> $orders,
                                        'value_amount'                  => 
$line['amount'],
                                        'value_currency'                => 
$line['currency'],
                                        'value_process_log'             =>  
isset($values['process_log']) && $values['process_log'] ? 
$values['process_log'] : $line['process_log']

Modified: branches/Version-1_0-branch/property/templates/base/invoice.xsl
===================================================================
--- branches/Version-1_0-branch/property/templates/base/invoice.xsl     
2012-01-16 14:57:42 UTC (rev 8589)
+++ branches/Version-1_0-branch/property/templates/base/invoice.xsl     
2012-01-16 15:01:40 UTC (rev 8590)
@@ -1566,7 +1566,7 @@
                                <xsl:choose>
                                        <xsl:when test="msgbox_data != ''">
                                                <tr>
-                                                       <td align="left" 
colspan="2">
+                                                       <td align="left" 
colspan="3">
                                                                
<xsl:call-template name="msgbox"/>
                                                        </td>
                                                </tr>
@@ -1621,10 +1621,23 @@
                                        <td class="th_text" align="left" 
valign="top" >
                                                <xsl:value-of 
select="php:function('lang', 'order id')"/>
                                        </td>
-                                       <td align="left" class="th_text" 
valign="top">
-                                               <xsl:value-of  
disable-output-escaping="yes"  select="orders"/>
+                                       <td align="left" class="th_text" 
valign="top" colspan = '2'>
+                                               <xsl:value-of 
select="php:function('lang', 'close')"/>
+                                               <table>
+                                                       <xsl:for-each 
select="orders">
+                                                               <tr>
+                                                                       <td 
class="th_text" align="left" valign="top" >
+                                                                               
<xsl:value-of select="id"/>
+                                                                       </td>
+                                                                       <td 
align="left" class="th_text" valign="top">
+                                                                               
<input type="checkbox" name="orders[]" value="{id}" checked="checked"/>
+                                                                       </td>
+                                                               </tr>
+                                                       </xsl:for-each>
+                                               </table>
                                        </td>
-                               </tr>                   </table>
+                               </tr>
+                       </table>
                </form>
        </xsl:template>
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]