X-Git-Url: https://scm.fusionforge.org/anonscm/gitweb?p=fusionforge%2Ffusionforge.git;a=blobdiff_plain;f=src%2Fwww%2Fadmin%2Fuseredit.php;h=1dbfc175c0f3d5f13ae116ab6750ec986e91453a;hp=1a502c5a0f3e43319168ab6afb4db7f8b9d01985;hb=3acdc1174083f05ca76d3b79bb9a7ed921ff98b0;hpb=16429b97c13685b3b55ff8e9ebf61b72d206d2af
diff --git a/src/www/admin/useredit.php b/src/www/admin/useredit.php
index 1a502c5a0f..1dbfc175c0 100644
--- a/src/www/admin/useredit.php
+++ b/src/www/admin/useredit.php
@@ -4,6 +4,7 @@
*
* Copyright 1999-2001 (c) VA Linux Systems
* Copyright (C) 2011 Alain Peyrat - Alcatel-Lucent
+ * Copyright 2011, Franck Villaume - Capgemini
*
* This file is part of FusionForge. FusionForge is free software;
* you can redistribute it and/or modify it under the terms of the
@@ -25,8 +26,9 @@ require_once('../env.inc.php');
require_once $gfcommon.'include/pre.php';
require_once $gfcommon.'include/account.php';
require_once $gfwww.'admin/admin_utils.php';
+require_once $gfwww.'include/role_utils.php';
-session_require_global_perm ('forge_admin');
+session_require_global_perm('forge_admin');
$unix_status2str = array(
'N'=>_('No Unix account (N)'),
@@ -55,8 +57,9 @@ if (getStringFromRequest('delete_user') != '' && getStringFromRequest('confirm_d
$email = getStringFromRequest('email');
$shell = getStringFromRequest('shell');
$status = getStringFromRequest('status');
+ $addToProjectArray =getStringFromRequest('group_id_add_member');
- //XXX use_shell
+ //XXX use_shell
if (!$u->setEmail($email)
|| (forge_get_config('use_shell') && !$u->setShell($shell))
|| !$u->setStatus($status)) {
@@ -74,10 +77,34 @@ if (getStringFromRequest('delete_user') != '' && getStringFromRequest('confirm_d
}
}
+ foreach($addToProjectArray as $project_id_to_add) {
+ $feedbackMembership = '';
+ $error_msgMembership = '';
+ $projectRoleid = getIntFromRequest('role_id-'.$project_id_to_add);
+ $projectObjectAction = group_get_object($project_id_to_add);
+ if (!$projectObjectAction->addUser((int)$u->getID(), $projectRoleid)) {
+ echo $projectObjectAction->getErrorMessage().$u->getID();
+ $error_msgMembership .= $projectObjectAction->getErrorMessage().'
';
+ } else {
+ $feedbackMembership .= _("Added Successfully to project ").$projectObjectAction->getPublicName().'
';
+ //if the user have requested to join this group
+ //we should remove him from the request list
+ //since it has already been added
+ $gjr = new GroupJoinRequest($projectObjectAction, $u->getID());
+ if ($gjr || is_object($gjr) || !$gjr->isError()) {
+ $gjr->delete(true);
+ }
+ }
+ }
+
if ($u->isError()) {
$error_msg = $u->getErrorMessage();
+ if (isset($error_msgMembership) && sizeof($error_msgMembership))
+ $error_msg .= '
'.$error_msgMembership;
} else {
$feedback = _('Updated');
+ if (isset($feedbackMembership) && sizeof($feedbackMembership))
+ $feedback .= '
'.$feedbackMembership;
}
}
@@ -218,8 +245,6 @@ echo html_build_select_box_from_arrays(
} //end of sys_use_shell condition
?>
-
-
'._('This user is not a member of any project.').'
'; } -echo '