[eGroupWare-svn] r55906 - in /trunk/projectmanager: inc/ templates/default/

[email protected]
Newsgroups gmane.comp.web.egroupware.cvs
Message-ID <[email protected]>
Author: nathangray
Date: Wed Apr 27 23:09:18 2016
New Revision: 55906

URL: http://svn.stylite.de/viewvc/egroupware?rev=55906&view=rev
Log:
- Use datasource to default, fixes addressbook entries not ignored
- Do not set element start date if not supported, fixes addressbook entries got a start date
- Update element totals in header for refresh
- Fix Times / Planned / Replanned totals were not updated

Modified:
    trunk/projectmanager/inc/class.datasource.inc.php
    trunk/projectmanager/inc/class.projectmanager_elements_bo.inc.php
    trunk/projectmanager/inc/class.projectmanager_elements_ui.inc.php
    trunk/projectmanager/templates/default/elements.list.xet

Modified: trunk/projectmanager/inc/class.datasource.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/projectmanager/inc/class.datasource.inc.php?rev=55906&r1=55905&r2=55906&view=diff
==============================================================================
--- trunk/projectmanager/inc/class.datasource.inc.php (original)
+++ trunk/projectmanager/inc/class.datasource.inc.php Wed Apr 27 23:09:18 2016
@@ -188,7 +188,8 @@
 		if ($ds)
 		{
 			// setting a not set planned start from a contrains
-			if ((!$ds['pe_planned_start'] || $ds['ignore_planned_start']) && !is_null($pe_data) && $pe_data['pe_constraints']['start'])
+			if ((!$ds['pe_planned_start'] && isset($ds['pe_planned_start']) || $ds['ignore_planned_start']) &&
+				!is_null($pe_data) && $pe_data['pe_constraints']['start'])
 			{
 				//echo "start-constr."; _debug_array($pe_data['pe_constraints']['start']);
 				$start = 0;
@@ -213,12 +214,12 @@
 				}
 			}
 			// setting the planned start from the real-start
-			if (!$ds['pe_planned_start'] && !$ds['ignore_planned_start'] && $ds['pe_real_start'])
+			if (!$ds['pe_planned_start'] && isset($ds['pe_planned_start']) && !$ds['ignore_planned_start'] && $ds['pe_real_start'])
 			{
 				$ds['pe_planned_start'] = $ds['pe_real_start'];
 			}
 			// setting the planned start from the projects start
-			if ((!$ds['pe_planned_start'] || $ds['ignore_planned_start']) && $pe_data['pm_id'])
+			if ((!$ds['pe_planned_start'] && isset($ds['pe_planned_start']) || $ds['ignore_planned_start']) && $pe_data['pm_id'])
 			{
 				if (!is_object($this->bo_pe))
 				{
@@ -255,11 +256,11 @@
 				}
 			}
 			// setting real or planned start-date, from each other if not set
-			if ((!isset($ds['pe_real_start']) || $ds['ignore_real_start']) && isset($ds['pe_planned_start']))
+			if ((!$ds['pe_real_start'] || $ds['ignore_real_start']) && isset($ds['pe_planned_start']))
 			{
 				$ds['pe_real_start'] = $ds['pe_planned_start'];
 			}
-			elseif (!isset($ds['pe_planned_start']) && isset($ds['pe_real_start']))
+			elseif (!$ds['pe_planned_start'] && isset($ds['pe_real_start']))
 			{
 				$ds['pe_planned_start'] = $ds['pe_real_start'];
 			}

Modified: trunk/projectmanager/inc/class.projectmanager_elements_bo.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/projectmanager/inc/class.projectmanager_elements_bo.inc.php?rev=55906&r1=55905&r2=55906&view=diff
==============================================================================
--- trunk/projectmanager/inc/class.projectmanager_elements_bo.inc.php (original)
+++ trunk/projectmanager/inc/class.projectmanager_elements_bo.inc.php Wed Apr 27 23:09:18 2016
@@ -232,9 +232,12 @@
 		}
 		$this->init();
 		$need_save_anyway = false;
+		$datasource =& $this->datasource($app);
+
 		// check if entry already exists and set basic values if not
 		if (!$pe_id || ($need_save_anyway = !$this->read(array('pm_id'=>$pm_id,'pe_id'=>$pe_id))))
 		{
+			$this->data = $datasource->read($id);
 			$this->data['pm_id'] = $pm_id;
 			$this->data['pe_id'] = $pe_id;
 			$this->data['pe_overwrite'] = 0;		// none set so far
@@ -256,7 +259,6 @@
 		{
 			$this->data_merge($extra_keys);
 		}
-		$datasource =& $this->datasource($app);
 		$this->updated = 0;
 
 		// mask out not overwritable parts like title and details

Modified: trunk/projectmanager/inc/class.projectmanager_elements_ui.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/projectmanager/inc/class.projectmanager_elements_ui.inc.php?rev=55906&r1=55905&r2=55906&view=diff
==============================================================================
--- trunk/projectmanager/inc/class.projectmanager_elements_ui.inc.php (original)
+++ trunk/projectmanager/inc/class.projectmanager_elements_ui.inc.php Wed Apr 27 23:09:18 2016
@@ -465,7 +465,7 @@
 
 		// Check for filter change, need to get totals
 		$session = egw_cache::getSession('projectmanager', 'projectelements_list');
-		$get_totals = ($session && $session['filter'] != $query_in['filter']) || !$session && $query_in['filter'];
+		$get_totals = $query_in['start'] === 0 || ($session && $session['filter'] != $query_in['filter']) || !$session && $query_in['filter'];
 		$query=$query_in;
 		unset($query_in['col_filter']['parent_id']);
 		$GLOBALS['egw']->session->appsession('projectelements_list','projectmanager',$query_in);
@@ -688,6 +688,11 @@
 				if ($budget_rights || !in_array($field, array('pe_planned_budget', 'pe_used_budget')))
 				{
 					$rows['total_' . $field] = $value;
+				}
+				// etemplate requires unique IDs, these ones are in the second times column
+				if(in_array($field, array('pe_planned_time', 'pe_used_time')))
+				{
+					$rows['total_' . $field . '_2'] = $value;
 				}
 			}
 		}

Modified: trunk/projectmanager/templates/default/elements.list.xet
URL: http://svn.stylite.de/viewvc/egroupware/trunk/projectmanager/templates/default/elements.list.xet?rev=55906&r1=55905&r2=55906&view=diff
==============================================================================
--- trunk/projectmanager/templates/default/elements.list.xet (original)
+++ trunk/projectmanager/templates/default/elements.list.xet Wed Apr 27 23:09:18 2016
@@ -87,9 +87,9 @@
 					</vbox>
 					<vbox>
 						<nextmatch-sortheader label="Times" id="pe_used_time"/>
-						<date-duration id="total_pe_used_time" readonly="true" options="@@duration_format"/>
+						<date-duration id="total_pe_used_time_2" readonly="true" options="@@duration_format"/>
 						<nextmatch-sortheader label="planned" id="pe_planned_time" class="planned"/>
-						<date-duration id="total_pe_planned_time" readonly="true" options="@@duration_format" class="planned"/>
+						<date-duration id="total_pe_planned_time_2" readonly="true" options="@@duration_format" class="planned"/>
 						<nextmatch-sortheader label="re-planned" id="pe_replanned_time" class="replanned"/>
 						<date-duration id="total_pe_replanned_time" readonly="true" options="@@duration_format" class="replanned"/>
 					</vbox>


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.