diff --git src/plugins/projects-hierarchy/actions/addChild.php src/plugins/projects-hierarchy/actions/addChild.php
index 1c7e692..cc7f40e 100644
--- src/plugins/projects-hierarchy/actions/addChild.php
+++ src/plugins/projects-hierarchy/actions/addChild.php
@@ -27,6 +27,8 @@
global $id;
$sub_project_id = getIntFromRequest('sub_project_id');
+if ($sub_project_id && $projectsHierarchy->is_child($sub_project_id))
+ $projectsHierarchy->redirect($_SERVER['HTTP_REFERER'], 'error_msg', _('This project already has a parent'));
if ($sub_project_id && $projectsHierarchy->addChild($id, $sub_project_id))
$projectsHierarchy->redirect($_SERVER['HTTP_REFERER'], 'feedback', _('Successfully added child'));
diff --git src/plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php src/plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php
index 311fbde..c110c19 100644
--- src/plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php
+++ src/plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php
@@ -37,6 +37,7 @@
$this->_addHook('site_admin_option_hook'); // to provide a link to the site wide administrative pages of plugin
$this->_addHook('display_hierarchy_submenu'); // to display a submenu in software map if projects-hierarchy plugin is used
$this->_addHook('docmansearch_has_hierarchy'); // used by the search menu in docman
+ $this->_addHook('clone_project_from_template'); // to add Child in project hierarchy
}
function CallHook($hookname, &$params) {
@@ -71,8 +72,13 @@
break;
}
case "group_delete": {
- $this->remove($params['group_id']);
- $returned = true;
+ if ($params['group']->usesPlugin($this->name)) {
+ if ($this->remove($params['group_id'])) {
+ $returned = true;
+ }
+ } else {
+ $returned = true;
+ }
break;
}
case "site_admin_option_hook": {
@@ -137,6 +143,10 @@
$returned = true;
break;
}
+ case "clone_project_from_template":
+ $project = $params['project'] ;
+ $this->add($project->getID());
+ break;
}
return $returned;
}
@@ -546,12 +556,12 @@
switch ($relation) {
case "parent": {
$qpa = db_construct_qpa($qpa, 'project_id = $1 AND sub_project_id = $2',
- array($project_id, $sub_project_id));
+ array($sub_project_id, $project_id));
break;
}
case "child": {
$qpa = db_construct_qpa($qpa, 'project_id = $1 AND sub_project_id = $2',
- array($sub_project_id, $project_id));
+ array($project_id, $sub_project_id));
break;
}
default: {
@@ -800,7 +810,8 @@
WHERE status = $1
AND group_id != $2
AND group_id <> ALL ($3)
- AND group_id IN (select group_id from group_plugin,plugins where group_plugin.plugin_id = plugins.plugin_id and plugins.plugin_name = $4);',
+ AND group_id IN (select group_id from group_plugin,plugins where group_plugin.plugin_id = plugins.plugin_id and plugins.plugin_name = $4)
+ order by group_name asc;',
array('A',
$group_id,
db_int_array_to_any_clause($family),
@@ -809,6 +820,20 @@
}
/**
+ * is_child - to verif if project already has a parent
+ *
+ * @param integer group_id
+ * @return bool true on success
+ * @access public
+ */
+ function is_child($group_id) {
+ if (count($this->getFamily($group_id, 'parent', true, 'any'))>0)
+ return true;
+ else
+ return false;
+ }
+
+ /**
* isUsed - is this plugin used by other projects than the current family ?
*
* @return bool yes or no
diff --git src/plugins/projects-hierarchy/view/admin_project_link.php src/plugins/projects-hierarchy/view/admin_project_link.php
index 67619d3..992a395 100644
--- src/plugins/projects-hierarchy/view/admin_project_link.php
+++ src/plugins/projects-hierarchy/view/admin_project_link.php
@@ -28,25 +28,39 @@
echo '
'._('Modify the hierarchy').'
';
+echo '';
$childs = $projectsHierarchy->getFamily($group_id, 'child', false, 'validated');
if (sizeof($childs)) {
foreach ($childs as $child) {
+ echo '';
$childGroup = group_get_object($child);
echo '';
+ echo ' |
';
}
}
-$parent = $projectsHierarchy->getFamily($group_id, 'parent', false, 'validated');
-if (sizeof($parent)) {
- $parentGroup = group_get_object($parent[0]);
- echo '';
+$parents = $projectsHierarchy->getFamily($group_id, 'parent', false, 'validated');
+if (sizeof($parents)) {
+ foreach ($parents as $parent) {
+ echo '';
+ $parentGroup = group_get_object($parent);
+ echo '';
+ echo ' |
';
+ }
}
+echo '
';
echo ''._('Add new child').'
';
if ($projectsHierarchy->isUsed($group_id)) {
@@ -60,15 +74,17 @@
}
echo ''._('Pending hierarchy request').'
';
-$pendingParent = $projectsHierarchy->getFamily($group_id, 'parent', false, 'pending');
-if (sizeof($pendingParent)) {
- $pendingParentGroup = group_get_object($pendingParent[0]);
- echo '';
+$pendingParents = $projectsHierarchy->getFamily($group_id, 'parent', false, 'pending');
+if (sizeof($pendingParents)) {
+ foreach ($pendingParents as $pendingParent) {
+ $pendingParentGroup = group_get_object($pendingParent);
+ echo '';
+ }
}
$pendingChilds = $projectsHierarchy->getFamily($group_id, 'child', false, 'pending');
@@ -84,5 +100,5 @@
}
}
-if (!sizeof($pendingParent) && !sizeof($pendingChilds))
+if (!sizeof($pendingParents) && !sizeof($pendingChilds))
echo ''._('No pending requests').'
';
diff --git src/plugins/projects-hierarchy/view/home_project_link.php src/plugins/projects-hierarchy/view/home_project_link.php
index f215b1f..cae4898 100644
--- src/plugins/projects-hierarchy/view/home_project_link.php
+++ src/plugins/projects-hierarchy/view/home_project_link.php
@@ -33,7 +33,7 @@
if (sizeof($parent)) {
echo '';
$parentGroup = group_get_object($parent[0]);
- echo '- '._('Parent Project')._(': ').util_make_link('/projects/'.$parentGroup->getUnixName(), $parentGroup->getPublicName(), array('class' => 'tabtitle', 'title' => _('Direct link to project'))).'
';
+ echo '- '.('Parent Project').': '.util_make_link('/projects/'.$parentGroup->getUnixName(), $parentGroup->getPublicName(), array('class' => 'tabtitle', 'title' => _('Direct link to project'))).'
';
echo '
';
}
if (sizeof($childs)) {
@@ -42,8 +42,8 @@
echo '';
foreach ($childs as $child) {
- $childGroup = group_get_object($child[0]);
- echo '- '._('Child project').' '.util_make_link('/projects/'.$childGroup->getUnixName(), $childGroup->getPublicName(), array('class' => 'tabtitle', 'title' => _('Direct link to project'))).'
';
+ $childGroup = group_get_object($child);
+ echo '- '._('Child project').': '.util_make_link('/projects/'.$childGroup->getUnixName(), $childGroup->getPublicName(), array('class' => 'tabtitle', 'title' => _('Direct link to project'))).'
';
}
echo '
';
}
diff --git src/translations/en.po src/translations/en.po
index 0fb539b..97150f5 100644
--- src/translations/en.po
+++ src/translations/en.po
@@ -20851,3 +20850,8 @@
# : common/forum/AttachManager.class.php : 92
msgid "Proceed with deletion?"
msgstr ""
\ No newline at end of file
+msgstr ""
+
+# : plugins/projects-hierarchy/view/admin_project_link.php : 65
+msgid "Add new child"
+msgstr ""
\ No newline at end of file
diff --git src/translations/fr.po src/translations/fr.po
index f7436ee..259f5e9 100644
--- src/translations/fr.po
+++ src/translations/fr.po
@@ -11962,114 +11962,99 @@
msgstr "Ajouter un label"
#: plugins/projects-hierarchy/actions/addChild.php:32
-#, fuzzy
msgid "Successfully added child"
-msgstr "Ajouté avec succès"
+msgstr "Projet fils ajouté avec succès"
#: plugins/projects-hierarchy/actions/addChild.php:34
-#, fuzzy
msgid "Failed to add child"
-msgstr "Échec lors de l'ajout de la compétence"
+msgstr "Échec lors de l'ajout du projet fils"
#: plugins/projects-hierarchy/actions/projectsHierarchyDocman.php:31
msgid "Successfully update status of hierarchical browsing"
-msgstr ""
+msgstr "Statut de navigation hiérarchique mise à jour"
#: plugins/projects-hierarchy/actions/projectsHierarchyDocman.php:33
msgid "Failed to update status of hierarchical browsing"
-msgstr ""
+msgstr "Impossible de mettre à jour l'état de la navigation hiérarchique"
#: plugins/projects-hierarchy/actions/removeChild.php:32
-#, fuzzy
msgid "Successfully removed child"
-msgstr "Fichier correctement supprimé."
+msgstr "Projet fils supprimé."
#: plugins/projects-hierarchy/actions/removeChild.php:34
-#, fuzzy
msgid "Failed to removed child"
-msgstr "Échec lors de l'ajout de la compétence"
+msgstr "Impossible de supprimer le projet fils."
#: plugins/projects-hierarchy/actions/removeParent.php:32
-#, fuzzy
msgid "Successfully removed parent"
-msgstr "Fichier correctement supprimé."
+msgstr "Projet parent supprimé"
#: plugins/projects-hierarchy/actions/removeParent.php:34
msgid "Failed to removed parent"
-msgstr ""
+msgstr "Impossible de supprimer le projet parent"
#: plugins/projects-hierarchy/actions/updateGlobalConf.php:37
msgid "Projects Hierarchy global configuration successfully updated."
-msgstr ""
+msgstr "Configuration globale de la hiérarchie de projet mises à jour."
#: plugins/projects-hierarchy/actions/updateProjectConf.php:34
-#, fuzzy
msgid "Failed to update configuration."
-msgstr "Incapable de mettre à jour les favoris"
+msgstr "Impossible de mettre à jour la configuration."
#: plugins/projects-hierarchy/actions/updateProjectConf.php:38
-#, fuzzy
msgid "Projects Hierarchy configuration successfully updated."
-msgstr "Informations du projet mises à jour"
+msgstr "Configuration de la hiérarchie de projet mises à jour."
#: plugins/projects-hierarchy/actions/validateRelationship.php:33
-#, fuzzy
msgid "Task done."
-msgstr "Numéro de tâche"
+msgstr "Action réalisée."
#: plugins/projects-hierarchy/actions/validateRelationship.php:35
-#, fuzzy
msgid "Failed to do task."
-msgstr "Échec lors de l'ajout de la compétence"
+msgstr "Échec de l'action à réaliser."
#: plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php:30
-#, fuzzy
msgid "Project Hierarchy"
-msgstr "Recherche de projet"
+msgstr "Hiérarchie de projet"
#: plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php:95
-#, fuzzy
msgid "Hierarchy Admin"
-msgstr "Tech et Admin"
+msgstr "Administration de la hiérarchie de projet"
#: plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php:95
#: plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php:604
msgid ""
"Configure the projets-hierarchy plugin (docman, tree, delegate, globalconf "
"features)"
-msgstr ""
+msgstr "Configure le plugin de la hiérarchie de projet (gestionnaire de document, arbre, delegation, configuration globale)"
#: plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php:119
-#, fuzzy
msgid "Per Category"
-msgstr "Catégorie mère"
+msgstr "Par catégorie"
#: plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php:120
-#, fuzzy
msgid "Per Hierarchy"
-msgstr "Recherche parmi les utilisateurs"
+msgstr "Par hiérarchie"
#: plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php:121
msgid ""
"Browse per category the available projects. Some projects might not appear "
"here they do not choose any categories"
-msgstr ""
+msgstr "Parcourir par catégorie les projets disponibles. Certains projets peuvent ne pas apparaître ici, si ils ne choisissent pas des catégories"
#: plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php:122
msgid ""
"Browse per hierarchy. Projects can share relationship between projects, as "
"father and sons"
-msgstr ""
+msgstr "Parcourir par hiérarchie. Les projets peuvent partager une relation entre les projets, en tant que père et fils"
#: plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php:604
-#, fuzzy
msgid "Global Hierarchy admin"
-msgstr "Recherche globale"
+msgstr "Administration globale de la hiérarchie"
#: plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php:621
-#, fuzzy
msgid "Site Global Hierarchy Admin"
-msgstr "Recherche globale"
+msgstr "Administration globale de la hiérarchie"
#: plugins/projects-hierarchy/include/hierarchy_utils.php:46
msgid "Link Type"
@@ -12084,14 +12069,12 @@
msgstr "Navigation"
#: plugins/projects-hierarchy/view/admin/viewGlobalConfiguration.php:37
-#, fuzzy
msgid "Enable Tree in projects tab."
-msgstr "Activer la création de documents en ligne"
+msgstr "Activer la création de documents en ligne."
#: plugins/projects-hierarchy/view/admin/viewGlobalConfiguration.php:38
-#, fuzzy
msgid "Enable Tree"
-msgstr "Activée"
+msgstr "Activer dans l'arbre des projets"
#: plugins/projects-hierarchy/view/admin/viewGlobalConfiguration.php:46
msgid "Enable hierarchical view for browsing in document manager."
@@ -12099,7 +12082,7 @@
#: plugins/projects-hierarchy/view/admin/viewGlobalConfiguration.php:47
msgid "Enable docman browsing"
-msgstr ""
+msgstr "Activer dans le gestionnaire de documents"
#: plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php:31
msgid "Cannot retrieve data from DB"
@@ -12112,31 +12095,29 @@
#: plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php:39
msgid "Enable visibily in hierarchy tree."
-msgstr ""
+msgstr "Activer la visibilité dans l'arbre des projets."
#: plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php:40
-#, fuzzy
msgid "Enable tree"
-msgstr "Activée"
+msgstr "Activer dans l'arbre des projets"
#: plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php:48
msgid ""
"Enable hierarchy in docman browsing. Direct access to docman features in "
"parent docman tab."
-msgstr ""
+msgstr "Activer la visibilité dans la navigation du gestionnaire de document. Accès direct aux informations du projet fils dans le gestionnaire de document parent."
#: plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php:49
msgid "Enable Docman."
-msgstr ""
+msgstr "Activer dans le gestionnaire de documents."
#: plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php:57
msgid "Enable full rights and configuration delegation to parent."
msgstr ""
#: plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php:58
-#, fuzzy
msgid "Enable delegate"
-msgstr "Elément supprimé"
+msgstr "Activer la délégation"
#: plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php:65
msgid ""
@@ -12145,89 +12126,75 @@
msgstr ""
#: plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php:66
-#, fuzzy
msgid "Use forge global configuration"
-msgstr "La configuration d'Apache a été réorganisée pour être plus modulaire."
+msgstr "Utiliser la configuraton globale de la Forge"
#: plugins/projects-hierarchy/view/admin_project_link.php:28
msgid "Modify the hierarchy"
msgstr "Modifier la hiérarchie"
#: plugins/projects-hierarchy/view/admin_project_link.php:30
-#, fuzzy
msgid "Select a project: "
-msgstr "Choisir un projet :"
+msgstr "Choisir un projet: "
#: plugins/projects-hierarchy/view/admin_project_link.php:32
-#, fuzzy
msgid "Add Child project"
-msgstr "Projet fils"
+msgstr "Ajouter projet fils"
#: plugins/projects-hierarchy/view/admin_project_link.php:40
#: plugins/projects-hierarchy/view/admin_project_link.php:50
#: plugins/projects-hierarchy/view/admin_project_link.php:61
#: plugins/projects-hierarchy/view/admin_project_link.php:73
-#, fuzzy
msgid "Browse this project"
-msgstr "Quitter ce projet ?"
+msgstr "Explorer ce projet"
#: plugins/projects-hierarchy/view/admin_project_link.php:41
-#, fuzzy
msgid "Remove child project"
-msgstr "Projet fils"
+msgstr "Supprimer projet fils"
#: plugins/projects-hierarchy/view/admin_project_link.php:51
-#, fuzzy
msgid "Remove parent project"
-msgstr "Projet parent"
+msgstr "Supprimer projet parent"
#: plugins/projects-hierarchy/view/admin_project_link.php:55
-#, fuzzy
msgid "Pending hierarchy request"
msgstr "Candidatures en attente"
#: plugins/projects-hierarchy/view/admin_project_link.php:61
-#, fuzzy
msgid "Validate parent"
-msgstr "Paramètre non valide"
+msgstr "Validation avec le projet parent"
#: plugins/projects-hierarchy/view/admin_project_link.php:63
#: plugins/projects-hierarchy/view/admin_project_link.php:75
-#, fuzzy
msgid "Send"
-msgstr "Expéditeur"
+msgstr "Envoyer"
#: plugins/projects-hierarchy/view/admin_project_link.php:73
msgid "Validate child"
-msgstr ""
+msgstr "Validation avec le projet fils"
#: plugins/projects-hierarchy/view/admin_project_link.php:81
-#, fuzzy
msgid "No pending requests"
-msgstr "Pas de document en attente."
+msgstr "Pas de demande en attente."
#: plugins/projects-hierarchy/view/docman_project_link.php:33
-#, fuzzy
msgid "Enable hierarchical browsing"
-msgstr "Activer le moteur de recherche"
+msgstr "Activer la recherche hiérarchique"
#: plugins/projects-hierarchy/view/docman_project_link.php:36
-#, fuzzy
msgid "Disable hierarchical browsing"
-msgstr "Désactiver le moteur de recherche"
+msgstr "Désactiver la recherche hiérarchique"
#: plugins/projects-hierarchy/view/home_project_link.php:32
msgid "Linked projects"
msgstr "Projets liés"
#: plugins/projects-hierarchy/view/home_project_link.php:36
-#, fuzzy
msgid "Parent Project"
msgstr "Projet parent"
#: plugins/projects-hierarchy/view/home_project_link.php:36
#: plugins/projects-hierarchy/view/home_project_link.php:46
-#, fuzzy
msgid "Direct link to project"
msgstr "Projet parent"
@@ -22844,6 +22811,10 @@
msgid "No User Name Provided"
msgstr "Aucun nom d'utilisateur n'a été fourni"
+# : plugins/projects-hierarchy/view/admin_project_link.php : 65
+msgid "Add new child"
+msgstr "Ajouter un nouvel enfant"
+
#~ msgid "Error Adding Document: No Storage API"
#~ msgstr "Erreur lors de l'ajoud d'un document : pas d'API de stockage."
diff --git src/translations/fusionforge.pot src/translations/fusionforge.pot
index b53273c..15ae97e 100644
--- src/translations/fusionforge.pot
+++ src/translations/fusionforge.pot
@@ -20850,3 +20849,8 @@
# : common/forum/AttachManager.class.php : 92
msgid "Proceed with deletion?"
msgstr ""
\ No newline at end of file
+msgstr ""
+
+# : plugins/projects-hierarchy/view/admin_project_link.php : 65
+msgid "Add new child"
+msgstr ""