jenkins-bot has submitted this change and it was merged.

Change subject: Add API list=novaprojects
......................................................................


Add API list=novaprojects

Change-Id: I4667b02b2ab096677a3f04d131d5d4c24bb27dda
---
M OpenStackManager.php
A api/ApiListNovaProjects.php
M nova/OpenStackNovaProject.php
3 files changed, 46 insertions(+), 1 deletion(-)

Approvals:
  Andrew Bogott: Looks good to me, but someone else must approve
  Yuvipanda: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/OpenStackManager.php b/OpenStackManager.php
index 011a4c1..e341810 100644
--- a/OpenStackManager.php
+++ b/OpenStackManager.php
@@ -195,6 +195,7 @@
 $wgAutoloadClasses['ApiNovaProjects'] = $dir . 'api/ApiNovaProjects.php';
 $wgAutoloadClasses['ApiNovaProjectLimits'] = $dir . 
'api/ApiNovaProjectLimits.php';
 $wgAutoloadClasses['ApiNovaServiceGroups'] = $dir . 
'api/ApiNovaServiceGroups.php';
+$wgAutoloadClasses['ApiListNovaProjects'] = $dir . 
'api/ApiListNovaProjects.php';
 $wgAutoloadClasses['Spyc'] = $dir . 'Spyc.php';
 $wgAutoloadClasses['OpenStackManagerNotificationFormatter'] = $dir . 
'OpenStackManagerNotificationFormatter.php';
 $wgAutoloadClasses['OpenStackManagerEvent'] = $dir . 
'OpenStackManagerEvent.php';
@@ -300,6 +301,7 @@
 $wgAPIModules['novaprojects'] = 'ApiNovaProjects';
 $wgAPIModules['novaservicegroups'] = 'ApiNovaServiceGroups';
 $wgAPIModules['novaprojectlimits'] = 'ApiNovaProjectLimits';
+$wgAPIListModules['novaprojects'] = 'ApiListNovaProjects';
 
 # Schema changes
 $wgHooks['LoadExtensionSchemaUpdates'][] = 'efOpenStackSchemaUpdates';
diff --git a/api/ApiListNovaProjects.php b/api/ApiListNovaProjects.php
new file mode 100644
index 0000000..830ba56
--- /dev/null
+++ b/api/ApiListNovaProjects.php
@@ -0,0 +1,39 @@
+<?php
+
+class ApiListNovaProjects extends ApiQueryGeneratorBase {
+
+       public function __construct( ApiQuery $query, $moduleName ) {
+               parent::__construct( $query, $moduleName, 'np' );
+       }
+
+       public function execute() {
+               $this->run();
+       }
+
+       public function executeGenerator( $resultPageSet ) {
+               $this->run();
+       }
+
+       public function run() {
+               $projects = OpenStackNovaProject::getAllProjects();
+               foreach ( $projects as $project ) {
+                       $this->getResult()->addValue(
+                               array( 'query', $this->getModuleName() ),
+                               null,
+                               $project->getName()
+                       );
+               }
+
+               $this->getResult()->setIndexedTagName_internal( array( 'query', 
$this->getModuleName() ), 'project' );
+       }
+
+       public function getDescription() {
+               return array(
+                       'Returns a list of all the known projects'
+               );
+       }
+
+       public function getExamples() {
+               return 'api.php?action=query&list=novaprojects';
+       }
+}
diff --git a/nova/OpenStackNovaProject.php b/nova/OpenStackNovaProject.php
index 09ccf37..9bd8d3b 100644
--- a/nova/OpenStackNovaProject.php
+++ b/nova/OpenStackNovaProject.php
@@ -36,6 +36,10 @@
                }
        }
 
+       public function getName() {
+               return $this->projectname;
+       }
+
        /**
         * Fetch the project from LDAP and initialize the object
         * @return void
@@ -669,7 +673,7 @@
         * than just the project's name, you'll need to call the project's 
fetchProjectInfo() function.
         *
         * @static
-        * @return array
+        * @return OpenStackNovaProject[]
         */
        static function getAllProjects() {
                global $wgAuth;

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I4667b02b2ab096677a3f04d131d5d4c24bb27dda
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/OpenStackManager
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>
Gerrit-Reviewer: Andrew Bogott <[email protected]>
Gerrit-Reviewer: Yuvipanda <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to