fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [11510] property: ticket : add diff-column


From: Sigurd Nes
Subject: [Fmsystem-commits] [11510] property: ticket : add diff-column
Date: Fri, 06 Dec 2013 14:39:36 +0000

Revision: 11510
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11510
Author:   sigurdne
Date:     2013-12-06 14:39:35 +0000 (Fri, 06 Dec 2013)
Log Message:
-----------
property: ticket : add diff-column

Modified Paths:
--------------
    trunk/property/inc/class.botts.inc.php
    trunk/property/inc/class.custom_fields.inc.php
    trunk/property/inc/class.sotts.inc.php
    trunk/property/inc/class.uitts.inc.php
    trunk/property/js/yahoo/tts.index.js
    trunk/property/templates/base/attributes_form.xsl

Modified: trunk/property/inc/class.botts.inc.php
===================================================================
--- trunk/property/inc/class.botts.inc.php      2013-12-05 20:15:23 UTC (rev 
11509)
+++ trunk/property/inc/class.botts.inc.php      2013-12-06 14:39:35 UTC (rev 
11510)
@@ -52,6 +52,7 @@
                public $total_records   = 0;
                public $sum_budget              = 0;
                public $sum_actual_cost = 0;
+               public $sum_difference  = 0;
                public $show_finnish_date = false;
                public $simple = false;
 
@@ -258,6 +259,12 @@
                                                'id' => 'actual_cost',
                                                'name'=> lang('actual cost')
                                        );
+
+                               $columns['difference'] = array
+                                       (
+                                               'id' => 'difference',
+                                               'name'=> lang('difference')
+                                       );
                        }
 
                        $columns['vendor'] = array
@@ -492,9 +499,10 @@
                                'ecodimb' => $this->ecodimb, 'b_account' => 
$this->b_account, 'building_part' => $this->building_part,
                                'branch_id' => $this->branch_id ,'order_dim1' 
=> $this->order_dim1));
 
-                       $this->total_records = $this->so->total_records;
-                       $this->sum_budget = $this->so->sum_budget;
-                       $this->sum_actual_cost = $this->so->sum_actual_cost;
+                       $this->total_records            = 
$this->so->total_records;
+                       $this->sum_budget                       = 
$this->so->sum_budget;
+                       $this->sum_actual_cost          = 
$this->so->sum_actual_cost;
+                       $this->sum_difference           = 
$this->so->sum_difference;
 
                        if(!$external)
                        {
@@ -511,6 +519,17 @@
                                $this->uicols_related   = array('project');
                        }
 
+
+                       $custom_status  = $this->so->get_custom_status();
+                       $closed_status = array('X');
+                       foreach($custom_status as $custom)
+                       {
+                               if($custom['closed'])
+                               {
+                                       $closed_status[] =  "C{$custom['id']}";
+                               }
+                       }
+
                        foreach ($tickets as & $ticket)
                        {
                                if(!isset($category_name[$ticket['cat_id']]))
@@ -535,6 +554,19 @@
                                        $ticket['user'] = 
$account[$ticket['user_id']];
                                }
 
+
+                               $ticket['difference'] = 0;
+
+
+                               if($ticket['estimate'] && !in_array( 
$ticket['status'], $closed_status) )
+                               {
+                                       $ticket['difference'] =  
$ticket['estimate'] - (float)$ticket['actual_cost'];
+                                       if($ticket['difference'] < 0)
+                                       {
+                                               $ticket['difference'] = 0;
+                                       }
+                               }
+
                                if($ticket['assignedto'])
                                {
                                        
if(!isset($account[$ticket['assignedto']]))

Modified: trunk/property/inc/class.custom_fields.inc.php
===================================================================
--- trunk/property/inc/class.custom_fields.inc.php      2013-12-05 20:15:23 UTC 
(rev 11509)
+++ trunk/property/inc/class.custom_fields.inc.php      2013-12-06 14:39:35 UTC 
(rev 11510)
@@ -495,6 +495,11 @@
                        {
                                foreach($values_attribute as $entry)
                                {
+                                       if($entry['disabled'])
+                                       {
+                                               continue;
+                                       }
+
                                        switch ($entry['datatype'])
                                        {
                                                case 'C':

Modified: trunk/property/inc/class.sotts.inc.php
===================================================================
--- trunk/property/inc/class.sotts.inc.php      2013-12-05 20:15:23 UTC (rev 
11509)
+++ trunk/property/inc/class.sotts.inc.php      2013-12-06 14:39:35 UTC (rev 
11510)
@@ -36,11 +36,12 @@
 
        class property_sotts
        {
-               var $uicols_related = array();
-               var $acl_location = '.ticket';
-               public $total_records   = 0;
-               public $sum_budget              = 0;
-               public $sum_actual_cost = 0;
+               var $uicols_related                     = array();
+               var $acl_location                       = '.ticket';
+               public $total_records           = 0;
+               public $sum_budget                      = 0;
+               public $sum_actual_cost         = 0;
+               public $sum_difference          = 0;
 
                public $soap_functions = array
                        (
@@ -492,12 +493,33 @@
                                        'sum_actual_cost'       => 
$this->db->f('sum_actual_cost'),
                                        'sql_hash'                      => 
md5($sql_cnt)
                                );
+
+
+                               $custom_status  = $this->get_custom_status();
+                               $closed_status = array('X');
+                               foreach($custom_status as $custom)
+                               {
+                                       if($custom['closed'])
+                                       {
+                                               $closed_status[] =  
"C{$custom['id']}";
+                                       }
+                               }
+
+                               $filter_closed = "{$where} 
fm_tts_tickets.status NOT IN ('" . implode("','", $closed_status) . "')";
+                               $sql2 = "SELECT (sum(budget) - 
sum(actual_cost)) as sum_difference FROM ({$sql_cnt} {$filter_closed}) as t";
+                               $this->db->query($sql2,__LINE__,__FILE__);
+                               $this->db->next_record();
+                               unset($sql2);
+
+                               $cache_info['sum_difference']   = 
(int)$this->db->f('sum_difference');
+
                                
phpgwapi_cache::session_set('property','tts_listing_metadata',$cache_info);
                        }
 
                        $this->total_records    = $cache_info['total_records'];
                        $this->sum_budget               = 
$cache_info['sum_budget'];
                        $this->sum_actual_cost  = 
$cache_info['sum_actual_cost'];
+                       $this->sum_difference   = $cache_info['sum_difference'];
 
                        $location_id = 
$GLOBALS['phpgw']->locations->get_id('property', '.ticket');
 
@@ -863,11 +885,12 @@
                        while ($this->db->next_record())
                        {
                                $status[] = array
-                                       (
-                                               'id'    => $this->db->f('id'),
-                                               'name'  => $this->db->f('name', 
true),
-                                               'color' => $this->db->f('color')
-                                       );
+                               (
+                                       'id'            => $this->db->f('id'),
+                                       'name'          => $this->db->f('name', 
true),
+                                       'color'         => 
$this->db->f('color'),
+                                       'closed'        => 
$this->db->f('closed')
+                               );
                        }
                        return $status;
                }

Modified: trunk/property/inc/class.uitts.inc.php
===================================================================
--- trunk/property/inc/class.uitts.inc.php      2013-12-05 20:15:23 UTC (rev 
11509)
+++ trunk/property/inc/class.uitts.inc.php      2013-12-06 14:39:35 UTC (rev 
11510)
@@ -227,6 +227,7 @@
                        {
                                $name[] = 'estimate';
                                $name[] = 'actual_cost';
+                               $name[] = 'difference';
                        }
 
                        $uicols_related = $this->bo->uicols_related;
@@ -1184,7 +1185,8 @@
                        $uicols_formatter = array
                        (
                                'estimate'              => 'FormatterRight',
-                               'actual_cost'   => 'FormatterRight'
+                               'actual_cost'   => 'FormatterRight',
+                               'difference'    => 'FormatterRight',
                        );
                        
                        unset($parameters);
@@ -1264,10 +1266,12 @@
                                        'sort'                                  
=> $datatable['sorting']['order'],
                                        'dir'                                   
=> $datatable['sorting']['sort'],
                                        'records'                               
=> array(),
-                                       'show_sum_estimate'             => 
in_array('estimate', $custom_cols),//$this->acl->check('.ticket.order', 
PHPGW_ACL_READ, 'property'),
+                                       'show_sum_estimate'             => 
in_array('estimate', $custom_cols),
                                        'show_sum_actual_cost'  => 
in_array('actual_cost', $custom_cols),
+                                       'show_sum_difference'   => 
in_array('difference', $custom_cols),
                                        'sum_budget'                    => 
$this->bo->sum_budget,
-                                       'sum_actual_cost'               => 
$this->bo->sum_actual_cost
+                                       'sum_actual_cost'               => 
$this->bo->sum_actual_cost,
+                                       'sum_difference'                => 
$this->bo->sum_difference,
                                );
 
                        // values for datatable

Modified: trunk/property/js/yahoo/tts.index.js
===================================================================
--- trunk/property/js/yahoo/tts.index.js        2013-12-05 20:15:23 UTC (rev 
11509)
+++ trunk/property/js/yahoo/tts.index.js        2013-12-06 14:39:35 UTC (rev 
11510)
@@ -127,6 +127,7 @@
        {
                tmp_sum_budget = YAHOO.util.Number.format(values_ds.sum_budget, 
{decimalPlaces:0, decimalSeparator:",", thousandsSeparator:" "});
                tmp_sum_actual_cost = 
YAHOO.util.Number.format(values_ds.sum_actual_cost, {decimalPlaces:2, 
decimalSeparator:",", thousandsSeparator:" "});
+               tmp_sum_difference = 
YAHOO.util.Number.format(values_ds.sum_difference, {decimalPlaces:0, 
decimalSeparator:",", thousandsSeparator:" "});
 
                var show_estimate = false;
                var show_actual_cost = false;
@@ -170,6 +171,9 @@
                {
                        td_sum(tmp_sum_actual_cost);
                }
+
+               td_sum(tmp_sum_difference);
+
                td_empty(count_empty_end);
                //Add to Table
                myfoot = tableYUI.createTFoot();

Modified: trunk/property/templates/base/attributes_form.xsl
===================================================================
--- trunk/property/templates/base/attributes_form.xsl   2013-12-05 20:15:23 UTC 
(rev 11509)
+++ trunk/property/templates/base/attributes_form.xsl   2013-12-06 14:39:35 UTC 
(rev 11510)
@@ -85,6 +85,7 @@
                                                <input type="hidden" 
name="values_attribute[{counter}][attrib_id]" value="{id}"/>
                                                <input type="hidden" 
name="values_attribute[{counter}][nullable]" value="{nullable}"/>
                                                <input type="hidden" 
name="values_attribute[{counter}][input_text]" value="{input_text}"/>
+                                               <input type="hidden" 
name="values_attribute[{counter}][disabled]" value="{disabled}"/>
                                                <xsl:choose>
                                                        <xsl:when 
test="datatype='R'">
                                                                
<xsl:call-template name="choice"/>




reply via email to

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