[evolvis-commits] r6671: following changes: ↵ Mass update problem with All tasks . ↵ Showing predefined columns in userinterface . ↵ Updates for copy&closed state in triggers , unserinterface. ↵ Functionality for All showing all subprojects one one page
ukayan at evolvis.org
ukayan at evolvis.org
Tue Jun 1 18:27:46 CEST 2010
Author: ukayan
Date: 2010-06-01 18:27:46 +0200 (Tue, 01 Jun 2010)
New Revision: 6671
Added:
branches/Changes-to-status-field-gforge-4.8.1+evolvis/.project
Modified:
branches/Changes-to-status-field-gforge-4.8.1+evolvis/DBChanges_SQLScripts/Changes_to_project_status
branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/browse_task.php
branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/include/ProjectGroupHTML.class.php
branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/index.php
branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/select_columns.php
branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/task.php
branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/themes/css/evolvis.css
Log:
following changes:
Mass update problem with All tasks.
Showing predefined columns in userinterface.
Updates for copy&closed state in triggers, unserinterface.
Functionality for All showing all subprojects one one page
Added: branches/Changes-to-status-field-gforge-4.8.1+evolvis/.project
===================================================================
--- branches/Changes-to-status-field-gforge-4.8.1+evolvis/.project (rev 0)
+++ branches/Changes-to-status-field-gforge-4.8.1+evolvis/.project 2010-06-01 16:27:46 UTC (rev 6671)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Changes-to-status-field-gforge-4.8.1+evolvis</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
Property changes on: branches/Changes-to-status-field-gforge-4.8.1+evolvis/.project
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: branches/Changes-to-status-field-gforge-4.8.1+evolvis/DBChanges_SQLScripts/Changes_to_project_status
===================================================================
--- branches/Changes-to-status-field-gforge-4.8.1+evolvis/DBChanges_SQLScripts/Changes_to_project_status 2010-06-01 15:45:01 UTC (rev 6670)
+++ branches/Changes-to-status-field-gforge-4.8.1+evolvis/DBChanges_SQLScripts/Changes_to_project_status 2010-06-01 16:27:46 UTC (rev 6671)
@@ -235,8 +235,100 @@
Added a new value Copy&Closed to the project_status table:
-insert into project_status values (1, 'Copy&Closed');
+INSERT INTO project_status
+(status_id, status_name)
+values
+(7, 'Copy&Closed');
+*******************************projectgroup_update_trig on Table project_task After copy&closed state**************************************
+ New Changed Source:
+ CREATE FUNCTION projectgroup_update_agg() RETURNS trigger
+ AS $$
+ BEGIN
+ --
+ -- see if they are moving to a new subproject
+ -- if so, its a more complex operation
+ --
+ IF NEW.group_project_id <> OLD.group_project_id THEN
+ --
+ -- transferred tasks always have a status of 1
+ -- so we will increment the new subprojects sums
+ --
+ IF OLD.status_id=3 THEN
+ -- No need to decrement counters on old tracker
+ ELSE
+ IF OLD.status_id IN (2,7) THEN
+ UPDATE project_counts_agg SET count=count-1
+ WHERE group_project_id=OLD.group_project_id;
+ ELSE
+ IF OLD.status_id IN (1,4,5,6) THEN
+ UPDATE project_counts_agg SET count=count-1,open_count=open_count-1
+ WHERE group_project_id=OLD.group_project_id;
+ END IF;
+ END IF;
+ END IF;
+
+ IF NEW.status_id=3 THEN
+ --DO NOTHING
+ ELSE
+ IF NEW.status_id IN (2,7) THEN
+ UPDATE project_counts_agg SET count=count+1
+ WHERE group_project_id=NEW.group_project_id;
+ ELSE
+ IF NEW.status_id IN (1,4,5,6) THEN
+ UPDATE project_counts_agg SET count=count+1, open_count=open_count+1
+ WHERE group_project_id=NEW.group_project_id;
+ END IF;
+ END IF;
+ END IF;
+ ELSE
+ --
+ -- just need to evaluate the status flag and
+ -- increment/decrement the counter as necessary
+ --
+ IF NEW.status_id <> OLD.status_id THEN
+ IF NEW.status_id IN (1,4,5,6) THEN
+ IF OLD.status_id IN (2,7) THEN
+ UPDATE project_counts_agg SET open_count=open_count+1
+ WHERE group_project_id=NEW.group_project_id;
+ ELSE
+ IF OLD.status_id=3 THEN
+ UPDATE project_counts_agg SET open_count=open_count+1, count=count+1
+ WHERE group_project_id=NEW.group_project_id;
+ END IF;
+ END IF;
+ ELSE
+ IF NEW.status_id IN (2,7) THEN
+ IF OLD.status_id IN (1,4,5,6) THEN
+ UPDATE project_counts_agg SET open_count=open_count-1
+ WHERE group_project_id=NEW.group_project_id;
+ ELSE
+ IF OLD.status_id=3 THEN
+ UPDATE project_counts_agg SET count=count+1
+ WHERE group_project_id=NEW.group_project_id;
+ END IF;
+ END IF;
+ ELSE
+ IF NEW.status_id = 3 THEN
+ IF OLD.status_id IN (2,7) THEN
+ UPDATE project_counts_agg SET count=count-1
+ WHERE group_project_id=NEW.group_project_id;
+ ELSE
+ IF OLD.status_id IN (1,4,5,6) THEN
+ UPDATE project_counts_agg SET open_count=open_count-1,count=count-1
+ WHERE group_project_id=NEW.group_project_id;
+ END IF;
+ END IF;
+ END IF;
+ END IF;
+ END IF;
+ END IF;
+ END IF;
+ RETURN NEW;
+ END;
+ $$
+ LANGUAGE plpgsql;
+ *****************************************************end*******************************************
\ No newline at end of file
Modified: branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/browse_task.php
===================================================================
--- branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/browse_task.php 2010-06-01 15:45:01 UTC (rev 6670)
+++ branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/browse_task.php 2010-06-01 16:27:46 UTC (rev 6671)
@@ -16,7 +16,18 @@
Total rewrite in OO and GForge coding guidelines 12/2002 by Tim Perdue
*/
-$_SESSION['summary'] = true;
+if (isset($_GET['firstTime'])) {
+ //Called first time
+ $_SESSION['start_date'] = true;
+ $_SESSION['end_date'] = true;
+ $_SESSION['priority'] = true;
+ $_SESSION['status'] = true;
+ $_SESSION['percentComplete'] = true;
+}
+
+
+
+//$_SESSION['summary'] = true;
//$_SESSION['start_date'] = true;
//$_SESSION['end_date'] = true;
//$_SESSION['percentComplete'] = true;
@@ -46,7 +57,7 @@
if($showAll == 'showAllSubProjects'){
- echo ' ';
+ //echo ' ';
/*code to get all groups*/
@@ -288,7 +299,7 @@
Show the new pop-up boxes to select assigned to and/or status
*/
-//Print_r ($pt_arr[0]);
+Print_r ($_GET);
echo '
<script type="text/javascript">
@@ -311,11 +322,14 @@
}
function openWinSelectColumns(){
-
+ top.location.href = "/pm/task.php?group_id='.$group_id.'&group_project_id='.$group_project_id.'&func=browse";
selectColumnsWindow = window.open("/pm/select_columns.php",null, "height=600,width=300,status=yes,toolbar=no,menubar=no,location=no");
selectColumnsWindow.focus();
}
+
+
+
</script>';
//<input type="hidden" name="showAll" value="'. $showAll .'">
@@ -370,8 +384,10 @@
document.headerForm.submit.click();
}
- if( gup("showAll") == "showAllSubProjects"){
- document.headerForm.select_subprojects.selectedIndex=6; //if showall then select All as default value in selectbox
+ if( gup("showAll") == "showAllSubProjects" || document.headerForm.showAll.value == "showAllSubProjects"){
+ document.headerForm.select_subprojects.selectedIndex= document.headerForm.select_subprojects.length-1 ;
+ alert(document.taskList.new_group_project_id.selectedIndex);
+ alert(12);
}
</script>
@@ -400,21 +416,25 @@
if ($IS_ADMIN) {
echo '
+
<form name="taskList" action="'. getStringFromServer('PHP_SELF') .'?group_id='.$group_id.'&group_project_id='.$pg->getID().'" METHOD="POST">
- <input type="hidden" name="func" value="massupdate">';
+ <input type="hidden" name="func" value="massupdate">
+ <input type="hidden" name="showAll" value="'. $showAll .'">
+ ';
+
}
//this array can be customized to display whichever columns you want
//it could be built by querying a table on a per-user basis as well
- $display_col=array('summary'=> ($summary ? 1: 0),
- 'start_date'=> ($start_date ? 1: 0),
- 'end_date'=> ($end_date ? 1: 0),
- 'percent_complete'=> ($percentComplete ? 1: 0),
+ $display_col=array('summary'=> ( ($summary || getStringFromRequest('summary')) ? 1: 0),
+ 'start_date'=> ( ($start_date|| getStringFromRequest('start_date')) ? 1: 0),
+ 'end_date'=> ( ($end_date || getStringFromRequest('end_date')) ? 1: 0),
+ 'percent_complete'=> ( ($percentComplete || getStringFromRequest('percentComplete')) ? 1: 0),
'category'=> ($category ? 1: 0),
'assigned_to'=> ($assignedTo ? 1: 0),
- 'priority'=> ($priority ? 1: 0),
- 'status'=> ($status ? 1 : 0) ,
+ 'priority'=> ( ($priority || getStringFromRequest('priority')) ? 1: 0),
+ 'status'=> ( ($status || getStringFromRequest('status')) ? 1 : 0) ,
'project_task_id'=> 0,
'realname'=> ($realName ? 1: 0),
'duration'=> ($duration ? 1: 0),
@@ -489,13 +509,17 @@
$url = getStringFromServer('PHP_SELF')."?func=detailtask&project_task_id=".$pt_arr[$i]->getID()."&group_id=".$group_id."&group_project_id=".$task_group_project_id;
echo '
- <tr class="priority'.$pt_arr[$i]->getPriority().'">'.
+ <tr class=" '. (($pt_arr[$i]->getStatusId() == 7)? ' copyAndClosed ' : ' priority'.$pt_arr[$i]->getPriority()) .'">'.
'<td>'.
- ($IS_ADMIN?'<input type="CHECKBOX" name="project_task_id_list[]" value="'.
- $pt_arr[$i]->getID() .'"> ':'').
+ ($IS_ADMIN?'<input type="CHECKBOX" '. (($pt_arr[$i]->getStatusId() == 7)? 'onclick="return false;"':' ') .' name="project_group_id_list[]" style="display:none;" value="'.
+ $task_group_project_id .'"> ':'').
+ ($IS_ADMIN?'<input type="CHECKBOX" '. (($pt_arr[$i]->getStatusId() == 7)? 'onclick="return false;"':' ') .' name="project_task_id_list[]" value="'.
+ $pt_arr[$i]->getID() .'"> ':'').
$pt_arr[$i]->getID() .'</td>';
+
+
if ($display_col['summary'])
- echo '<td><a href="'.$url.'">'.$pt_arr[$i]->getSummary() .'</a></td>';
+ echo '<td><a href="'.$url.'" >'.$pt_arr[$i]->getSummary() .'</a></td>';
if ($display_col['start_date'])
echo '<td>'.date(_('Y-m-d H:i'), $pt_arr[$i]->getStartDate() ).'</td>';
if ($display_col['end_date'])
@@ -654,6 +678,7 @@
var i=0;
for( i=0 ; i<len ; i++) {
if (al.elements[i].name==\'project_task_id_list[]\') {
+ if
al.elements[i].checked=val;
}
}
@@ -690,14 +715,48 @@
</tr>
<tr><td><strong>'._('Subproject').'</strong><br />
- '.$pg->groupProjectBox('new_group_project_id',$group_project_id,false).'</td>
- <td align="middle"><input type="submit" name="submit" '.($showAll == 'showAllSubProjects'? _('disabled') : _(' ') ).' value="'.
+ '.$pg->groupProjectBox('new_group_project_id',$group_project_id,true,_('No Change')).'</td>
+ <td align="middle"><input type="submit" name="submit" onclick="beforeSubmit();" value="'.
_('Mass update').'"></td></tr>
</table>
- </form>';
+ </form>
+
+ <script type="text/javascript">
+ if( gup("showAll") == "showAllSubProjects" || document.taskList.showAll.value == "showAllSubProjects"){
+ document.taskList.new_group_project_id.selectedIndex= 0;
+ }
+
+
+ function beforeSubmit(){
+ //If project_task_id_list[n] is checked then check the corresponding element in the array project_group_id_list[0]
+
+ var project_group_id_array = document.taskList.elements["project_group_id_list[]"];
+ var project_task_id_array = document.taskList.elements["project_task_id_list[]"];
+ //alert(project_task_id_array.selectedIndex);
+
+ if(project_task_id_array.length){
+ //More than one checkbox is selected
+ //alert(\'Array\');
+ for(c=0;c<project_task_id_array.length;c++){
+ project_group_id_array[c].checked = project_task_id_array[c].checked;
+ }
+
+
+ }else{
+ //Single checkbox is selected or no checkbox is selected
+ project_group_id_array.checked = project_task_id_array.checked;
+ }
+
+
+
+ }
+ </script>
+
+ ';
}
+
echo '<p />'._('* Denotes overdue tasks');
show_priority_colors_key();
Modified: branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/include/ProjectGroupHTML.class.php
===================================================================
--- branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/include/ProjectGroupHTML.class.php 2010-06-01 15:45:01 UTC (rev 6670)
+++ branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/include/ProjectGroupHTML.class.php 2010-06-01 16:27:46 UTC (rev 6671)
@@ -113,8 +113,8 @@
echo '
<select name="'.$name.'" ONCHANGE="switch(this.selectedIndex){
case 0: '.$status_select.'.selectedIndex = 0; break;
- case 20: '.$status_select.'.selectedIndex = 4; break;
- default: '.$status_select.'.selectedIndex = 3;
+ case 20: '.$status_select.'.selectedIndex = 5; break;
+ default: '.$status_select.'.selectedIndex = 4;
}">';
echo '
<option value="0">'._('Not Started'). '</option>';
Modified: branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/index.php
===================================================================
--- branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/index.php 2010-06-01 15:45:01 UTC (rev 6670)
+++ branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/index.php 2010-06-01 16:27:46 UTC (rev 6671)
@@ -64,12 +64,99 @@
/*
Put the result set (list of projects for this group) into a column with folders
*/
- $tablearr=array(_('Subproject Name'),
- _('Description'),
- _('Open'),
- _('Total'));
+
+ $sortcol = util_ensure_value_in_set (getStringFromRequest ('sortcol'),
+ array ('project_id',
+ 'project_description',
+ 'project_name',
+ 'open_count',
+ 'total_count')) ;
+ $sortorder = util_ensure_value_in_set (getStringFromRequest ('sortorder'),
+ array ('a',
+ 'd')) ;
+
+ function build_column_sort_header ($group_id, $title, $val) {
+ global $sortcol, $sortorder ;
+
+ if ($sortcol != $val) {
+ return util_make_link ("/pm/?group_id=$group_id&sortcol=$val",
+ $title) ;
+ } elseif ($sortorder == 'a') {
+ return util_make_link ("/pm/?group_id=$group_id&sortcol=$val&sortorder=d",
+ $title.' ▴') ;
+ } else {
+ return util_make_link ("/pm/?group_id=$group_id&sortcol=$val&sortorder=a",
+ $title.' ▾') ;
+ }
+ }
+
+ $tablearr = array () ;
+ $tablearr[] = build_column_sort_header ($group_id, _('ID'), 'project_id') ;
+ $tablearr[] = build_column_sort_header ($group_id, _('Subproject Name'), 'project_name') ;
+ $tablearr[] = build_column_sort_header ($group_id, _('Description'), 'project_description') ;
+ $tablearr[] = build_column_sort_header ($group_id, _('Open'), 'open_count') ;
+ $tablearr[] = build_column_sort_header ($group_id, _('Total'), 'total_count') ;
echo $HTML->listTableTop($tablearr);
+ function project_group_comparator ($a, $b) {
+ global $sortcol, $sortorder ;
+
+ switch ($sortcol) {
+ case 'project_name':
+ $sorttype = 'str' ;
+ $va = $a->getName() ;
+ $vb = $b->getName() ;
+ break;
+ case 'project_description':
+ $sorttype = 'str' ;
+ $va = $a->getDescription() ;
+ $vb = $b->getDescription() ;
+ break;
+ case 'project_id':
+ $sorttype = 'int' ;
+ $va = $a->getID();
+ $vb = $b->getID();
+ break;
+ case 'open_count':
+ $sorttype = 'int' ;
+ $va = $a->getOpenCount();
+ $vb = $b->getOpenCount();
+ break;
+ case 'total_count':
+ $sorttype = 'int' ;
+ $va = $a->getTotalCount();
+ $vb = $b->getTotalCount();
+ break;
+ default:
+ return 0;
+ }
+
+ switch ($sorttype) {
+ case 'str':
+ $tmp = strcoll ($va, $vb) ;
+ break ;
+ case 'int':
+ if ($va < $vb) {
+ $tmp = -1 ;
+ } elseif ($va > $vb) {
+ $tmp = 1 ;
+ } else {
+ $tmp = 0 ;
+ }
+ break ;
+ default:
+ return 0;
+ }
+
+ if ($sortorder == 'd') {
+ return -$tmp ;
+ } else {
+ return $tmp ;
+ }
+ }
+
+ usort (&$pg_arr, 'project_group_comparator') ;
+
for ($j = 0; $j < count($pg_arr); $j++) {
if (!is_object($pg_arr[$j])) {
//just skip it
@@ -78,8 +165,10 @@
} else {
echo '
<tr '. $HTML->boxGetAltRowStyle($j) . '>
- <td><a href="'.util_make_url ('/pm/task.php?group_project_id='. $pg_arr[$j]->getID().'&group_id='.$group_id.'&func=browse').'">' .
+ <td><a href="'.util_make_url ('/pm/task.php?group_project_id='. $pg_arr[$j]->getID().'&group_id='.$group_id.'&func=browse&firstTime=true').'">' .
html_image("ic/taskman20w.png","20","20",array("border"=>"0")) . ' '.
+ $pg_arr[$j]->getID() .'</a></td>
+ <td><a href="'.util_make_url ('/pm/task.php?group_project_id='. $pg_arr[$j]->getID().'&group_id='.$group_id.'&func=browse&firstTime=true').'">' .
$pg_arr[$j]->getName() .'</a></td>
<td>'.$pg_arr[$j]->getDescription() .'</td>
<td style="text-align:center">'. (int) $pg_arr[$j]->getOpenCount().'</td>
Modified: branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/select_columns.php
===================================================================
--- branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/select_columns.php 2010-06-01 15:45:01 UTC (rev 6670)
+++ branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/select_columns.php 2010-06-01 16:27:46 UTC (rev 6671)
@@ -39,8 +39,15 @@
if($_POST['categoryName'] ) $_SESSION['categoryName'] = true; else unset($_SESSION['categoryName']);
if($_POST['lastModifiedDate']) $_SESSION['lastModifiedDate'] = true; else unset($_SESSION['lastModifiedDate']);
if($_POST['externalId']) $_SESSION['externalId'] = true; else unset($_SESSION['externalId']);
- if($_POST['sub_project_name']) $_SESSION['sub_project_name'] = true; else unset($_SESSION['sub_project_name']);
+ if($_POST['sub_project_name']) $_SESSION['sub_project_name'] = true; else unset($_SESSION['sub_project_name']);
+}else{
+ //Called first time
+ //$_SESSION['start_date'] = true;
+ //$_SESSION['end_date'] = true;
+ //$_SESSION['priority'] = true;
+ //$_SESSION['status'] = true;
+ //$_SESSION['percentComplete'] = true;
}
@@ -54,19 +61,19 @@
document.forms[0].end_date.checked = selectDeselect.checked ;
document.forms[0].percentComplete.checked = selectDeselect.checked ;
document.forms[0].category.checked = selectDeselect.checked ;
- document.forms[0].assignedTo.checked = selectDeselect.checked ;
- document.forms[0].priority.checked = selectDeselect.checked ;
- document.forms[0].status.checked = selectDeselect.checked ;
- document.forms[0].realName.checked = selectDeselect.checked ;
- document.forms[0].duration.checked = selectDeselect.checked ;
- document.forms[0].parentId.checked = selectDeselect.checked ;
- document.forms[0].userName.checked = selectDeselect.checked ;
- document.forms[0].details.checked = selectDeselect.checked ;
- document.forms[0].hours.checked = selectDeselect.checked ;
- document.forms[0].statusId.checked = selectDeselect.checked ;
- document.forms[0].categoryId.checked = selectDeselect.checked ;
- document.forms[0].categoryName.checked = selectDeselect.checked;
- document.forms[0].lastModifiedDate.checked = selectDeselect.checked ;
+ document.forms[0].assignedTo.checked = selectDeselect.checked ;
+ document.forms[0].priority.checked = selectDeselect.checked ;
+ document.forms[0].status.checked = selectDeselect.checked ;
+ document.forms[0].realName.checked = selectDeselect.checked ;
+ document.forms[0].duration.checked = selectDeselect.checked ;
+ document.forms[0].parentId.checked = selectDeselect.checked ;
+ document.forms[0].userName.checked = selectDeselect.checked ;
+ document.forms[0].details.checked = selectDeselect.checked ;
+ document.forms[0].hours.checked = selectDeselect.checked ;
+ document.forms[0].statusId.checked = selectDeselect.checked ;
+ document.forms[0].categoryId.checked = selectDeselect.checked ;
+ document.forms[0].categoryName.checked = selectDeselect.checked;
+ document.forms[0].lastModifiedDate.checked = selectDeselect.checked ;
document.forms[0].externalId.checked = selectDeselect.checked ;
document.forms[0].sub_project_name.checked = selectDeselect.checked ;
@@ -78,13 +85,13 @@
if( document.forms[0].start_date.checked && document.forms[0].end_date.checked &&
document.forms[0].percentComplete.checked && document.forms[0].category.checked &&
document.forms[0].assignedTo.checked && document.forms[0].priority.checked &&
- document.forms[0].status.checked && document.forms[0].realName.checked &&
- document.forms[0].duration.checked && document.forms[0].parentId.checked &&
- document.forms[0].userName.checked && document.forms[0].details.checked &&
- document.forms[0].hours.checked && document.forms[0].statusId.checked &&
- document.forms[0].categoryId.checked && document.forms[0].categoryName.checked &&
- document.forms[0].lastModifiedDate.checked && document.forms[0].externalId.checked &&
- document.forms[0].sub_project_name.checked
+ document.forms[0].status.checked && document.forms[0].realName.checked &&
+ document.forms[0].duration.checked && document.forms[0].parentId.checked &&
+ document.forms[0].userName.checked && document.forms[0].details.checked &&
+ document.forms[0].hours.checked && document.forms[0].statusId.checked &&
+ document.forms[0].categoryId.checked && document.forms[0].categoryName.checked &&
+ document.forms[0].lastModifiedDate.checked && document.forms[0].externalId.checked &&
+ document.forms[0].sub_project_name.checked
){
return true;
}else{
@@ -128,8 +135,8 @@
<tr> <td> Category Id </td> <td> <input type="checkbox" name="categoryId" <?php if($_SESSION['categoryId']){ ?> checked <?php }?>/> </td> </tr>
<tr> <td> Category Name </td> <td> <input type="checkbox" name="categoryName" <?php if($_SESSION['categoryName']){ ?> checked <?php }?> /> </td> </tr>
<tr> <td> Last Modified Date </td> <td> <input type="checkbox" name="lastModifiedDate" <?php if($_SESSION['lastModifiedDate']){ ?> checked <?php }?> /> </td> </tr>
- <tr> <td> External Id </td> <td> <input type="checkbox" name="externalId" <?php if($_SESSION['externalId']){ ?> checked <?php }?> /> </td> </tr>
- <tr> <td> Sub-Project </td> <td> <input type="checkbox" name="sub_project_name" <?php if($_SESSION['sub_project_name']){ ?> checked <?php }?> /> </td> </tr>
+ <tr> <td> External Id </td> <td> <input type="checkbox" name="externalId" <?php if($_SESSION['externalId']){ ?> checked <?php }?> /> </td> </tr>
+ <tr> <td> Sub-Project </td> <td> <input type="checkbox" name="sub_project_name" <?php if($_SESSION['sub_project_name']){ ?> checked <?php }?> /> </td> </tr>
<tr> <td colspan="2"> </tr>
<tr> <td> Select/Deselect All: </td> <td> <input type="checkbox" name="selectDeselect" onclick="selectDeselectAllCheckFields(this);" /> </td> </tr>
</table>
Modified: branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/task.php
===================================================================
--- branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/task.php 2010-06-01 15:45:01 UTC (rev 6670)
+++ branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/pm/task.php 2010-06-01 16:27:46 UTC (rev 6671)
@@ -1,4 +1,6 @@
<?php
+
+
/**
* GForge Project Management Facility
*
@@ -15,6 +17,7 @@
Total rewrite in OO and GForge coding guidelines 12/2002 by Tim Perdue
*/
+
require_once('../env.inc.php');
require_once $gfwww.'include/pre.php';
require_once $gfwww.'pm/include/ProjectGroupHTML.class.php';
@@ -55,6 +58,7 @@
exit_missing_param();
}
+//Create Group Object
$g =& group_get_object($group_id);
if (!$g || !is_object($g)) {
exit_no_group();
@@ -62,13 +66,9 @@
exit_error('Error',$g->getErrorMessage());
}
-$pg = new ProjectGroupHTML($g,$group_project_id);
-if (!$pg || !is_object($pg)) {
- exit_error('Error','Could Not Get Factory');
-} elseif ($pg->isError()) {
- exit_error('Error',$pg->getErrorMessage());
-}
+$pg = creatProjectGroupHTML($g, $group_project_id);
+
/*
Figure out which function we're dealing with here
*/
@@ -82,12 +82,7 @@
//
case 'addtask' : {
if ($pg->userIsAdmin()) {
- $pt=new ProjectTaskHTML($pg);
- if (!$pt || !is_object($pt)) {
- exit_error('Error','Could Not Get ProjectTask');
- } elseif ($pt->isError()) {
- exit_error('Error',$pt->getErrorMessage());
- }
+ $pt = createProjectTaskHTML($pg);
include $gfwww.'pm/add_task.php';
} else {
exit_permission_denied();
@@ -102,14 +97,9 @@
if ($pg->userIsAdmin()) {
$add_artifact_id = getStringFromRequest('add_artifact_id');
-
- $pt = new ProjectTask($pg);
- if (!$pt || !is_object($pt)) {
- exit_error('Error','Could Not Get Empty ProjectTask');
- } elseif ($pt->isError()) {
- exit_error('Error',$pt->getErrorMessage());
- }
+ $pt = createProjectTask($pg);
+
if (!$dependent_on)
{
$dependent_on=array();
@@ -142,26 +132,15 @@
$copy_group_project_id = getStringFromRequest('copy_group_project_id');
$details = getStringFromRequest('details_of_task');
- $pg = new ProjectGroupHTML($g,$copy_group_project_id);
- if (!$pg || !is_object($pg)) {
- exit_error('Error','Could Not Get Factory');
- } elseif ($pg->isError()) {
- exit_error('Error',$pg->getErrorMessage());
- }
+ $pg = creatProjectGroupHTML($g, $copy_group_project_id);
-
//exit_error('Not error','Successful');
if ($pg->userIsAdmin()) {
$add_artifact_id = getStringFromRequest('add_artifact_id');
- $pt = new ProjectTask($pg);
- if (!$pt || !is_object($pt)) {
- exit_error('Error','Could Not Get Empty ProjectTask');
- } elseif ($pt->isError()) {
- exit_error('Error',$pt->getErrorMessage());
- }
+ $pt = createProjectTask($pg);
if (!$dependent_on)
{
@@ -180,7 +159,7 @@
}
}
$feedback=_('Task Copied Successfully');
- $pg = new ProjectGroupHTML($g,$group_project_id);
+ $pg = creatProjectGroupHTML($g, $group_project_id);
updateCopiedTask($pg,$project_task_id,$summary,$details,$priority,$hours,$start_date,$end_date,7,$category_id,$percent_complete,$assigned_to,$dependent_on,$new_group_project_id,$duration,$parent_id);
include $gfwww.'pm/browse_task.php';
@@ -206,12 +185,7 @@
$rem_artifact_id=array();
}
- $pt = new ProjectTask($pg,$project_task_id);
- if (!$pt || !is_object($pt)) {
- exit_error('Error','Could Not Get ProjectTask');
- } elseif ($pt->isError()) {
- exit_error('Error',$pt->getErrorMessage());
- }
+ $pt = createProjectTaskWithTaskId($pg, $project_task_id);
if (!$dependent_on) {
$dependent_on=array();
@@ -231,12 +205,7 @@
#Detailtask begin
#include $gfwww.'pm/browse_task.php'; OLD
- $pt=new ProjectTaskHTML($pg,$project_task_id);
- if (!$pt || !is_object($pt)) {
- exit_error('Error','Could Not Get ProjectTask');
- } elseif ($pt->isError()) {
- exit_error('Error',$pt->getErrorMessage());
- }
+ $pt = createProjectTaskHTMLWithTaskId($pg, $project_task_id);
if (session_loggedin() && $pg->userIsAdmin()) {
include $gfwww.'pm/mod_task.php';
@@ -286,11 +255,19 @@
case 'massupdate' : {
$project_task_id_list = getStringFromRequest('project_task_id_list');
+ $project_group_id_list = getStringFromRequest('project_group_id_list');
$count=count($project_task_id_list);
-
- if ($pg->userIsAdmin()) {
+ //for ($x=0; $x<$count; $x++)
+ // echo $project_task_id_list[$x].'-'. $project_group_id_list[$x].'<br>';
+ //Print_r($_REQUEST);
+ //break;
- for ($i=0; $i < $count; $i++) {
+
+ for ($i=0; $i < $count; $i++) {
+ $pg = creatProjectGroupHTML($g, $project_group_id_list[$i] );
+
+ if ($pg->userIsAdmin()) {
+
$pt=new ProjectTask($pg,$project_task_id_list[$i]);
if (!$pt || !is_object($pt)) {
$feedback .= ' ID: '.$project_task_id_list[$i].'::ProjectTask Could Not Be Created';
@@ -335,16 +312,20 @@
}
unset($pt);
}
+ }else {
+ exit_permission_denied();
}
- if (!$was_error) {
- $feedback = _('Task Updated Successfully');
- }
- include $gfwww.'pm/browse_task.php';
- break;
- } else {
- exit_permission_denied();
+
}
+ if (!$was_error) {
+ $feedback = _('Task Updated Successfully');
+ }
+ include $gfwww.'pm/browse_task.php';
+ break;
+
+
+
}
//
@@ -354,12 +335,7 @@
if ($pg->userIsAdmin()) {
$add_artifact_id = getStringFromRequest('add_artifact_id');
- $pt = new ProjectTask($pg,$project_task_id);
- if (!$pt || !is_object($pt)) {
- exit_error('Error','Could Not Get ProjectTask');
- } elseif ($pt->isError()) {
- exit_error('Error',$pt->getErrorMessage());
- }
+ $pt = createProjectTaskWithTaskId($pg, $project_task_id);
if (!$pt->addRelatedArtifacts($add_artifact_id)) {
exit_error('ERROR','addRelatedArtifacts():: '.$pt->getErrorMessage());
} else {
@@ -378,12 +354,7 @@
//
case 'deletetask' : {
if ($pg->userIsAdmin()) {
- $pt= new ProjectTask($pg,$project_task_id);
- if (!$pt || !is_object($pt)) {
- exit_error('Error','Could Not Get ProjectTask');
- } elseif ($pt->isError()) {
- exit_error('Error',$pt->getErrorMessage());
- }
+ $pt = createProjectTaskWithTaskId($pg, $project_task_id);
include $gfwww.'pm/deletetask.php';
} else {
exit_permission_denied();
@@ -397,12 +368,7 @@
case 'postdeletetask' : {
if ($pg->userIsAdmin()) {
- $pt= new ProjectTask($pg, $project_task_id);
- if (!$pt || !is_object($pt)) {
- exit_error('Error','Could Not Get ProjectTask');
- } elseif ($pt->isError()) {
- exit_error('Error', $pt->getErrorMessage());
- }
+ $pt = createProjectTaskWithTaskId($pg, $project_task_id);
if (!getStringFromRequest('confirm_delete')) {
$feedback .= _('Confirmation failed. Task not deleted');
} else {
@@ -440,12 +406,7 @@
// View a specific existing task
//
case 'detailtask' : {
- $pt=new ProjectTaskHTML($pg,$project_task_id);
- if (!$pt || !is_object($pt)) {
- exit_error('Error','Could Not Get ProjectTask');
- } elseif ($pt->isError()) {
- exit_error('Error',$pt->getErrorMessage());
- }
+ $pt = createProjectTaskHTMLWithTaskId($pg, $project_task_id);
if (session_loggedin() && $pg->userIsAdmin()) {
include $gfwww.'pm/mod_task.php';
} else {
@@ -462,6 +423,56 @@
}
+function creatProjectGroupHTML($group, $group_project_id){
+ $pg = new ProjectGroupHTML($group ,$group_project_id);
+ if (!$pg || !is_object($pg)) {
+ exit_error('Error','Could Not Get Factory');
+ } elseif ($pg->isError()) {
+ exit_error('Error',$pg->getErrorMessage());
+ }
+ return $pg;
+}
+
+function createProjectTask($projectGroup){
+ $projectTask = new ProjectTask($projectGroup);
+ if (!$projectTask || !is_object($projectTask)) {
+ exit_error('Error','Could Not Get ProjectTask');
+ } elseif ($projectTask->isError()) {
+ exit_error('Error',$projectTask->getErrorMessage());
+ }
+ return $projectTask;
+}
+
+function createProjectTaskHTML($projectGroup){
+ $projectTask = new ProjectTaskHTML($projectGroup);
+ if (!$projectTask || !is_object($projectTask)) {
+ exit_error('Error','Could Not Get ProjectTask');
+ } elseif ($projectTask->isError()) {
+ exit_error('Error',$projectTask->getErrorMessage());
+ }
+ return $projectTask;
+}
+
+function createProjectTaskWithTaskId($projectGroup, $project_task_id){
+ $projectTask = new ProjectTask($projectGroup, $project_task_id);
+ if (!$projectTask || !is_object($projectTask)) {
+ exit_error('Error','Could Not Get ProjectTask');
+ } elseif ($projectTask->isError()) {
+ exit_error('Error',$projectTask->getErrorMessage());
+ }
+ return $projectTask;
+}
+
+function createProjectTaskHTMLWithTaskId($projectGroup, $project_task_id){
+ $projectTask = new ProjectTaskHTML($projectGroup, $project_task_id);
+ if (!$projectTask || !is_object($projectTask)) {
+ exit_error('Error','Could Not Get ProjectTask');
+ } elseif ($projectTask->isError()) {
+ exit_error('Error',$projectTask->getErrorMessage());
+ }
+ return $projectTask;
+}
+
function updateCopiedTask($pg,$project_task_id,$summary,$details,$priority,$hours,$start_date,$end_date,$status_id,$category_id,$percent_complete,$assigned_to,$dependent_on,$new_group_project_id,$duration,$parent_id){
if ($pg->userIsAdmin()) {
@@ -471,12 +482,7 @@
$rem_artifact_id=array();
}
- $pt = new ProjectTask($pg,$project_task_id);
- if (!$pt || !is_object($pt)) {
- exit_error('Error','Could Not Get ProjectTask');
- } elseif ($pt->isError()) {
- exit_error('Error',$pt->getErrorMessage());
- }
+ $pt = createProjectTaskWithTaskId($pg, $project_task_id);
if (!$dependent_on) {
$dependent_on=array();
Modified: branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/themes/css/evolvis.css
===================================================================
--- branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/themes/css/evolvis.css 2010-06-01 15:45:01 UTC (rev 6670)
+++ branches/Changes-to-status-field-gforge-4.8.1+evolvis/www/themes/css/evolvis.css 2010-06-01 16:27:46 UTC (rev 6671)
@@ -387,7 +387,9 @@
.priority3{background-color:#dababa}
.priority4{background-color:#daaaaa}
.priority5{background-color:#da8a8a}
+.copyAndClosed{color:#A9A9A9; background-color:#ffffff}
+
.submitStandardInformation{color:#000000; font-weight:bold;}
.submitErrorInformation{color:#FF0000; font-weight:bold;}
.submitSuccessInformation{color:#00FF00; font-weight:bold;}
More information about the evolvis-commits
mailing list