[evolvis-commits] r10410: added 'Nice' Patch to add Detail view to Task Manager [#1025] ↵ proposed =?UTF-8?Q?by=20=20Steel=20City=20Phanto?==?UTF-8?Q?m?=, ↵

mirabilos at evolvis.org mirabilos at evolvis.org
Thu Feb 24 17:45:31 CET 2011


Author: mirabilos
Date: 2011-02-24 17:45:30 +0100 (Thu, 24 Feb 2011)
New Revision: 10410

Modified:
   trunk/gforge_base/evolvisforge-5.1/gforge/ChangeLog
   trunk/gforge_base/evolvisforge-5.1/gforge/common/pm/ProjectTaskFactory.class
   trunk/gforge_base/evolvisforge-5.1/gforge/www/include/languages/Base.tab
   trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/browse_task.php
Log:
added 'Nice' Patch to add Detail view to Task Manager [#1025]
        proposed by  Steel City Phantom,


Modified: trunk/gforge_base/evolvisforge-5.1/gforge/ChangeLog
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/ChangeLog	2011-02-24 16:45:28 UTC (rev 10409)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/ChangeLog	2011-02-24 16:45:30 UTC (rev 10410)
@@ -1,3 +1,8 @@
+2005-01-20  Christian Bayle <bayle at debian.org>
+	
+	* added 'Nice' Patch to add Detail view to Task Manager [#1025]
+	proposed by  Steel City Phantom, Thanks
+
 2005-01-16  Tim Perdue <tim at gforge.org>
 
 	* added BBC-all address to all email can be copied to a 

Modified: trunk/gforge_base/evolvisforge-5.1/gforge/common/pm/ProjectTaskFactory.class
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/pm/ProjectTaskFactory.class	2011-02-24 16:45:28 UTC (rev 10409)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/pm/ProjectTaskFactory.class	2011-02-24 16:45:30 UTC (rev 10410)
@@ -34,6 +34,7 @@
 
 require_once('common/include/Error.class');
 require_once('common/pm/ProjectTask.class');
+require_once('www/pm/include/ProjectTaskHTML.class');
 
 class ProjectTaskFactory extends Error {
 
@@ -57,6 +58,7 @@
 	var $offset;
 	var $max_rows;
 	var $fetched_rows;
+	var $view_type;
 
 	/**
 	 *  Constructor.
@@ -90,8 +92,9 @@
 	 *	@param	string	Whether to set these prefs into the user_prefs table - use "custom".
 	 *	@param	int	Include this param if you want to limit to a certain assignee.
 	 *	@param	int	Include this param if you want to limit to a certain category.
+	 *	@param	string	What view mode the screen should be in.
 	 */
-	function setup($offset,$order,$max_rows,$set,$_assigned_to,$_status,$_category_id) {
+	function setup($offset,$order,$max_rows,$set,$_assigned_to,$_status,$_category_id,$_view) {
 //echo "<BR>offset: $offset| order: $order|max_rows: $max_rows|_assigned_to: $_assigned_to|_status: $_status|_category_id: $_category_id +";
 		if ((!$offset) || ($offset < 0)) {
 			$this->offset=0;
@@ -126,7 +129,7 @@
 			/*
 				if this custom set is different than the stored one, reset preference
 			*/
-			$pref_=$_assigned_to.'|'.$_status.'|'.$_category_id;
+			$pref_=$_assigned_to.'|'.$_status.'|'.$_category_id.'|'.$_view;
 			if (session_loggedin() && ($pref_ != $u->getPreference('pm_brow_cust'.$this->ProjectGroup->Group->getID()))) {
 				//echo 'setting pref';
 				$u->setPreference('pm_brow_cust'.$this->ProjectGroup->Group->getID(),$pref_);
@@ -138,12 +141,14 @@
 					$_assigned_to=$prf_arr[0];
 					$_status=$prf_arr[1];
 					$_category_id=$prf_arr[2];
+					$_view=$prf_arr[3];
 				}
 			}
 		}
 		$this->status=$_status;
 		$this->assigned_to=$_assigned_to;
 		$this->category=$_category_id;
+		$this->view_type=$_view;
 
 		if (!$max_rows || $max_rows < 5) {
 			$max_rows=50;
@@ -155,8 +160,9 @@
 	 *	getTasks - get an array of ProjectTask objects.
 	 *
 	 *	@return	array	The array of ProjectTask objects.
+	 *	@param	bool	True will create an array of ProjectTaskHTML instead of ProjectTask objects.
 	 */
-	function &getTasks() {
+	function &getTasks($htmlobjs=false) {
 		if ($this->project_tasks) {
 			return $this->project_tasks;
 		}
@@ -215,7 +221,10 @@
 			return false;
 		} else {
 			while ($arr =& db_fetch_array($result)) {
-				$this->project_tasks[] = new ProjectTask($this->ProjectGroup, $arr['project_task_id'], $arr);
+				if (!$htmlobjs)
+					$this->project_tasks[] = new ProjectTask($this->ProjectGroup, $arr['project_task_id'], $arr);
+				else
+					$this->project_tasks[] = new ProjectTaskHTML($this->ProjectGroup,$arr['project_task_id']);
 			}
 		}
 		return $this->project_tasks;

Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/include/languages/Base.tab
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/include/languages/Base.tab	2011-02-24 16:45:28 UTC (rev 10409)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/include/languages/Base.tab	2011-02-24 16:45:30 UTC (rev 10410)
@@ -1387,6 +1387,9 @@
 pm	title	Project/Task Manager: Subprojects And Tasks
 pm	unassigned	Unassigned
 pm	view_calendar	View Calendar
+pm	view_type	Detail View
+pm	view_type_summary	Summary
+pm	view_type_detail	Detailed
 pm_addtask	task_added_relationship	Successfully Added Tracker Relationship
 pm_addtask	task_created_successfully	Task Created Successfully
 pm_addtask	task_updated_successfully	Task Updated Successfully

Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/browse_task.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/browse_task.php	2011-02-24 16:45:28 UTC (rev 10409)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/browse_task.php	2011-02-24 16:45:30 UTC (rev 10410)
@@ -30,12 +30,11 @@
 	exit_error('Error',$ptf->getErrorMessage());
 }
 
-$ptf->setup($offset,$_order,$max_rows,$set,$_assigned_to,$_status,$_category_id);
+$ptf->setup($offset,$_order,$max_rows,$set,$_assigned_to,$_status,$_category_id,$_view);
 if ($ptf->isError()) {
 	exit_error('Error',$ptf->getErrorMessage());
 }
-
-$pt_arr =& $ptf->getTasks();
+$pt_arr =& $ptf->getTasks(true);
 if ($ptf->isError()) {
 	exit_error('Error',$ptf->getErrorMessage());
 }
@@ -44,6 +43,7 @@
 $_status=$ptf->status;
 $_order=$ptf->order;
 $_category_id=$ptf->category;
+$_view=$ptf->view_type;
 
 pm_header(array('title'=>$Language->getText('pm_browsetask','title'),'pagename'=>$pagename,'group_project_id'=>$group_project_id,'sectionvals'=>$g->getPublicName()));
 
@@ -88,6 +88,17 @@
 $order_box=html_build_select_box_from_arrays ($order_col_arr,$title_arr,'_order',$_order,false);
 
 /*
+	Creating View array
+*/
+$view_arr=array();
+$view_arr[]=$Language->getText('pm','view_type_summary');
+$view_arr[]=$Language->getText('pm','view_type_detail');
+
+$order_col_arr=array();
+$view_col_arr[]='summary';
+$view_col_arr[]='detail';
+$view_box=html_build_select_box_from_arrays ($view_col_arr,$view_arr,'_view',$_view,false);
+/*
 	Show the new pop-up boxes to select assigned to and/or status
 */
 echo '	<form action="'. $PHP_SELF .'?group_id='.$group_id.'&group_project_id='.$group_project_id.'" method="post">
@@ -98,6 +109,7 @@
 		<td><font size="-1">'.$Language->getText('pm','status').'<br />'. $pg->statusBox('_status',$_status,true, $Language->getText('pm','status_any')) .'</font></td>
 		<td><font size="-1">'.$Language->getText('pm','category').'<br />'. $cat_box .'</font></td>
 		<td><font size="-1">'.$Language->getText('pm_modtask','sort_on').'<br />'. $order_box .'</font></td>
+		<td><font size="-1">'.$Language->getText('pm','view_type').'<br />'. $view_box .'</font></td>
 		<td><font size="-1"><input type="submit" name="submit" value="'.$Language->getText('pm_browsetask','browse').'" /></font></td>
 	</tr></table></form><p />';
 
@@ -134,17 +146,42 @@
 
 	for ($i=0; $i < $rows; $i++) {
 		$url = "/pm/task.php?func=detailtask&project_task_id=".$pt_arr[$i]->getID()."&group_id=".$group_id."&group_project_id=".$group_project_id;
-		echo '
-			<tr bgcolor="'.html_get_priority_color( $pt_arr[$i]->getPriority() ).'">'.
-			'<td>'.
-			($IS_ADMIN?'<input type="CHECKBOX" name="project_task_id_list[]" value="'.
-			$pt_arr[$i]->getID() .'"> ':'').
-			$pt_arr[$i]->getID() .'</td>'.
-			'<td><a href="'.$url.'">'.$pt_arr[$i]->getSummary() .'</a></td>'.
-			'<td>'.date($sys_datefmt, $pt_arr[$i]->getStartDate() ).'</td>'.
-			'<td>'. (($now>$pt_arr[$i]->getEndDate() )?'<strong>* ':'  ') .
-				date($sys_datefmt, $pt_arr[$i]->getEndDate() ).'</strong></td>'.
-			'<td>'. $pt_arr[$i]->getPercentComplete() .'%</td></tr>';
+		
+		if (($_view == "summary")||($_view == "")) //show the summary view
+		{
+			echo '
+				<tr bgcolor="'.html_get_priority_color( $pt_arr[$i]->getPriority() ).'">'.
+				'<td>'.
+				($IS_ADMIN?'<input type="CHECKBOX" name="project_task_id_list[]" value="'.
+				$pt_arr[$i]->getID() .'"> ':'').
+				$pt_arr[$i]->getID() .'</td>'.
+				'<td><a href="'.$url.'">'.$pt_arr[$i]->getSummary() .'</a></td>'.
+				'<td>'.date($sys_datefmt, $pt_arr[$i]->getStartDate() ).'</td>'.
+				'<td>'. (($now>$pt_arr[$i]->getEndDate() )?'<strong>* ':'  ') .
+					date($sys_datefmt, $pt_arr[$i]->getEndDate() ).'</strong></td>'.
+				'<td>'. $pt_arr[$i]->getPercentComplete() .'%</td></tr>';
+		}
+		else if ($_view == "detail") //show the Detail view
+		{
+			echo '
+				<tr bgcolor="'.html_get_priority_color( $pt_arr[$i]->getPriority() ).'">'.
+				'<td>'.
+				($IS_ADMIN?'<input type="CHECKBOX" name="project_task_id_list[]" value="'.
+				$pt_arr[$i]->getID() .'"> ':'').
+				$pt_arr[$i]->getID() .'</td>'.
+				'<td><a href="'.$url.'">'.$pt_arr[$i]->getSummary() .'</a></td>'.
+				'<td>'.date($sys_datefmt, $pt_arr[$i]->getStartDate() ).'</td>'.
+				'<td>'. (($now>$pt_arr[$i]->getEndDate() )?'<strong>* ':'  ') .
+					date($sys_datefmt, $pt_arr[$i]->getEndDate() ).'</strong></td>'.
+				'<td>'. $pt_arr[$i]->getPercentComplete() .'%</td></tr>';
+				echo '
+				<tr>'.
+					'<td> </td>'.
+					'<td colspan="4">';
+				echo nl2br( $pt_arr[$i]->getDetails() );
+				$pt_arr[$i]->showMessages();
+				echo '</td></tr>';
+		}
 
 	}
 



More information about the evolvis-commits mailing list