Andrew Bogott has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/268833

Change subject: Attempt to distinguish between project names and project IDs.
......................................................................

Attempt to distinguish between project names and project IDs.

In the keystone future these will not be the same thing.

Bug: T115029
Change-Id: Ie46939a2f8a0a57ed09865acc35d1e33649045cf
---
M OpenStackManager.php
M nova/OpenStackNovaController.php
M nova/OpenStackNovaProject.php
M nova/OpenStackNovaUser.php
M special/SpecialNovaProject.php
M special/SpecialNovaRole.php
6 files changed, 138 insertions(+), 85 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/OpenStackManager 
refs/changes/33/268833/1

diff --git a/OpenStackManager.php b/OpenStackManager.php
index cf2d139..c8b24ec 100644
--- a/OpenStackManager.php
+++ b/OpenStackManager.php
@@ -153,6 +153,7 @@
 $wgOpenStackManagerRemoveUserFromBastionProjectOnShellDisable = false;
 // 'bastion' project name
 $wgOpenStackManagerBastionProjectName = 'bastion';
+$wgOpenStackManagerBastionProjectId = 'bastion';
 // Base URL for puppet docs. Classname will be appended with s/::/\//g
 $wgOpenStackManagerPuppetDocBase = '';
 /**
diff --git a/nova/OpenStackNovaController.php b/nova/OpenStackNovaController.php
index a7bbaec..dd9af57 100644
--- a/nova/OpenStackNovaController.php
+++ b/nova/OpenStackNovaController.php
@@ -304,6 +304,19 @@
        }
 
        /**
+        * @return string
+        */
+       function getProjectName( $projectid ) {
+               $admintoken = $this->_getAdminToken();
+               $headers = array( "X-Auth-Token: $admintoken" );
+
+               $userarr = array();
+               $ret = $this->restCall( 'identity', "/tenants/$projectid", 
'GET', array(), $headers );
+               $tenant = self::_get_property( $ret['body'], 'tenant' );
+               return $tenant->name;
+       }
+
+       /**
         * @return array of user ids
         */
        function getUsersInProject( $projectid ) {
diff --git a/nova/OpenStackNovaProject.php b/nova/OpenStackNovaProject.php
index d40072a..9d74723 100644
--- a/nova/OpenStackNovaProject.php
+++ b/nova/OpenStackNovaProject.php
@@ -26,8 +26,9 @@
         * @param  $projectname
         * @param bool $load
         */
-       function __construct( $projectname, $load=true ) {
-               $this->projectname = $projectname;
+       function __construct( $projectid, $load=true ) {
+               $this->projectid = $projectid;
+               $this->projectname = "";
                if ( $load ) {
                        OpenStackNovaLdapConnection::connect();
                        $this->fetchProjectInfo();
@@ -36,20 +37,24 @@
                }
        }
 
-       /**
-        * This isn't done in the constructor to maintain
-        * compatibility with the old ldap Project object
-        */
-       public function setId( $projectid ) {
-               $this->projectid = $projectid;
+       public function setName( $projectname ) {
+               $this->projectname = $projectname;
        }
 
        public function getName() {
+               if ( !$this->projectname ) {
+                       $this->loadProjectName();
+               }
                return $this->projectname;
        }
 
        public function getId() {
                return $this->projectid;
+       }
+
+       function loadProjectName() {
+               $controller = OpenstackNovaProject::getController();
+               $this->projectname = $controller->getProjectName( 
$this->projectid );
        }
 
        /**
@@ -62,6 +67,10 @@
 
                if ( $this->loaded and !$refresh ) {
                        return;
+               }
+
+               if ( !$this->projectname || $refresh ) {
+                       $this->loadProjectName();
                }
 
                $this->roles = array();
@@ -167,9 +176,8 @@
         * @return  string
         */
        function getProjectName() {
-               return $this->projectname;
+               return $this->getName();
        }
-
 
        /**
         * Returns the corresponding ProjectGroup for this Project.
@@ -307,7 +315,6 @@
                global $wgLDAPUserBaseDNs;
                $membernames = $this->getMembers();
                $memberDNs = array();
-               var_dump_pre($wgLDAPUserBaseDNs);
                $dnstring = implode(",",$wgLDAPUserBaseDNs);
                foreach ($membernames as $member) {
                        $memberDNs[] = "uid=$member,$dnstring";
@@ -503,21 +510,39 @@
 
        /**
         * Return a project by its project name. Returns null if the project 
does not exist.
+        *  This function is terrible and should be used sparingly
         *
         * @static
         * @param  $projectname
         * @return null|OpenStackNovaProject
         */
        static function getProjectByName( $projectname ) {
-               if ( isset( self::$projectCache[ $projectname ] ) ) {
-                       return self::$projectCache[ $projectname ];
+               $projects = self::getAllProjects();
+               foreach ( $projects as $project ) {
+                       if ( $project->getProjectName() == $projectname ) {
+                               return $project;
+                       }
                }
-               $project = new OpenStackNovaProject( $projectname );
+               return null;
+       }
+
+       /**
+        * Return a project by its project id. Returns null if the project does 
not exist.
+        *
+        * @static
+        * @param  $projectname
+        * @return null|OpenStackNovaProject
+        */
+       static function getProjectById( $projectid ) {
+               if ( isset( self::$projectCache[ $projectid ] ) ) {
+                       return self::$projectCache[ $projectid ];
+               }
+               $project = new OpenStackNovaProject( $projectid );
                if ( $project->projectInfo ) {
                        if ( count( self::$projectCache ) >= 
self::$projectCacheMaxSize ) {
                                array_shift( self::$projectCache );
                        }
-                       self::$projectCache[ $projectname ] = $project;
+                       self::$projectCache[ $projectid ] = $project;
                        return $project;
                } else {
                        return null;
@@ -542,6 +567,17 @@
                $projects = array();
                foreach ( $projectnames as $projectname ) {
                        $project = self::getProjectByName( $projectname );
+                       if ( $project ) {
+                               $projects[] = $project;
+                       }
+               }
+               return $projects;
+       }
+
+       static function getProjectsById( $projectids ) {
+               $projects = array();
+               foreach ( $projectids as $projectid ) {
+                       $project = self::getProjectById( $projectid );
                        if ( $project ) {
                                $projects[] = $project;
                        }
@@ -579,8 +615,8 @@
                $projectHash = $controller->getProjects();
                $projects = array();
                foreach( $projectHash as $id => $name ) {
-                       $project = new OpenStackNovaProject( $name, false );
-                       $project->setId( $id );
+                       $project = new OpenStackNovaProject( $id, false );
+                       $project->setName( $name );
                        $projects[] = $project;
                }
 
@@ -650,12 +686,12 @@
                        }
                } else {
                        $wgAuth->printDebug( "Failed to add project 
$projectname", NONSENSITIVE );
-                       return false;
+                       return null;
                }
 
                OpenStackNovaProject::createServiceGroupOUs( $projectname );
 
-               return true;
+               return $project;
        }
 
        /**
@@ -705,12 +741,12 @@
         * @param  $projectname String
         * @return bool
         */
-       static function deleteProject( $projectname ) {
+       static function deleteProject( $projectid ) {
                global $wgAuth;
 
                OpenStackNovaLdapConnection::connect();
 
-               $project = new OpenStackNovaProject( $projectname );
+               $project = new OpenStackNovaProject( $projectid );
                if ( ! $project ) {
                        return false;
                }
diff --git a/nova/OpenStackNovaUser.php b/nova/OpenStackNovaUser.php
index 94c81fb..7ab064f 100644
--- a/nova/OpenStackNovaUser.php
+++ b/nova/OpenStackNovaUser.php
@@ -623,13 +623,13 @@
        }
 
        public static function addUserToBastionProject( $user, &$group ) {
-               global $wgOpenStackManagerBastionProjectName;
+               global $wgOpenStackManagerBastionProjectId;
 
                if( User::groupHasPermission( $group, 'loginviashell' ) ) {
                        // Add the user to the bastion project if not already a
                        // member.
                        $username = $user->getName();
-                       $project = new OpenStackNovaProject( 
$wgOpenStackManagerBastionProjectName );
+                       $project = new OpenStackNovaProject( 
$wgOpenStackManagerBastionProjectId );
                        if( !in_array( $username, $project->getMembers() ) ) {
                                $project->addMember( $username );
                        }
@@ -640,7 +640,7 @@
        public static function removeUserFromBastionProject( $user, &$group ) {
                global 
$wgOpenStackManagerRemoveUserFromBastionProjectOnShellDisable;
                global 
$wgOpenStackManagerRemoveUserFromAllProjectsOnShellDisable;
-               global $wgOpenStackManagerBastionProjectName;
+               global $wgOpenStackManagerBastionProjectId;
 
                // Check whether after removing the group the user would still
                // have the loginviashell permission.
@@ -665,14 +665,14 @@
                if( $wgOpenStackManagerRemoveUserFromAllProjectsOnShellDisable 
) {
                        // Get a users projects
                        $userLDAP = new OpenStackNovaUser( $username );
-                       foreach( $userLDAP->getProjects() as $projectName ) {
+                       foreach( $userLDAP->getProjects() as $projectId ) {
                                // Remove the user from the project
-                               $project = new OpenStackNovaProject( 
$projectName );
+                               $project = new OpenStackNovaProject( $projectId 
);
                                $project->deleteMember( $username );
                        }
                } elseif( 
$wgOpenStackManagerRemoveUserFromBastionProjectOnShellDisable ) {
                        // Remove the user from the bastion project
-                       $project = new OpenStackNovaProject( 
$wgOpenStackManagerBastionProjectName );
+                       $project = new OpenStackNovaProject( 
$wgOpenStackManagerBastionProjectId );
                        if( in_array( $username, $project->getMembers() ) ) {
                                $project->deleteMember( $username );
                        }
diff --git a/special/SpecialNovaProject.php b/special/SpecialNovaProject.php
index 722ee7b..72da07a 100644
--- a/special/SpecialNovaProject.php
+++ b/special/SpecialNovaProject.php
@@ -55,7 +55,7 @@
                $this->setHeaders();
                $this->getOutput()->setPagetitle( $this->msg( 
'openstackmanager-addmember' ) );
 
-               $project = $this->getRequest()->getText( 'projectname' );
+               $project = $this->getRequest()->getText( 'projectid' );
                if ( !$this->userCanExecute( $this->getUser() ) && 
!$this->userLDAP->inRole( 'projectadmin', $project ) ) {
                        $this->notInRole( 'projectadmin', $project );
                        return false;
@@ -72,10 +72,10 @@
                        'default' => 'addmember',
                        'name' => 'action',
                );
-               $projectInfo['projectname'] = array(
+               $projectInfo['projectid'] = array(
                        'type' => 'hidden',
                        'default' => $project,
-                       'name' => 'projectname',
+                       'name' => 'projectid',
                );
 
                $projectForm = new HTMLForm(
@@ -97,12 +97,12 @@
                $this->setHeaders();
                $this->getOutput()->setPagetitle( $this->msg( 
'openstackmanager-removemember' ) );
 
-               $projectname = $this->getRequest()->getText( 'projectname' );
-               if ( !$this->userCanExecute( $this->getUser() ) && 
!$this->userLDAP->inRole( 'projectadmin', $projectname ) ) {
-                       $this->notInRole( 'projectadmin', $projectname );
+               $projectid = $this->getRequest()->getText( 'projectid' );
+               if ( !$this->userCanExecute( $this->getUser() ) && 
!$this->userLDAP->inRole( 'projectadmin', $projectid ) ) {
+                       $this->notInRole( 'projectadmin', $projectid );
                        return false;
                }
-               $project = OpenStackNovaProject::getProjectByName( $projectname 
);
+               $project = OpenStackNovaProject::getProjectByName( $projectid );
                $projectmembers = $project->getMembers();
                $member_keys = array();
                foreach ( $projectmembers as $projectmember ) {
@@ -120,10 +120,10 @@
                        'default' => 'deletemember',
                        'name' => 'action',
                );
-               $projectInfo['projectname'] = array(
+               $projectInfo['projectid'] = array(
                        'type' => 'hidden',
-                       'default' => $projectname,
-                       'name' => 'projectname',
+                       'default' => $projectid,
+                       'name' => 'projectid',
                );
 
                $projectForm = new HTMLForm(
@@ -149,15 +149,15 @@
                }
                $this->getOutput()->setPagetitle( $this->msg( 
'openstackmanager-deleteproject' ) );
 
-               $project = $this->getRequest()->getText( 'projectname' );
+               $project = $this->getRequest()->getText( 'projectid' );
                if ( ! $this->getRequest()->wasPosted() ) {
                        $this->getOutput()->addWikiMsg( 
'openstackmanager-removeprojectconfirm', $project );
                }
                $projectInfo = array();
-               $projectInfo['projectname'] = array(
+               $projectInfo['projectid'] = array(
                        'type' => 'hidden',
                        'default' => $project,
-                       'name' => 'projectname',
+                       'name' => 'projectid',
                );
                $projectInfo['action'] = array(
                        'type' => 'hidden',
@@ -218,6 +218,7 @@
                $projectRow = array();
                $this->pushRawResourceColumn( $projectRow, 
$this->createResourceList( $project->getMembers() ) );
                $roleRows = array();
+               $projectId = $project->getId();
                $projectName = $project->getProjectName();
                foreach ( $project->getRoles() as $role ) {
                        $roleRow = array();
@@ -230,11 +231,11 @@
                        $actions = array();
                        $specialRoleTitle = Title::newFromText( 
'Special:NovaRole' );
                        $actions[] = $this->createActionLink( 
'openstackmanager-addrolemember',
-                               array( 'action' => 'addmember', 'projectname' 
=> $projectName, 'roleid' => $roleId, 'returnto' => 'Special:NovaProject' ),
+                               array( 'action' => 'addmember', 'projectid' => 
$projectId, 'roleid' => $roleId, 'returnto' => 'Special:NovaProject' ),
                                $specialRoleTitle
                        );
                        $actions[] = $this->createActionLink( 
'openstackmanager-removerolemember',
-                               array( 'action' => 'deletemember', 
'projectname' => $projectName, 'roleid' => $roleId, 'returnto' => 
'Special:NovaProject' ),
+                               array( 'action' => 'deletemember', 'projectid' 
=> $projectId, 'roleid' => $roleId, 'returnto' => 'Special:NovaProject' ),
                                $specialRoleTitle
                        );
                        $this->pushRawResourceColumn( $roleRow,  
$this->createResourceList( $actions ) );
@@ -244,10 +245,10 @@
                $this->pushRawResourceColumn( $projectRow, 
$this->createResourceTable( $roleheaders, $roleRows ) );
 
                $actions = array();
-               $actions[] = $this->createActionLink( 
'openstackmanager-deleteproject', array( 'action' => 'delete', 'projectname' => 
$projectName ) );
-               $actions[] = $this->createActionLink( 
'openstackmanager-addmember', array( 'action' => 'addmember', 'projectname' => 
$projectName ) );
-               $actions[] = $this->createActionLink( 
'openstackmanager-removemember', array( 'action' => 'deletemember', 
'projectname' => $projectName ) );
-               $actions[] = $this->createActionLink( 
'openstackmanager-displayquotas-action', array( 'action' => 'displayquotas', 
'projectname' => $projectName ) );
+               $actions[] = $this->createActionLink( 
'openstackmanager-deleteproject', array( 'action' => 'delete', 'projectid' => 
$projectId ) );
+               $actions[] = $this->createActionLink( 
'openstackmanager-addmember', array( 'action' => 'addmember', 'projectid' => 
$projectId ) );
+               $actions[] = $this->createActionLink( 
'openstackmanager-removemember', array( 'action' => 'deletemember', 'projectid' 
=> $projectId ) );
+               $actions[] = $this->createActionLink( 
'openstackmanager-displayquotas-action', array( 'action' => 'displayquotas', 
'projectid' => $projectId ) );
 
                $hieraTitle = Title::makeTitleSafe( NS_HIERA, $projectName );
 
@@ -300,14 +301,14 @@
         */
        function displayQuotas() {
                $this->setHeaders();
-               $projectName = $this->getRequest()->getText( 'projectname' );
-               $this->getOutput()->setPagetitle( $this->msg( 
'openstackmanager-displayquotas', $projectName ) );
-               if ( !$this->userCanExecute( $this->getUser() ) && 
!$this->userLDAP->inRole( 'projectadmin', $projectName ) ) {
-                       $this->notInRole( 'projectadmin', $projectName );
+               $projectId = $this->getRequest()->getText( 'projectid' );
+               $this->getOutput()->setPagetitle( $this->msg( 
'openstackmanager-displayquotas', $projectId ) );
+               if ( !$this->userCanExecute( $this->getUser() ) && 
!$this->userLDAP->inRole( 'projectadmin', $projectId ) ) {
+                       $this->notInRole( 'projectadmin', $projectId );
                        return false;
                }
                # Change the connection to reference this project
-               $this->userNova->setProject( $projectName );
+               $this->userNova->setProject( $projectId );
                $regions = $this->userNova->getRegions( 'compute' );
                foreach ( $regions as $region ) {
                        $this->userNova->setRegion( $region );
@@ -337,14 +338,14 @@
        function tryCreateSubmit( $formData, $entryPoint = 'internal' ) {
                global $wgOpenStackManagerDefaultSecurityGroupRules;
 
-               $success = OpenStackNovaProject::createProject( 
$formData['projectname'] );
-               if ( ! $success ) {
+               $project = OpenStackNovaProject::createProject( 
$formData['projectname'] );
+               if ( ! $project ) {
                        $this->getOutput()->addWikiMsg( 
'openstackmanager-createprojectfailed' );
                        return false;
                }
-               $project = OpenStackNovaProject::getProjectByName( 
$formData['projectname'] );
                $username = $this->userLDAP->getUsername();
                $project->addMember( $username );
+               $projectId = $project->getId();
                $members = explode( ',', $formData['member'] );
                foreach ( $members as $member ) {
                        $project->addMember( $member );
@@ -358,7 +359,7 @@
                        $role->addMember( $username );
                }
                # Change the connection to reference this project
-               $this->userNova->setProject( $formData['projectname'] );
+               $this->userNova->setProject( $projectId );
                $regions = $this->userNova->getRegions( 'compute' );
                foreach ( $regions as $region ) {
                        $this->userNova->setRegion( $region );
@@ -419,9 +420,9 @@
         * @return bool
         */
        function tryDeleteSubmit( $formData, $entryPoint = 'internal' ) {
-               $success = OpenStackNovaProject::deleteProject( 
$formData['projectname'] );
+               $success = OpenStackNovaProject::deleteProject( 
$formData['projectid'] );
                if ( $success ) {
-                       $project = OpenStackNovaProject::getProjectByName( 
$formData['projectname'] );
+                       $project = OpenStackNovaProject::getProjectById( 
$formData['projectid'] );
                        $project->deleteArticle();
                        $this->getOutput()->addWikiMsg( 
'openstackmanager-deletedproject' );
                } else {
@@ -444,12 +445,13 @@
         * @return bool
         */
        function tryAddMemberSubmit( $formData, $entryPoint = 'internal' ) {
-               $project = new OpenStackNovaProject( $formData['projectname'] );
+               $project = new OpenStackNovaProject( $formData['projectid'] );
+               $projectName = $project->getName();
                $members = explode( ',', $formData['member'] );
                foreach ( $members as $member ) {
                        $user = User::newFromName( $member, 'usable' );
                        if ( !$user ) {
-                               $this->getOutput()->addWikiMsg( 
'openstackmanager-failedtoadd', $formData['member'], $formData['projectname'] );
+                               $this->getOutput()->addWikiMsg( 
'openstackmanager-failedtoadd', $formData['member'], $projectName );
                                continue;
                        }
                        $success = $project->addMember( $member );
@@ -459,17 +461,17 @@
                                        # successfully been added to a project
                                        $user->addGroup( 'shell' );
                                }
-                               $this->getOutput()->addWikiMsg( 
'openstackmanager-addedto', $formData['member'], $formData['projectname'] );
+                               $this->getOutput()->addWikiMsg( 
'openstackmanager-addedto', $formData['member'], $projectName );
                                if ( class_exists( 'EchoEvent' ) ) {
                                        EchoEvent::create( array(
                                                'type' => 
'osm-projectmembers-add',
-                                               'title' => Title::newFromText( 
$formData['projectname'], NS_NOVA_RESOURCE ),
+                                               'title' => Title::newFromText( 
$projectName, NS_NOVA_RESOURCE ),
                                                'agent' => $this->getUser(),
                                                'extra' => array( 'userAdded' 
=> $user->getId() ),
                                        ) );
                                }
                        } else {
-                               $this->getOutput()->addWikiMsg( 
'openstackmanager-failedtoadd', $formData['member'], $formData['projectname'] );
+                               $this->getOutput()->addWikiMsg( 
'openstackmanager-failedtoadd', $formData['member'], $projectName );
                        }
                }
 
@@ -489,7 +491,8 @@
         * @return bool
         */
        function tryDeleteMemberSubmit( $formData, $entryPoint = 'internal' ) {
-               $project = OpenStackNovaProject::getProjectByName( 
$formData['projectname'] );
+               $project = OpenStackNovaProject::getProjectById( 
$formData['projectid'] );
+               $projectName = $project->getName();
                if ( ! $project ) {
                        $this->getOutput()->addWikiMsg( 
'openstackmanager-nonexistentproject' );
                        return true;
@@ -497,9 +500,9 @@
                foreach ( $formData['members'] as $member ) {
                        $success = $project->deleteMember( $member );
                        if ( $success ) {
-                               $this->getOutput()->addWikiMsg( 
'openstackmanager-removedfrom', $member, $formData['projectname'] );
+                               $this->getOutput()->addWikiMsg( 
'openstackmanager-removedfrom', $member, $projectName );
                        } else {
-                               $this->getOutput()->addWikiMsg( 
'openstackmanager-failedtoremove', $member, $formData['projectname'] );
+                               $this->getOutput()->addWikiMsg( 
'openstackmanager-failedtoremove', $member, $projectName );
                        }
                }
                $out = '<br />';
diff --git a/special/SpecialNovaRole.php b/special/SpecialNovaRole.php
index a370a4c..22f83a8 100644
--- a/special/SpecialNovaRole.php
+++ b/special/SpecialNovaRole.php
@@ -42,13 +42,13 @@
 
                $roleInfo = array();
                $roleid = $this->getRequest()->getText( 'roleid' );
-               $projectname = $this->getRequest()->getText( 'projectname' );
-               if ( $projectname ) {
-                       if ( !$this->userCanExecute( $this->getUser() ) && 
!$this->userLDAP->inRole( $roleid, $projectname ) ) {
+               $projectid = $this->getRequest()->getText( 'projectid' );
+               if ( $projectid ) {
+                       if ( !$this->userCanExecute( $this->getUser() ) && 
!$this->userLDAP->inRole( $roleid, $projectid ) ) {
                                $this->displayRestrictionError();
                                return false;
                        }
-                       $project = OpenStackNovaProject::getProjectByName( 
$projectname );
+                       $project = OpenStackNovaProject::getProjectById( 
$projectid );
                        $projectmembers = $project->getMembers();
                        natcasesort( $projectmembers );
                        $role = OpenStackNovaRole::getProjectRoleById( $roleid, 
$project );
@@ -83,10 +83,10 @@
                        'default' => $roleid,
                        'name' => 'roleid',
                );
-               $roleInfo['projectname'] = array(
+               $roleInfo['projectid'] = array(
                        'type' => 'hidden',
-                       'default' => $projectname,
-                       'name' => 'projectname',
+                       'default' => $projectid,
+                       'name' => 'projectid',
                );
                $roleInfo['returnto'] = array(
                        'type' => 'hidden',
@@ -114,13 +114,13 @@
                $this->getOutput()->setPagetitle( $this->msg( 
'openstackmanager-removerolemember' ) );
 
                $roleid = $this->getRequest()->getText( 'roleid' );
-               $projectname = $this->getRequest()->getText( 'projectname' );
-               if ( $projectname ) {
-                       if ( !$this->userCanExecute( $this->getUser() ) && 
!$this->userLDAP->inRole( $roleid, $projectname ) ) {
+               $projectid = $this->getRequest()->getText( 'projectid' );
+               if ( $projectid ) {
+                       if ( !$this->userCanExecute( $this->getUser() ) && 
!$this->userLDAP->inRole( $roleid, $projectid ) ) {
                                $this->displayRestrictionError();
                                return false;
                        }
-                       $project = OpenStackNovaProject::getProjectByName( 
$projectname );
+                       $project = OpenStackNovaProject::getProjectById( 
$projectid );
                        $projectmembers = $project->getMembers();
                        natcasesort( $projectmembers );
                        $role = OpenStackNovaRole::getProjectRoleById( $roleid, 
$project );
@@ -156,10 +156,10 @@
                        'default' => $roleid,
                        'name' => 'roleid',
                );
-               $roleInfo['projectname'] = array(
+               $roleInfo['projectid'] = array(
                        'type' => 'hidden',
-                       'default' => $projectname,
-                       'name' => 'projectname',
+                       'default' => $projectid,
+                       'name' => 'projectid',
                );
                $roleInfo['returnto'] = array(
                        'type' => 'hidden',
@@ -185,9 +185,9 @@
         * @return bool
         */
        function tryAddMemberSubmit( $formData, $entryPoint = 'internal' ) {
-               $projectname = $formData['projectname'];
-               if ( $projectname ) {
-                       $project = OpenStackNovaProject::getProjectByName( 
$projectname );
+               $projectid = $formData['projectid'];
+               if ( $projectid ) {
+                       $project = OpenStackNovaProject::getProjectById( 
$projectid );
                        if ( ! $project ) {
                                $this->getOutput()->addWikiMsg( 
'openstackmanager-nonexistentproject' );
                                return true;
@@ -229,9 +229,9 @@
         * @return bool
         */
        function tryDeleteMemberSubmit( $formData, $entryPoint = 'internal' ) {
-               $projectname = $formData['projectname'];
-               if ( $projectname ) {
-                       $project = OpenStackNovaProject::getProjectByName( 
$projectname );
+               $projectid = $formData['projectid'];
+               if ( $projectid ) {
+                       $project = OpenStackNovaProject::getProjectById( 
$projectid );
                        if ( ! $project ) {
                                $this->getOutput()->addWikiMsg( 
'openstackmanager-nonexistentproject' );
                                return true;

-- 
To view, visit https://gerrit.wikimedia.org/r/268833
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie46939a2f8a0a57ed09865acc35d1e33649045cf
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/OpenStackManager
Gerrit-Branch: master
Gerrit-Owner: Andrew Bogott <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to