[evolvis-commits] r9147: adding ability to move task to other subp?==?UTF-8?Q?roject↵
mirabilos at evolvis.org
mirabilos at evolvis.org
Thu Feb 24 17:19:24 CET 2011
Author: mirabilos
Date: 2011-02-24 17:19:24 +0100 (Thu, 24 Feb 2011)
New Revision: 9147
Modified:
trunk/gforge_base/evolvisforge-5.1/gforge/common/pm/ProjectTask.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
trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/include/ProjectGroupHTML.class
trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/mod_task.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/task.php
Log:
adding ability to move task to other subproject
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/common/pm/ProjectTask.class
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/pm/ProjectTask.class 2011-02-24 16:19:22 UTC (rev 9146)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/pm/ProjectTask.class 2011-02-24 16:19:24 UTC (rev 9147)
@@ -687,10 +687,11 @@
* @param int The percentage of completion in integer format of this task.
* @param array An array of user_id's that are assigned this task.
* @param array An array of project_task_id's that this task depends on.
+ * @param int The GroupProjectID of a new subproject that you want to move this Task to.
* @return boolean success.
*/
function update($summary,$details,$priority,$hours,$start_date,$end_date,
- $status_id,$category_id,$percent_complete,&$assigned_arr,&$depend_arr) {
+ $status_id,$category_id,$percent_complete,&$assigned_arr,&$depend_arr,$new_group_project_id) {
$v = new Validator();
$v->check($summary, "summary");
$v->check($priority, "priority");
@@ -712,6 +713,37 @@
}
db_begin();
+
+ //
+ // Attempt to move this Task to a new Subproject
+ // need to instantiate new ProjectGroup obj and test if it works
+ //
+ $group_project_id = $this->ProjectGroup->getID();
+ if ($new_group_project_id != $group_project_id) {
+ $newProjectGroup= new ProjectGroup($this->ProjectGroup->getGroup(), $new_group_project_id);
+ if (!is_object($newProjectGroup) || $newProjectGroup->isError()) {
+ $this->setError('ProjectTask: Could not move to new ProjectGroup'. $newProjectGroup->getErrorMessage());
+ db_rollback();
+ return false;
+ }
+ /* do they have perms for new ArtifactType?
+ if (!$newArtifactType->userIsAdmin()) {
+ $this->setPermissionDeniedError();
+ db_rollback();
+ return false;
+ }*/
+ //
+ // Now set ProjectGroup, Category, and Assigned to 100 in the new ProjectGroup
+ //
+ $status_id=1;
+ $category_id='100';
+ unset($assigned_to);
+ $assigned_to=array('100');
+ $this->ProjectGroup =& $newProjectGroup;
+ $this->addHistory ('group_project_id',$group_project_id);
+ }
+
+
if ($details) {
if (!$this->addMessage($details)) {
db_rollback();
@@ -772,8 +804,9 @@
end_date='$end_date',
status_id='$status_id',
percent_complete='$percent_complete',
- category_id='$category_id'
- WHERE group_project_id='".$this->ProjectGroup->getID()."'
+ category_id='$category_id',
+ group_project_id='$new_group_project_id'
+ WHERE group_project_id='$group_project_id'
AND project_task_id='".$this->getID()."'";
$res=db_query($sql);
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:19:22 UTC (rev 9146)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/include/languages/Base.tab 2011-02-24 16:19:24 UTC (rev 9147)
@@ -1234,7 +1234,7 @@
pm_admin_projects category_inserted Category Inserted
pm_admin_projects category_name Category Name
pm_admin_projects category_note Once you add a category, it cannot be deleted
-pm_admin_projects category_note2 It is not recommended that you change the artifact category name because other things are dependent upon it. When you change the category name, all related items will be changed to the new name.</font></strong>
+pm_admin_projects category_note2 It is not recommended that you change the category name because other things are dependent upon it. When you change the category name, all related items will be changed to the new name.</font></strong>
pm_admin_projects category_updated Category Updated
pm_admin_projects change_project_intro You can modify an existing Project using this form. Please note that private projects can still be viewed by members of your project, but not the general public.
pm_admin_projects change_project_title Change Project/Task Manager Status
@@ -1271,6 +1271,7 @@
pm_browsetask overdue_tasks * Denotes overdue tasks
pm_browsetask previous previous 50
pm_browsetask title Browse tasks
+pm_detailtask subproject Subproject
pm_detailtask assigned_to Assigned To
pm_detailtask category Category
pm_detailtask dependend_on_task Dependent On Task
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:19:22 UTC (rev 9146)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/browse_task.php 2011-02-24 16:19:24 UTC (rev 9147)
@@ -233,7 +233,9 @@
'<br />'. $pg->statusBox ('status_id','xzxz',true,$Language->getText('pm_browsetask','no_change')) .'</td>
</tr>
- <tr><td colspan="3" align="middle"><input type="submit" name="submit" value="'.
+ <tr><td><strong>'.$Language->getText('pm_detailtask','subproject').'</strong><br />
+ '.$pg->groupProjectBox('new_group_project_id',$group_project_id,false).'</td>
+ <td align="middle"><input type="submit" name="submit" value="'.
$Language->getText('pm_browsetask','mass_update').'"></td></tr>
</table>
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/include/ProjectGroupHTML.class
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/include/ProjectGroupHTML.class 2011-02-24 16:19:22 UTC (rev 9146)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/include/ProjectGroupHTML.class 2011-02-24 16:19:24 UTC (rev 9147)
@@ -76,6 +76,13 @@
return html_build_select_box($this->getCategories(),$name,$checked,$show_100,$text_100);
}
+ function groupProjectBox($name='group_project_id',$checked='xzxz',$show_100=true,$text_100='None') {
+ $res=db_query("SELECT group_project_id,project_name
+ FROM project_group_list
+ WHERE group_id='".$this->Group->getID()."'");
+ return html_build_select_box($res,$name,$checked,$show_100,$text_100);
+ }
+
function percentCompleteBox($name='percent_complete',$selected=0) {
global $Language;
echo '
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/mod_task.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/mod_task.php 2011-02-24 16:19:22 UTC (rev 9146)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/mod_task.php 2011-02-24 16:19:24 UTC (rev 9147)
@@ -29,17 +29,20 @@
<table border="0" width="100%">
<tr>
- <td><strong><?php echo $Language->getText('pm_modtask','submitted_by') ?>:</strong><br /><?php echo $pt->getSubmittedRealName(); ?> (<?php echo $pt->getSubmittedUnixName(); ?>)</td>
+ <td><strong><?php echo $Language->getText('pm_modtask','submitted_by') ?>:</strong><br />
+ <?php echo $pt->getSubmittedRealName(); ?> (<?php echo $pt->getSubmittedUnixName(); ?>)</td>
+ <td><input type="submit" value="<?php echo $Language->getText('general','submit') ?>" name="submit" /></td>
</tr>
<tr>
<td>
- <strong><?php echo $Language->getText('pm','category') ?>:</strong><br />
- <?php echo $pg->categoryBox('category_id',$pt->getCategoryID()); ?> <a href="/pm/admin/?<?php echo "group_id=$group_id&add_cat=1&group_project_id=$group_project_id"; ?>">(admin)</a>
+ <strong><?php echo $Language->getText('pm','category') ?>:</strong><br />
+ <?php echo $pg->categoryBox('category_id',$pt->getCategoryID()); ?> <a href="/pm/admin/?<?php echo "group_id=$group_id&add_cat=1&group_project_id=$group_project_id"; ?>">(admin)</a>
</td>
<td>
- <input type="submit" value="<?php echo $Language->getText('general','submit') ?>" name="submit" />
+ <strong><?php echo $Language->getText('pm_detailtask','subproject'); ?>:</strong><br />
+ <?php echo $pg->groupProjectBox('new_group_project_id',$group_project_id,false); ?>
</td>
</tr>
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/task.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/task.php 2011-02-24 16:19:22 UTC (rev 9146)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/task.php 2011-02-24 16:19:24 UTC (rev 9147)
@@ -113,7 +113,7 @@
$start_date=mktime($start_hour,$start_minute,0,$start_month,$start_day,$start_year);
$end_date=mktime($end_hour,$end_minute,0,$end_month,$end_day,$end_year);
if (!$pt->update($summary,$details,$priority,$hours,$start_date,$end_date,
- $status_id,$category_id,$percent_complete,$assigned_to,$dependent_on)) {
+ $status_id,$category_id,$percent_complete,$assigned_to,$dependent_on,$new_group_project_id)) {
exit_error('ERROR','update():: '.$pt->getErrorMessage());
} else {
if (count($rem_artifact_id) > 0) {
@@ -156,9 +156,10 @@
//conflicts with the "no change" ID! Sorry for messy use of 100.1
$_assigned_to=(($assigned_to != '100.1') ? $pt->getAssignedTo() : array('100'));
$_dependent_on=$pt->getDependentOn();
+ $_new_group_project_id=(($new_group_project_id != 100) ? $new_group_project_id : $pt->ProjectGroup->getID() );
if (!$pt->update($_summary,$_details,$_priority,$_hours,$_start_date,$_end_date,
- $_status_id,$_category_id,$_percent_complete,$_assigned_to,$_dependent_on)) {
+ $_status_id,$_category_id,$_percent_complete,$_assigned_to,$_dependent_on,$_new_group_project_id)) {
$was_error=true;
$feedback .= ' ID: '.$project_task_id_list[$i].'::'.$pt->getErrorMessage();
More information about the evolvis-commits
mailing list