[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [10107] property: more on budgets
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [10107] property: more on budgets |
Date: |
Wed, 03 Oct 2012 16:22:56 +0000 |
Revision: 10107
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=10107
Author: sigurdne
Date: 2012-10-03 16:22:56 +0000 (Wed, 03 Oct 2012)
Log Message:
-----------
property: more on budgets
Modified Paths:
--------------
trunk/property/inc/class.soproject.inc.php
trunk/property/inc/class.uiproject.inc.php
trunk/property/js/yahoo/project.edit.js
trunk/property/setup/setup.inc.php
trunk/property/setup/tables_current.inc.php
trunk/property/setup/tables_update.inc.php
Modified: trunk/property/inc/class.soproject.inc.php
===================================================================
--- trunk/property/inc/class.soproject.inc.php 2012-10-03 16:22:41 UTC (rev
10106)
+++ trunk/property/inc/class.soproject.inc.php 2012-10-03 16:22:56 UTC (rev
10107)
@@ -1226,9 +1226,18 @@
$this->db->query("UPDATE fm_project SET $value_set
WHERE id= {$project['id']}",__LINE__,__FILE__);
- if($project['delete_b_year'])
+ $_closed_period = array
+ (
+ 'closed_b_period' =>
isset($project['closed_b_period']) && $project['closed_b_period'] ?
$project['closed_b_period'] : array(),
+ 'closed_orig_b_period' =>
isset($project['closed_orig_b_period']) && $project['closed_orig_b_period'] ?
$project['closed_orig_b_period'] : array()
+ );
+
+ $this->close_period_from_budget($project['id'],
$_closed_period);
+ unset($_close_period);
+
+ if($project['delete_b_period'])
{
- $this->delete_year_from_budget($project['id'],
$project['delete_b_year']);
+
$this->delete_period_from_budget($project['id'], $project['delete_b_year']);
}
if($project['budget'])
@@ -1598,6 +1607,7 @@
function get_budget($project_id)
{
$project_id = (int) $project_id;
+ $closed_period = array();
$sql = "SELECT * FROM fm_project_budget WHERE
project_id = {$project_id}";
@@ -1612,6 +1622,7 @@
$period = $year . sprintf("%02s", $month);
$project_budget[$period] =
(int)$this->db->f('budget');
+ $closed_period[$period] =
!!$this->db->f('closed');
}
unset($year);
@@ -1878,13 +1889,14 @@
$month = substr( $entry['period'], 4, 2 );
$entry['month'] = $month == '00' ? '' : $month;
$entry['diff'] = $entry['budget'] -
$entry['sum_orders'] - $entry['actual_cost'];
+ $entry['closed'] =
$closed_period[$entry['period']];
}
//_debug_array( $values);die();
return $values;
}
- function delete_year_from_budget($project_id, $data)
+ function delete_period_from_budget($project_id, $data)
{
$project_id = (int) $project_id;
foreach($data as $entry)
@@ -1895,6 +1907,47 @@
}
}
+ function close_period_from_budget($project_id, $data)
+ {
+ $project_id = (int) $project_id;
+ $close_period = array();
+ $open_period = array();
+
+ foreach($data['closed_orig_b_period'] as $period)
+ {
+ if(!in_array($period, $data['closed_b_period']))
+ {
+ $open_period[] = $period;
+ }
+ }
+
+ foreach($data['closed_b_period'] as $period)
+ {
+ if(!in_array($period,
$data['closed_orig_b_period']))
+ {
+ $close_period[] = $period;
+ }
+ }
+
+ foreach ($close_period as $period)
+ {
+ $when = explode('_', $period);
+ $sql = "UPDATE fm_project_budget SET closed = 1
WHERE project_id = {$project_id} AND year =" . (int) $when[0] . ' AND month = '
. (int) $when[1];
+ $this->db->query($sql,__LINE__,__FILE__);
+ }
+
+ foreach ($open_period as $period)
+ {
+ $when = explode('_', $period);
+ $sql = "UPDATE fm_project_budget SET closed = 0
WHERE project_id = {$project_id} AND year =" . (int) $when[0] . ' AND month = '
. (int) $when[1];
+ $this->db->query($sql,__LINE__,__FILE__);
+ }
+//_debug_array($close_period);
+//_debug_array($open_period);die();
+
+
+ }
+
function
update_request_status($project_id='',$status='',$category=0,$coordinator=0)
{
$historylog_r =
CreateObject('property.historylog','request');
Modified: trunk/property/inc/class.uiproject.inc.php
===================================================================
--- trunk/property/inc/class.uiproject.inc.php 2012-10-03 16:22:41 UTC (rev
10106)
+++ trunk/property/inc/class.uiproject.inc.php 2012-10-03 16:22:56 UTC (rev
10107)
@@ -1680,10 +1680,15 @@
if($id)
{
$content_budget = $this->bo->get_budget($id);
- $lang_delete = lang('Check to delete year');
+ $lang_delete = lang('Check to delete period');
+ $lang_delete = lang('Check to close period');
foreach($content_budget as & $b_entry)
{
- $b_entry['delete_year'] = "<input
type='checkbox' name='values[delete_b_year][]'
value='{$b_entry['year']}_{$b_entry['month']}' title='{$lang_delete}'>";
+ $checked = $b_entry['closed'] ?
'checked="checked"' : '';
+
+ $b_entry['delete_year'] = "<input
type='checkbox' name='values[delete_b_period][]'
value='{$b_entry['year']}_{$b_entry['month']}' title='{$lang_delete}'>";
+ $b_entry['closed'] = "<input
type='checkbox' name='values[closed_b_period][]'
value='{$b_entry['year']}_{$b_entry['month']}' title='{$lang_close}' $checked>";
+ $b_entry['closed_orig'] = "<input
type='checkbox' name='values[closed_orig_b_period][]'
value='{$b_entry['year']}_{$b_entry['month']}' $checked>";
$value_remainder -=
$b_entry['sum_orders'];
$value_remainder -=
$b_entry['actual_cost'];
}
@@ -1715,6 +1720,8 @@
array('key' => 'sum_orders','label'=>lang('sum
orders'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount0'),
array('key' =>
'actual_cost','label'=>lang('actual
cost'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount2'),
array('key' =>
'diff','label'=>lang('difference'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount2'),
+
array('key' =>
'closed','label'=>lang('closed'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterCenter'),
+
array('key' => 'closed_orig','hidden' => true),
array('key' =>
'delete_year','label'=>lang('Delete'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterCenter')))
);
Modified: trunk/property/js/yahoo/project.edit.js
===================================================================
--- trunk/property/js/yahoo/project.edit.js 2012-10-03 16:22:41 UTC (rev
10106)
+++ trunk/property/js/yahoo/project.edit.js 2012-10-03 16:22:56 UTC (rev
10107)
@@ -117,7 +117,7 @@
td_sum(tmp_sum2);
td_sum(tmp_sum3);
td_sum(tmp_sum4);
- td_empty(1);
+ td_empty(3);
myfoot = tableYUI0.createTFoot();
myfoot.setAttribute("id","myfoot");
Modified: trunk/property/setup/setup.inc.php
===================================================================
--- trunk/property/setup/setup.inc.php 2012-10-03 16:22:41 UTC (rev 10106)
+++ trunk/property/setup/setup.inc.php 2012-10-03 16:22:56 UTC (rev 10107)
@@ -12,7 +12,7 @@
*/
$setup_info['property']['name'] = 'property';
- $setup_info['property']['version'] = '0.9.17.650';
+ $setup_info['property']['version'] = '0.9.17.651';
$setup_info['property']['app_order'] = 8;
$setup_info['property']['enable'] = 1;
$setup_info['property']['app_group'] = 'office';
Modified: trunk/property/setup/tables_current.inc.php
===================================================================
--- trunk/property/setup/tables_current.inc.php 2012-10-03 16:22:41 UTC (rev
10106)
+++ trunk/property/setup/tables_current.inc.php 2012-10-03 16:22:56 UTC (rev
10107)
@@ -1463,6 +1463,7 @@
'year' => array('type' => 'int','precision' =>
4,'nullable' => False),
'month' => array('type' => 'int','precision' =>
2,'nullable' => False,'default' => 0),
'budget' => array('type' =>
'decimal','precision' => '20','scale' => '2','nullable' => True,'default' =>
'0.00'),
+ 'closed' => array('type' => 'int','precision'
=> 2,'nullable' => True),
'user_id' => array('type' => 'int','precision'
=> 4,'nullable' => True),
'entry_date' => array('type' =>
'int','precision' => 4,'nullable' => True),
'modified_date' => array('type' =>
'int','precision' => 4,'nullable' => True)
Modified: trunk/property/setup/tables_update.inc.php
===================================================================
--- trunk/property/setup/tables_update.inc.php 2012-10-03 16:22:41 UTC (rev
10106)
+++ trunk/property/setup/tables_update.inc.php 2012-10-03 16:22:56 UTC (rev
10107)
@@ -6656,4 +6656,27 @@
$GLOBALS['setup_info']['property']['currentver'] =
'0.9.17.650';
return $GLOBALS['setup_info']['property']['currentver'];
}
- }
+ }
+
+ /**
+ * Update property version from 0.9.17.650 to 0.9.17.651
+ * Enable to close periode on budget
+ */
+ $test[] = '0.9.17.650';
+ function property_upgrade0_9_17_650()
+ {
+ $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+
$GLOBALS['phpgw_setup']->oProc->AddColumn('fm_project_budget','closed',array(
+ 'type' => 'int',
+ 'precision' => 2,
+ 'nullable' => true
+ )
+ );
+
+ if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+ {
+ $GLOBALS['setup_info']['property']['currentver'] =
'0.9.17.651';
+ return $GLOBALS['setup_info']['property']['currentver'];
+ }
+ }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [10107] property: more on budgets,
Sigurd Nes <=