[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [10625] Property: tweak bulk update
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [10625] Property: tweak bulk update |
Date: |
Mon, 31 Dec 2012 13:21:07 +0000 |
Revision: 10625
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=10625
Author: sigurdne
Date: 2012-12-31 13:21:03 +0000 (Mon, 31 Dec 2012)
Log Message:
-----------
Property: tweak bulk update
Modified Paths:
--------------
trunk/property/inc/class.boworkorder.inc.php
trunk/property/inc/class.soproject.inc.php
trunk/property/inc/class.uiproject.inc.php
trunk/property/js/yahoo/project.edit.js
Modified: trunk/property/inc/class.boworkorder.inc.php
===================================================================
--- trunk/property/inc/class.boworkorder.inc.php 2012-12-30 22:55:55 UTC
(rev 10624)
+++ trunk/property/inc/class.boworkorder.inc.php 2012-12-31 13:21:03 UTC
(rev 10625)
@@ -605,6 +605,13 @@
$historylog =
CreateObject('property.historylog','workorder');
$history_array =
$historylog->return_array(array('O'),array(),'','',$id);
+ $_status_list = $this->so->select_status_list();
+ $status_text = array();
+ foreach ($_status_list as $_status_entry)
+ {
+ $status_text[$_status_entry['id']] =
$_status_entry['name'];
+ }
+
$i=0;
foreach ($history_array as $value)
{
@@ -633,7 +640,7 @@
case 'CO': $type = lang('Initial
Coordinator'); break;
case 'C': $type = lang('Coordinator
changed'); break;
case 'TO': $type = lang('Initial
Category'); break;
- case 'T': $type =
lang('Category changed'); break;
+ case 'T': $type = lang('Category
changed'); break;
case 'SO': $type = lang('Initial
Status'); break;
case 'S': $type = lang('Status
changed'); break;
case 'SC': $type = lang('Status
confirmed'); break;
@@ -647,10 +654,9 @@
}
if($value['new_value']=='O'){$value['new_value']=lang('Opened');}
-
if($value['new_value']=='X'){$value['new_value']=lang('Closed');}
+
if($value['new_value']=='X'){$value['new_value']=lang('Closed');}
-
-
$record_history[$i]['value_action'] = $type?$type:'';
+ $record_history[$i]['value_action'] = $type
? $type:'';
unset($type);
if ($value['status'] == 'A')
@@ -694,6 +700,11 @@
$record_history[$i]['value_old_value'] = $category[0]['name'];
}
}
+ else if ($value['status'] == 'S' ||
$value['status'] == 'SO')
+ {
+ $record_history[$i]['value_new_value']
= $status_text[$value['new_value']];
+ $record_history[$i]['value_old_value']
= $status_text[$value['old_value']];
+ }
else if ($value['status'] != 'O' &&
$value['new_value'])
{
$record_history[$i]['value_new_value']
= $value['new_value'];
Modified: trunk/property/inc/class.soproject.inc.php
===================================================================
--- trunk/property/inc/class.soproject.inc.php 2012-12-30 22:55:55 UTC (rev
10624)
+++ trunk/property/inc/class.soproject.inc.php 2012-12-31 13:21:03 UTC (rev
10625)
@@ -37,6 +37,7 @@
class property_soproject
{
var $total_records = 0;
+ private $global_lock = false;
function __construct()
{
@@ -53,6 +54,8 @@
$this->acl = &
$GLOBALS['phpgw']->acl;
$this->acl->set_account_id($this->account);
$this->grants =
$this->acl->get_grants('property','.project');
+ $this->config =
CreateObject('phpgwapi.config','property');
+ $this->config->read();
}
function select_status_list()
@@ -645,7 +648,7 @@
}
$this->db->set_fetch_single(false);
-
+//$test=array();
foreach($project_list as &$project)
{
$this->db->query("{$sql} WHERE
fm_project.id = '{$project['project_id']}' {$group_method}");
@@ -696,6 +699,7 @@
$_actual_cost =
$this->db->f('actual_cost');
if(!$this->db->f('closed'))
{
+//$test[] = $this->db->f('id');
$_obligation =
$_combined_cost - $_actual_cost;
if((int)$this->db->f('budget') >= 0)
{
@@ -748,7 +752,7 @@
}
$values =
$this->custom->translate_value($dataset, $location_id);
-
+//_debug_array($test);
return $values;
}
@@ -1486,6 +1490,7 @@
unset($action_params);
}
+ $workorder_closed_status =
isset($this->config->config_data['workorder_closed_status']) &&
$this->config->config_data['workorder_closed_status'] ?
$this->config->config_data['workorder_closed_status'] : 'closed';
if($old_status != $project['status'])
{
@@ -1496,11 +1501,11 @@
{
$historylog->add('S',$project['id'],$project['status'], $old_status);
- $this->db->query("UPDATE fm_workorder
SET status='closed' WHERE project_id = {$project['id']}",__LINE__,__FILE__);
-
+ // $this->db->query("UPDATE fm_workorder
SET status='{$workorder_closed_status}' WHERE project_id =
{$project['id']}",__LINE__,__FILE__);
+ $this->_update_status_workorder(true,
$workorder_closed_status, $workorders);
foreach($workorders as $workorder_id)
{
-
$historylog_workorder->add('S',$workorder_id,'closed');
+ //
$historylog_workorder->add('S',$workorder_id,'closed');
}
$receipt['notice_owner'][]=lang('Status
changed') . ': ' . $project['status'];
@@ -1511,14 +1516,19 @@
if ($close_workorders)
{
+ // $this->db->query("UPDATE
fm_workorder SET status='{$workorder_closed_status}' WHERE project_id =
{$project['id']}",__LINE__,__FILE__);
+
+
$this->_update_status_workorder(true, $workorder_closed_status, $workorders);
foreach($workorders as
$workorder_id)
{
-
$historylog_workorder->add('SC',$workorder_id,'closed');
+ //
$historylog_workorder->add('SC',$workorder_id,'closed');
}
}
$receipt['notice_owner'][]=lang('Status
confirmed') . ': ' . $project['status'];
}
+/*
+ // Handled in _update_status_workorder();
if($close_pending_action)
{
$action_params = array
@@ -1541,6 +1551,7 @@
}
unset($action_params);
}
+*/
}
if(isset($project['project_group']) &&
$project['project_group'])
@@ -2227,6 +2238,7 @@
function bulk_update_status($start_date, $end_date,
$status_filter, $status_new, $execute, $type, $user_id = 0,$ids,$paid = false,
$closed_orders = false, $ecodimb = 0)
{
$start_date = $start_date ?
phpgwapi_datetime::date_to_timestamp($start_date) : time();
+ $start_date -= 3600*24;
$end_date = $end_date ?
phpgwapi_datetime::date_to_timestamp($end_date) : time();
$filter = '';
@@ -2330,6 +2342,7 @@
}
$historylog =
CreateObject('property.historylog','project');
+ $workorder_closed_status =
isset($this->config->config_data['workorder_closed_status']) &&
$this->config->config_data['workorder_closed_status'] ?
$this->config->config_data['workorder_closed_status'] : false;
$this->db->transaction_begin();
foreach ($ids as $id)
@@ -2364,10 +2377,28 @@
$this->db->query("SELECT * FROM
fm_project_status WHERE id = '{$status_new}'");
$this->db->next_record();
- if ($this->db->f('approved') ||
$this->db->f('closed'))
+ $approved = $this->db->f('approved');
+ $closed = $this->db->f('closed');
+
+ if ($approved || $closed)
{
execMethod('property.sopending_action.close_pending_action',
$action_params_approved);
}
+
+ if($closed && $workorder_closed_status)
+ {
+ $sql = "SELECT fm_workorder.id FROM
fm_workorder"
+ . " {$this->join} fm_workorder_status
ON fm_workorder.status = fm_workorder_status.id"
+ . " WHERE project_id = '{$id}' AND
closed IS NULL";
+
+ $this->db->query($sql);
+ $orders[] = array();
+ while($this->db->next_record())
+ {
+ $orders[] = $this->db->f('id');
+ }
+
$this->_update_status_workorder($execute, $workorder_closed_status, $orders);
+ }
}
$this->db->transaction_commit();
@@ -2382,7 +2413,15 @@
}
$historylog =
CreateObject('property.historylog','workorder');
- $this->db->transaction_begin();
+ if ( $this->db->get_transaction() )
+ {
+ $this->global_lock = true;
+ }
+ else
+ {
+ $this->db->transaction_begin();
+ }
+
foreach ($ids as $id)
{
if(!$id)
@@ -2399,7 +2438,7 @@
{
$this->db->query("UPDATE fm_workorder
SET status = '{$status_new}' WHERE id = '{$id}'",__LINE__,__FILE__);
$historylog->add('S', $id, $status_new,
$old_status);
- $historylog->add('RM', $id,'Status
endret via masseoppdatering');
+ $historylog->add('RM', $id,'Status
endret via masseoppdatering eller prosjekt');
}
$action_params_approved = array
@@ -2443,7 +2482,10 @@
}
}
- $this->db->transaction_commit();
+ if ( !$this->global_lock )
+ {
+ $this->db->transaction_commit();
+ }
}
public function get_user_list()
Modified: trunk/property/inc/class.uiproject.inc.php
===================================================================
--- trunk/property/inc/class.uiproject.inc.php 2012-12-30 22:55:55 UTC (rev
10624)
+++ trunk/property/inc/class.uiproject.inc.php 2012-12-31 13:21:03 UTC (rev
10625)
@@ -1773,7 +1773,7 @@
'values' =>
json_encode(array( array('key' =>
'year','label'=>lang('year'),'sortable'=>false,'resizeable'=>true),
array('key' =>
'month','label'=>lang('month'),'sortable'=>false,'resizeable'=>true),
array('key' =>
'budget','label'=>lang('budget'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount0'),
-
array('key' => 'sum_orders','label'=>
lang('order'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount0'),
+
// array('key' => 'sum_orders','label'=>
lang('order'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount0'),
array('key' =>
'sum_oblications','label'=>lang('sum
orders'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount0'),
array('key' =>
'actual_cost','label'=>lang('actual
cost'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount0'),
array('key' =>
'diff','label'=>lang('difference'),'sortable'=>false,'resizeable'=>true,'formatter'=>'FormatterAmount0'),
@@ -2509,6 +2509,7 @@
}
$datavalues[2] = array
+
(
'name'
=> "2",
'values'
=> json_encode($content_invoice),
Modified: trunk/property/js/yahoo/project.edit.js
===================================================================
--- trunk/property/js/yahoo/project.edit.js 2012-12-30 22:55:55 UTC (rev
10624)
+++ trunk/property/js/yahoo/project.edit.js 2012-12-31 13:21:03 UTC (rev
10625)
@@ -159,7 +159,7 @@
{
//call getTotalSum(name of column) in property.js
tmp_sum1 = getTotalSum_active('budget',0,paginator,datatable);
- tmp_sum2 =
getTotalSum_active('sum_orders',0,paginator,datatable);
+ // tmp_sum2 =
getTotalSum_active('sum_orders',0,paginator,datatable);
tmp_sum3 =
getTotalSum_active('sum_oblications',0,paginator,datatable);
tmp_sum4 =
getTotalSum_active('actual_cost',0,paginator,datatable);
tmp_sum5 = getTotalSum_active('diff',0,paginator,datatable);
@@ -181,7 +181,7 @@
td_sum('Sum');
td_empty(1);
td_sum(tmp_sum1);
- td_sum(tmp_sum2);
+// td_sum(tmp_sum2);
td_sum(tmp_sum3);
td_sum(tmp_sum4);
td_sum(tmp_sum5);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [10625] Property: tweak bulk update,
Sigurd Nes <=