filter out sites that are not Vicci Guest from register page
smbaker [Fri, 9 Nov 2012 20:39:48 +0000 (12:39 -0800)]
db-config.d/091-sso [new file with mode: 0644]
planetlab/persons/register.php

diff --git a/db-config.d/091-sso b/db-config.d/091-sso
new file mode 100644 (file)
index 0000000..65f1dc7
--- /dev/null
@@ -0,0 +1,12 @@
+# -*-python-*-
+# rely on default for tag_types roles, as this defaults to admin-only
+########
+
+########
+sso_site_tags = [
+    { 'tagname' : 'include_site_register',
+      'description' : 'Include this site in the registration page',
+      'category' : 'site/sso'} ,
+]
+
+for site_type in sso_site_tags: SetTagType (site_type)
index 05d6752..8894c6b 100644 (file)
@@ -221,8 +221,31 @@ $adm->GetSites(array('is_public' => TRUE, 'peer_id' => NULL,'-SORT'=>'name'),
               array('site_id', 'name','enabled','peer_id'));
 // All defined roles
 $adm->GetRoles();
-
-list($sites, $roles) = $adm->commit();
+// Site tags for sites to include on registration page
+$adm->GetSiteTags(array("tagname" => "include_site_register"));
+
+list($sites, $roles, $include_tags) = $adm->commit();
+
+if ($include_tags) {
+    // If there are any include tags, then filter the list of sites to only
+    // those with include tags.
+    //
+    // If there were no include tags, then we include them all.
+
+    $include_ids = array();
+    foreach ($include_tags as $tag) {
+        if ($tag['value']) {
+            $include_ids [$tag['site_id']] = $tag;
+        }
+    }
+    $new_sites = array();
+    foreach ($sites as $site) {
+        if ($include_ids[$site['site_id']]) {
+            $new_sites []= $site;
+        }
+    }
+    $sites = $new_sites;
+}
 
 // Prepend invalid site to beginning of list to force user to select a site
 $sites = array_merge(array(array('site_id' => -1, 'name' => 'Select a site', 'enabled' => TRUE)), $sites);