From 4977e50585f47acd8ffdda76956f9bcdf83df8c3 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Fri, 11 Jan 2013 08:43:30 +0100 Subject: [PATCH] fix persons and sites registration pages for latest changes to AddPerson --- planetlab/persons/register.php | 15 +++++++++++---- planetlab/sites/register.php | 8 ++++++-- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/planetlab/persons/register.php b/planetlab/persons/register.php index b0dc35e..3b2c18d 100644 --- a/planetlab/persons/register.php +++ b/planetlab/persons/register.php @@ -133,7 +133,14 @@ function register_person ($person) { $errors = errors_init (); - // N.B.: site_ids and roles are ignored by AddPerson() + // jan-2013 with improvements in plcapi-5.1-6 about managing persons and tags, + // AddPerson has gone more picky and we need to remove some fields + // that no longer are silently ignored by AddPerson + $site_ids=$person['site_ids']; + unset ($person['site_ids']); + $roles=$person['roles']; + unset ($person['roles']); + $person_id = $adm->AddPerson($person); $errors = errors_record ($adm,$errors); @@ -141,15 +148,15 @@ function register_person ($person) { $adm->begin(); // Add person to requested sites - foreach ($person['site_ids'] as $site_id) { + foreach ($site_ids as $site_id) { $adm->AddPersonToSite($person_id, intval($site_id)); $adm->SetPersonPrimarySite($person_id, intval($site_id)); } // Add requested roles. Always add the user role. $adm->AddRoleToPerson('user', $person_id); - if (!empty($person['roles'])) { - foreach ($person['roles'] as $role) { + if (!empty($roles)) { + foreach ($roles as $role) { $adm->AddRoleToPerson($role, $person_id); } } diff --git a/planetlab/sites/register.php b/planetlab/sites/register.php index c9d59fc..56d2f7b 100644 --- a/planetlab/sites/register.php +++ b/planetlab/sites/register.php @@ -1,5 +1,4 @@ GetPersons(array("email"=>$tech['email'], "peer_id"=>NULL),array("person_id")); + // jan-2013 with improvements in plcapi-5.1-6 about managing persons and tags, + // AddPerson has gone more picky and we need to remove some fields + // that no longer are silently ignored by AddPerson + $user_role_required=$tech['user-role']; + unset($tech['user-role']); if ($known_tech) { $messages [] = " Note: Tech was already known"; $tech_id=$known_tech[0]['person_id']; @@ -163,7 +167,7 @@ EOF; if ($adm->AddRoleToPerson('tech',$tech_id)) { $verboses [] = $tech['email'] . " granted Tech role"; } - if ( ($tech['user-role']) && $adm->AddRoleToPerson('user',$tech_id) ) { + if ( $user_role_required && $adm->AddRoleToPerson('user',$tech_id) ) { $verboses [] = $tech['email'] . " granted User role"; } } -- 2.43.0