[Fusionforge-commits] FusionForge branch 6.0 updated. v6.0.3-19-ga9b01c7

Sylvain Beucler beuc-inria at libremir.placard.fr.eu.org
Fri Oct 23 16:38:31 CEST 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".

The branch, 6.0 has been updated
       via  a9b01c7a7f948c5bbae71637bc9f3f9f8ef5627c (commit)
       via  c7ec28f33771bfcc734fd31676cf7e1ae5549ba0 (commit)
      from  6e8f8c4cd6bf7b3e6e6feb10d6e36a1969de726b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=a9b01c7a7f948c5bbae71637bc9f3f9f8ef5627c

commit a9b01c7a7f948c5bbae71637bc9f3f9f8ef5627c
Author: Sylvain Beucler <sylvain.beucler at inria.fr>
Date:   Fri Oct 23 16:37:28 2015 +0200

    projects-hierarchy: prevent auto-validation of parent-child requests [#796]

diff --git a/src/CHANGES b/src/CHANGES
index 1feca56..0fa454d 100644
--- a/src/CHANGES
+++ b/src/CHANGES
@@ -6,6 +6,7 @@ FusionForge 6.0.4:
 * Plugin MediaWiki: fix permission error when upgrading suspended projects database (Inria & TrivialDev)
 * Plugin Projects Hierarchy: don't display a project as possible child if there's no read access to it (Inria)
 * Plugin Projects Hierarchy: mask delegation checkbox until implementation is complete [#797] (Inria)
+* Plugin Projects Hierarchy: prevent auto-validation of parent-child requests [#796] (Inria)
 
 FusionForge 6.0.3:
 * Layout: fix rss url when url is absolute (TrivialDev)
diff --git a/src/plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php b/src/plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php
index 57ca2de..4b4f87a 100644
--- a/src/plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php
+++ b/src/plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php
@@ -522,11 +522,6 @@ _('Organise projects hierarchicaly, relation type 1-n');
 										array($sub_project_id, $project_id));
 							break;
 						}
-						case 'child': {
-							$qpa = db_construct_qpa($qpa, ' WHERE project_id = $1 AND sub_project_id = $2',
-										array($project_id, $sub_project_id));
-							break;
-						}
 						default: {
 							return false;
 							break;
@@ -805,12 +800,20 @@ _('Organise projects hierarchicaly, relation type 1-n');
 						$group_id,
 						db_int_array_to_any_clause($family),
 						$this->name));
-		if ($son & db_numrows($son)) {
-			if (!forge_check_perm('project_read', $son->getID()))
-				continue;
+		$group_ids = array();
+		$group_names = array();
+		if ($son && db_numrows($son)) {
+			while ($arr = db_fetch_array($son)) {
+				if (forge_check_perm('project_read', $arr['group_id'])) {
+					$group_ids[] = $arr['group_id'];
+					$group_names[] = $arr['group_name'];
+				}
+			}
+		}
+		if (count($group_ids)) {
 			$content = $HTML->openForm(array('method' => 'post', 'action' => '/plugins/'.$this->name.'/?type=group&action=addChild&id='.$group_id));
 			$content .= _('Select a project')._(':');
-			$content .= html_build_select_box($son, $name, $selected, false);
+			$content .= html_build_select_box_from_arrays($group_ids, $group_names, $name, $selected, false);
 			$content .= html_e('input', array('type' => 'submit', 'value' => _('Add Child project')));
 			$content .= $HTML->closeForm();
 		} else {
diff --git a/src/plugins/projects-hierarchy/view/admin_project_link.php b/src/plugins/projects-hierarchy/view/admin_project_link.php
index 05969f5..3212aae 100644
--- a/src/plugins/projects-hierarchy/view/admin_project_link.php
+++ b/src/plugins/projects-hierarchy/view/admin_project_link.php
@@ -29,32 +29,42 @@ $projectsHierarchy = plugin_get_object('projects-hierarchy');
 
 echo html_e('h3', array(), _('Modify the hierarchy'));
 
+$parent = $projectsHierarchy->getFamily($group_id, 'parent', false, 'validated');
+if (sizeof($parent)) {
+	echo html_e('h4', array(), _('Parent'));
+	$parentGroup = group_get_object($parent[0]);
+	echo $HTML->openForm(array('method' => 'post', 'action' => '/plugins/'.$projectsHierarchy->name.'/?type=group&action=removeParent&id='.$group_id.'&parent_id='.$parentGroup->getID()));
+	echo util_make_link('/projects/'.$parentGroup->getUnixName(),$parentGroup->getPublicName(),array('title'=>_('Browse this project')));
+	echo ' <input type="submit" value="'._('Remove parent project').'">';
+	echo $HTML->closeForm();
+}
+
 $childs = $projectsHierarchy->getFamily($group_id, 'child', false, 'validated');
 if (sizeof($childs)) {
+	echo html_e('h4', array(), _('Children'));
 	foreach ($childs as $child) {
 		$childGroup = group_get_object($child);
 		echo $HTML->openForm(array('method' => 'post', 'action' => '/plugins/'.$projectsHierarchy->name.'/?type=group&action=removeChild&id='.$group_id.'&child_id='.$childGroup->getID()));
 		echo util_make_link('/projects/'.$childGroup->getUnixName(),$childGroup->getPublicName(),array('title'=>_('Browse this project')));
-		echo '<input type="submit" value="'._('Remove child project').'">';
+		echo ' <input type="submit" value="'._('Remove child project').'">';
 		echo $HTML->closeForm();
 	}
 }
 
-$parent = $projectsHierarchy->getFamily($group_id, 'parent', false, 'validated');
-if (sizeof($parent)) {
-	$parentGroup = group_get_object($parent[0]);
-	echo $HTML->openForm(array('method' => 'post', 'action' => '/plugins/'.$projectsHierarchy->name.'/?type=group&action=removeParent&id='.$group_id.'&parent_id='.$parentGroup->getID()));
-	echo util_make_link('/projects/'.$parentGroup->getUnixName(),$parentGroup->getPublicName(),array('title'=>_('Browse this project')));
-	echo '<input type="submit" value="'._('Remove parent project').'">';
-	echo $HTML->closeForm();
+$childs = $projectsHierarchy->getFamily($group_id, 'child', false, 'pending');
+if (sizeof($childs)) {
+	echo html_e('h4', array(), _('Pending'));
+	foreach ($childs as $child) {
+		$childGroup = group_get_object($child);
+		echo $HTML->openForm(array('method' => 'post', 'action' => '/plugins/'.$projectsHierarchy->name.'/?type=group&action=removeChild&id='.$group_id.'&child_id='.$childGroup->getID()));
+		echo util_make_link('/projects/'.$childGroup->getUnixName(),$childGroup->getPublicName(),array('title'=>_('Browse this project')));
+		echo ' <input type="submit" value="'._('Remove child project').'">';
+		echo $HTML->closeForm();
+	}
 }
 
 echo html_e('h4', array(), _('Add new child'));
-if ($projectsHierarchy->isUsed($group_id)) {
-	echo $projectsHierarchy->son_box($group_id, 'sub_project_id', '0');
-} else {
-	echo $HTML->information(_('No other project using project hierarchy plugin.'));
-}
+echo $projectsHierarchy->son_box($group_id, 'sub_project_id', '0');
 
 echo html_e('h4', array(), _('Pending hierarchy request'));
 $pendingParent = $projectsHierarchy->getFamily($group_id, 'parent', false, 'pending');
@@ -64,22 +74,9 @@ if (sizeof($pendingParent)) {
 	echo '<input type="hidden" name="validation_id" value="'.$pendingParent[0].'" />';
 	echo _('Validate parent').' '.util_make_link('/projects/'.$pendingParentGroup->getUnixName(), $pendingParentGroup->getPublicName(), array('title'=>_('Browse this project')));
 	echo html_build_select_box_from_arrays(array(1,0), array(_('Yes'), _('No')), 'validation_status', 'xzxz', false);
-	echo '<input type="submit" value="'. _('Send') .'" />';
+	echo ' <input type="submit" value="'. _('Send') .'" />';
 	echo $HTML->closeForm();
 }
 
-$pendingChilds = $projectsHierarchy->getFamily($group_id, 'child', false, 'pending');
-if (sizeof($pendingChilds)) {
-	foreach ($pendingChilds as $pendingChild) {
-		$pendingChildGroup = group_get_object($pendingChild);
-		echo $HTML->openForm(array('method' => 'post', 'action' => '/plugins/'.$projectsHierarchy->name.'/?type=group&action=validateRelationship&id='.$group_id.'&relation=child'));
-		echo '<input type="hidden" name="validation_id" value="'.$pendingChild.'" />';
-		echo _('Validate child').' '.util_make_link('/projects/'.$pendingChildGroup->getUnixName(), $pendingChildGroup->getPublicName(), array('title'=>_('Browse this project')));
-		echo html_build_select_box_from_arrays(array(1,0), array(_('Yes'), _('No')), 'validation_status', 'xzxz', false);
-		echo '<input type="submit" value="'. _('Send') .'" />';
-		echo $HTML->closeForm();
-	}
-}
-
-if (!sizeof($pendingParent) && !sizeof($pendingChilds))
+if (!sizeof($pendingParent))
 	echo $HTML->information(_('No pending requests'));

https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=c7ec28f33771bfcc734fd31676cf7e1ae5549ba0

commit c7ec28f33771bfcc734fd31676cf7e1ae5549ba0
Author: Sylvain Beucler <sylvain.beucler at inria.fr>
Date:   Fri Oct 23 15:14:19 2015 +0200

    projects-hierarchy: mask delegation checkbox until implementation is complete [#797]

diff --git a/src/CHANGES b/src/CHANGES
index 2fe8e5f..1feca56 100644
--- a/src/CHANGES
+++ b/src/CHANGES
@@ -5,6 +5,7 @@ FusionForge 6.0.4:
 * Plugin scmhook: fix non-editable mailing list name in some configurations (Inria)
 * Plugin MediaWiki: fix permission error when upgrading suspended projects database (Inria & TrivialDev)
 * Plugin Projects Hierarchy: don't display a project as possible child if there's no read access to it (Inria)
+* Plugin Projects Hierarchy: mask delegation checkbox until implementation is complete [#797] (Inria)
 
 FusionForge 6.0.3:
 * Layout: fix rss url when url is absolute (TrivialDev)
diff --git a/src/plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php b/src/plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php
index 3e58d6e..4d9230a 100644
--- a/src/plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php
+++ b/src/plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php
@@ -50,6 +50,8 @@ if (!$projectsHierarchyProjectConf) {
 	$cells[][] = html_e('input', $inputAttrs);
 	echo $HTML->multiTableRow(array(), $cells);
 
+	/* Not Yet Implemented */
+	/*
 	$cells = array();
 	$cells[][] = html_e('label', array('id' => 'projectsHierarchy-delegate', 'title' => _('Enable full rights and configuration delegation to parent.')), _('Enable delegate'));
 	$inputAttrs = array('type' => 'checkbox', 'name' => 'delegate', 'value' => 1);
@@ -57,6 +59,7 @@ if (!$projectsHierarchyProjectConf) {
 		$inputAttrs['checked'] = 'checked';
 	$cells[][] = html_e('input', $inputAttrs);
 	echo $HTML->multiTableRow(array(), $cells);
+	*/
 
 	$cells = array();
 	$cells[][] = html_e('label', array('id' => 'projectsHierarchy-globalconf', 'title' => _('Use forge global configuration. Superseed any configuration done at project level.')), _('Enable forge global configuration'));

-----------------------------------------------------------------------

Summary of changes:
 src/CHANGES                                        |  2 +
 .../common/projects-hierarchyPlugin.class.php      | 21 +++++----
 .../view/admin/viewProjectConfiguration.php        |  3 ++
 .../projects-hierarchy/view/admin_project_link.php | 53 ++++++++++------------
 4 files changed, 42 insertions(+), 37 deletions(-)


hooks/post-receive
-- 
FusionForge



More information about the Fusionforge-commits mailing list