fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [11576] property: more on fictive periodes


From: Sigurd Nes
Subject: [Fmsystem-commits] [11576] property: more on fictive periodes
Date: Fri, 27 Dec 2013 12:23:37 +0000

Revision: 11576
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11576
Author:   sigurdne
Date:     2013-12-27 12:23:37 +0000 (Fri, 27 Dec 2013)
Log Message:
-----------
property: more on fictive periodes

Modified Paths:
--------------
    trunk/property/inc/class.soworkorder.inc.php
    trunk/property/inc/class.uiworkorder.inc.php
    trunk/property/setup/phpgw_no.lang

Modified: trunk/property/inc/class.soworkorder.inc.php
===================================================================
--- trunk/property/inc/class.soworkorder.inc.php        2013-12-27 11:27:34 UTC 
(rev 11575)
+++ trunk/property/inc/class.soworkorder.inc.php        2013-12-27 12:23:37 UTC 
(rev 11576)
@@ -1748,7 +1748,7 @@
                * @return array Array with budget information.
                */
 
-               function get_budget($order_id, $fictive_periods = true)
+               function get_budget($order_id, $calculate_fictive_periods = 
true)
                {
                        // Som før: Periodisering der det er definert
                        // Som før: Enkelt posteringer for gjeldende periode 
der periodisering ikke er definert
@@ -1805,7 +1805,7 @@
                                        'active_period'         => 
(int)$this->db->f('active'),
                                );
 
-                               $active_period[$period] = 
$this->db->f('active');
+                               $active_period[$period] = 
(int)$this->db->f('active');
 
                                if($continuous)
                                {
@@ -1822,8 +1822,9 @@
                        * ellers: Dersom start-dato for bestilling er passert - 
blir start-periode inneværende måned.
                        **/
 
+                       $fictive_period = array();
                        $order_budget = array();
-                       if($continuous && $fictive_periods)
+                       if($continuous && $calculate_fictive_periods)
                        {
                                $sql = "SELECT periode"
                                . " FROM fm_workorder {$this->join} 
fm_orders_paid_or_pending_view ON fm_workorder.id = 
fm_orders_paid_or_pending_view.order_id"
@@ -1838,8 +1839,11 @@
                                {
                                        if($_period == "{$_budget['year']}00" 
&& $_budget['year'] == date('Y'))
                                        {
-                                               $active_period[$_period] = 
false;
 
+                                               $order_budget[$_period] = 
$_budget;
+
+                                               $active_period[$_period] = 
$active_period[$_period] ? 2 : 0;
+
                                                if($current_paid_period && 
$current_paid_period < (int)date('Ym'))
                                                {
                                                        $_current_month = 
(int)substr( $current_paid_period, -2 );
@@ -1853,7 +1857,6 @@
                                                        $_current_month = 
date('n'); // Numeric representation of a month, without leading zeros 1 
through 12
                                                }
 
-
                                                $distribution_key = 1/(13 - 
$_current_month);
 
                                                for ($i = $_current_month; 
$i<13; $i++)
@@ -1863,7 +1866,8 @@
                                                                $i
                                                        );
 
-                                                       $active_period[$period] 
                                = true;
+                                                       
$fictive_period[$period]                                = true;
+                                                       $active_period[$period] 
                                = $active_period[$_period] ? 1 : 0;
                                                        $order_budget[$period]  
                                = $_budget;
                                                        
$order_budget[$period]['budget']                = 
$sum_year_budget[$_budget['year']] * $distribution_key;
                                                        
$order_budget[$period]['combined_cost'] = 
$sum_year_combined_cost[$_budget['year']] * $distribution_key;
@@ -1959,7 +1963,7 @@
 
                                if(!$_budget['closed_order'])
                                {
-                                       if($active_period[$period])
+                                       if($active_period[$period] == 1)
                                        {
                                                $_sum_oblications += 
$_budget['combined_cost'];
                                                $_sum_oblications -= 
$_budget['actual_cost'];
@@ -1982,7 +1986,7 @@
                                }
 
                                //override if periode is closed
-                               if(!isset($active_period[$period]) || 
!$active_period[$period])
+                               if(!isset($active_period[$period]) || 
!$active_period[$period] == 1)
                                {
                                        $_sum_oblications = 0;
                                }
@@ -1993,7 +1997,7 @@
                                        $_sum_oblications = 0;
                                }
 
-                               if(isset($active_period[$period]) && 
$active_period[$period] && $_delay_period_sum && !$_delay_period)
+                               if(isset($active_period[$period]) && 
$active_period[$period] == 1 && $_delay_period_sum && !$_delay_period)
                                {
                                        $_sum_oblications += $_delay_period_sum;
                                        $_delay_period_sum =0;
@@ -2054,8 +2058,9 @@
                                $entry['deviation_percent_period'] = 
$deviation/$entry['budget'] * 100;
                                $entry['deviation_percent_acc'] = 
$entry['deviation_acc']/$budget_acc * 100;
 
-                               $entry['closed'] = 
$closed_period[$entry['period']];
-                               $entry['active'] = 
$active_period[$entry['period']];
+                               $entry['closed'] = 
isset($closed_period[$entry['period']]) && $closed_period[$entry['period']];
+                               $entry['active'] = 
isset($active_period[$entry['period']]) && $active_period[$entry['period']] ? 
$active_period[$entry['period']] : 0;
+                               $entry['fictive'] = 
isset($fictive_period[$entry['period']]) && $fictive_period[$entry['period']];
                        }
 
                        phpgwapi_cache::system_set('property', 
"budget_order_{$order_id}", $values);

Modified: trunk/property/inc/class.uiworkorder.inc.php
===================================================================
--- trunk/property/inc/class.uiworkorder.inc.php        2013-12-27 11:27:34 UTC 
(rev 11575)
+++ trunk/property/inc/class.uiworkorder.inc.php        2013-12-27 12:23:37 UTC 
(rev 11576)
@@ -1866,6 +1866,7 @@
                        $lang_delete = lang('Check to delete period');
                        $lang_close = lang('Check to close period');
                        $lang_active = lang('Check to activate period');
+                       $lang_fictive = lang('fictive');
 
                        $rows_per_page = 10;
                        $initial_page = 1;
@@ -1884,13 +1885,30 @@
                        foreach($content_budget as & $b_entry)
                        {
                                $checked = $b_entry['active'] ? 
'checked="checked"' : '';
-                               $b_entry['flag_active'] = $b_entry['active'];
-                               $b_entry['delete_period'] = "<input 
type='checkbox' name='values[delete_b_period][]' 
value='{$b_entry['year']}_{$b_entry['month']}' title='{$lang_delete}'>";
-                               $b_entry['closed'] = $b_entry['closed'] ? 'X' : 
'';
-                               $b_entry['closed_orig'] = "<input 
type='checkbox' name='values[closed_orig_b_period][]' 
value='{$b_entry['year']}_{$b_entry['month']}' $checked>";
-                               $b_entry['active'] = "<input type='checkbox' 
name='values[active_b_period][]' value='{$b_entry['year']}_{$b_entry['month']}' 
title='{$lang_active}' $checked>";
-                               $b_entry['active_orig'] = "<input 
type='checkbox' name='values[active_orig_b_period][]' 
value='{$b_entry['year']}_{$b_entry['month']}' $checked>";
+                               $b_entry['flag_active'] = $b_entry['active'] == 
1;
+                               if($b_entry['fictive'])
+                               {
+                                       $b_entry['delete_period'] = 
$lang_fictive;
+                                       $disabled = 'disabled="disabled"';
+                               }
+                               else
+                               {
+                                       $b_entry['delete_period'] = "<input 
type='checkbox' name='values[delete_b_period][]' 
value='{$b_entry['year']}_{$b_entry['month']}' title='{$lang_delete}'>";
+                               }
 
+                               if($b_entry['active'] == 2)
+                               {
+                                       $b_entry['month'] = 'Split';
+                                       $b_entry['closed'] = 'Split';
+                               }
+                               else
+                               {
+                                       $b_entry['closed'] = $b_entry['closed'] 
? 'X' : '';
+                               }
+
+                               $b_entry['active'] = "<input type='checkbox' 
name='values[active_b_period][]' value='{$b_entry['year']}_{$b_entry['month']}' 
title='{$lang_active}' {$checked} {$disabled}>";
+                               $b_entry['active_orig'] = "<input 
type='checkbox' name='values[active_orig_b_period][]' 
value='{$b_entry['year']}_{$b_entry['month']}' {$checked} {$disabled}>";
+
                        }
                        unset($b_entry);
 

Modified: trunk/property/setup/phpgw_no.lang
===================================================================
--- trunk/property/setup/phpgw_no.lang  2013-12-27 11:27:34 UTC (rev 11575)
+++ trunk/property/setup/phpgw_no.lang  2013-12-27 12:23:37 UTC (rev 11576)
@@ -2001,6 +2001,7 @@
 elements_pr_page       property        no      Poster pr side
 shows_from     property        no      Viser
 of_total       property        no      av
+fictive        property        no      Fiktiv
 first  property        no      Første
 previous       property        no      Forrige
 next   property        no      Neste




reply via email to

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