[Piwik-svn] r530 - in trunk: modules plugins/UsersManager plugins/UsersManager/templates tests/modules

svnmaster at piwik.org svnmaster at piwik.org
Thu Jun 26 02:56:15 CEST 2008


Author: matt
Date: 2008-06-26 02:56:14 +0200 (Thu, 26 Jun 2008)
New Revision: 530

Modified:
   trunk/modules/Common.php
   trunk/plugins/UsersManager/API.php
   trunk/plugins/UsersManager/Controller.php
   trunk/plugins/UsersManager/templates/UsersManager.js
   trunk/plugins/UsersManager/templates/UsersManager.tpl
   trunk/tests/modules/UsersManager.test.php
Log:
- UsersManager.setUserAccess now requires an idSites.
If you want to apply the access to all websites, use idSites="all"

Modified: trunk/modules/Common.php
===================================================================
--- trunk/modules/Common.php	2008-06-26 00:20:22 UTC (rev 529)
+++ trunk/modules/Common.php	2008-06-26 00:56:14 UTC (rev 530)
@@ -245,11 +245,11 @@
 
 		// there is no value $varName in the REQUEST so we try to use the default value
 		if(empty($varName)
-		|| !isset($requestArrayToUse[$varName])
-		|| (	!is_array($requestArrayToUse[$varName])
-		&& strlen($requestArrayToUse[$varName]) === 0
+			|| !isset($requestArrayToUse[$varName])
+			|| (	!is_array($requestArrayToUse[$varName])
+				&& strlen($requestArrayToUse[$varName]) === 0
+				)
 		)
-		)
 		{
 			if( is_null($varDefault))
 			{
@@ -259,7 +259,7 @@
 			else
 			{
 				if( !is_null($varType)
-				&& in_array($varType, array('string', 'integer', 'array'))
+					&& in_array($varType, array('string', 'integer', 'array'))
 				)
 				{
 					settype($varDefault, $varType);

Modified: trunk/plugins/UsersManager/API.php
===================================================================
--- trunk/plugins/UsersManager/API.php	2008-06-26 00:20:22 UTC (rev 529)
+++ trunk/plugins/UsersManager/API.php	2008-06-26 00:56:14 UTC (rev 530)
@@ -417,7 +417,7 @@
 	 * 
 	 * @return bool true on success
 	 */
-	static public function setUserAccess( $userLogin, $access, $idSites = false)
+	static public function setUserAccess( $userLogin, $access, $idSites)
 	{
 		self::checkAccessType( $access );
 		self::checkUserExists( $userLogin);
@@ -430,7 +430,7 @@
 		
 		// in case idSites is null we grant access to all the websites on which the current connected user
 		// has an 'admin' access
-		if(empty($idSites))
+		if($idSites === 'all')
 		{
 			$idSites = Piwik_SitesManager_API::getSitesIdWithAdminAccess();
 		}

Modified: trunk/plugins/UsersManager/Controller.php
===================================================================
--- trunk/plugins/UsersManager/Controller.php	2008-06-26 00:20:22 UTC (rev 529)
+++ trunk/plugins/UsersManager/Controller.php	2008-06-26 00:56:14 UTC (rev 530)
@@ -21,16 +21,15 @@
 		$view = new Piwik_View('UsersManager/templates/UsersManager.tpl');
 		
 		$IdSitesAdmin = Piwik_SitesManager_API::getSitesIdWithAdminAccess();
-		
 		$idSiteSelected = 1;
 		
 		if(count($IdSitesAdmin) > 0)
 		{
 			$defaultWebsiteId = $IdSitesAdmin[0];
-			$idSiteSelected = Piwik_Common::getRequestVar('idsite', $defaultWebsiteId, 'integer');
+			$idSiteSelected = Piwik_Common::getRequestVar('idsite', $defaultWebsiteId);
 		}
 		
-		if($idSiteSelected==-1)
+		if($idSiteSelected==='all')
 		{
 			$usersAccessByWebsite = array();
 		}
@@ -53,10 +52,12 @@
 				$usersAccessByWebsite[$login] = 'noaccess';
 			}
 		}
+		ksort($usersAccessByWebsite);
+		
 		$users = array();
 		if(Zend_Registry::get('access')->isSuperUser())
 		{
-			$users =  Piwik_UsersManager_API::getUsers();
+			$users = Piwik_UsersManager_API::getUsers();
 		}
 		
 		$view->idSiteSelected = $idSiteSelected;

Modified: trunk/plugins/UsersManager/templates/UsersManager.js
===================================================================
--- trunk/plugins/UsersManager/templates/UsersManager.js	2008-06-26 00:20:22 UTC (rev 529)
+++ trunk/plugins/UsersManager/templates/UsersManager.js	2008-06-26 00:56:14 UTC (rev 530)
@@ -78,13 +78,8 @@
  	parameters.method =  'UsersManager.setUserAccess';
  	parameters.userLogin = login;
  	parameters.access = access;
- 	
- 	var idSites = getIdSites();
- 	if(idSites != -1)
- 	{
-	 	parameters.idSites = idSites;
- 	}
- 	
+ 	parameters.idSites = getIdSites();
+
 	ajaxRequest.data = parameters;
  	
 	return ajaxRequest;
@@ -146,7 +141,7 @@
 	}
 	
 	var idSite = getIdSites();
-	if(idSite == -1)
+	if(idSite == 'all')
 	{
 		var target = this;       
 		

Modified: trunk/plugins/UsersManager/templates/UsersManager.tpl
===================================================================
--- trunk/plugins/UsersManager/templates/UsersManager.tpl	2008-06-26 00:20:22 UTC (rev 529)
+++ trunk/plugins/UsersManager/templates/UsersManager.tpl	2008-06-26 00:56:14 UTC (rev 530)
@@ -35,7 +35,7 @@
 	<p>{'UsersManager_Sites'|translate}: <select id="selectIdsite" name="idsite" onchange="this.form.submit()">
 	
 	<optgroup label="{'UsersManager_AllWebsites'|translate}">
-		<option label="{'UsersManager_AllWebsites'|translate}" value="-1" {if $idSiteSelected==-1} selected="selected"{/if}>{'UsersManager_ApplyToAllWebsites'|translate}</option>
+		<option label="{'UsersManager_AllWebsites'|translate}" value="all" {if $idSiteSelected=='all'} selected="selected"{/if}>{'UsersManager_ApplyToAllWebsites'|translate}</option>
 	</optgroup>
 	<optgroup label="{'UsersManager_Sites'|translate}">
 		{foreach from=$websites item=info}
@@ -63,9 +63,9 @@
 {assign var=accesInvalid value="<img src='plugins/UsersManager/images/no-access.png' class='updateAccess'>"}
 <tr>
 	<td id='login'>{$login}</td>
-	<td id='noaccess'>{if $access=='noaccess' and $idSiteSelected!=-1}{$accesValid}{else}{$accesInvalid}{/if}&nbsp;</td>
-	<td id='view'>{if $access=='view' and $idSiteSelected!=-1}{$accesValid}{else}{$accesInvalid}{/if}&nbsp;</td>
-	<td id='admin'>{if $access=='admin' and $idSiteSelected!=-1}{$accesValid}{else}{$accesInvalid}{/if}&nbsp;</td>
+	<td id='noaccess'>{if $access=='noaccess' and $idSiteSelected!='all'}{$accesValid}{else}{$accesInvalid}{/if}&nbsp;</td>
+	<td id='view'>{if $access=='view' and $idSiteSelected!='all'}{$accesValid}{else}{$accesInvalid}{/if}&nbsp;</td>
+	<td id='admin'>{if $access=='admin' and $idSiteSelected!='all'}{$accesValid}{else}{$accesInvalid}{/if}&nbsp;</td>
 </tr>
 {/foreach}
 </tbody>

Modified: trunk/tests/modules/UsersManager.test.php
===================================================================
--- trunk/tests/modules/UsersManager.test.php	2008-06-26 00:20:22 UTC (rev 529)
+++ trunk/tests/modules/UsersManager.test.php	2008-06-26 00:56:14 UTC (rev 530)
@@ -517,7 +517,7 @@
     {
     	// try to get it, it should raise an exception
 		try {
-    		Piwik_UsersManager_API::setUserAccess("nologin", "view");
+    		Piwik_UsersManager_API::setUserAccess("nologin", "view", 1);
 	        $this->fail("Exception not raised.");
     	}
     	catch (Exception $expected) {
@@ -535,7 +535,7 @@
     	
     	// try to get it, it should raise an exception
 		try {
-    		Piwik_UsersManager_API::setUserAccess("gegg4564eqgeqag", "viewnotknown");
+    		Piwik_UsersManager_API::setUserAccess("gegg4564eqgeqag", "viewnotknown", 1);
 	        $this->fail("Exception not raised.");
     	}
     	catch (Exception $expected) {
@@ -544,15 +544,15 @@
     }
     
     /**
-     * idsitesNull => apply access to all websites with admin access
+     * idsites = all => apply access to all websites with admin access
      */
-    function test_setUserAccess_idsitesNull()
+    function test_setUserAccess_idsitesIsAll()
     {
     	Piwik_UsersManager_API::addUser("gegg4564eqgeqag", "geqgegagae", "tegst at tesgt.com", "alias");
     	
     	FakeAccess::$superUser = false;
     	
-    	Piwik_UsersManager_API::setUserAccess("gegg4564eqgeqag", "view");
+    	Piwik_UsersManager_API::setUserAccess("gegg4564eqgeqag", "view", "all");
     	
     	FakeAccess::$superUser = true;
     	$access = Piwik_UsersManager_API::getSitesAccessFromUser("gegg4564eqgeqag");
@@ -567,9 +567,9 @@
     }
     
     /**
-     * idsitesNull AND user is superuser=> apply access to all websites
+     * idsites = all AND user is superuser=> apply access to all websites
      */
-    function test_setUserAccess_idsitesNullSuperuser()
+    function test_setUserAccess_idsitesIsAllSuperuser()
     {
     	FakeAccess::$superUser = true;
     	
@@ -580,9 +580,8 @@
     	$id5=Piwik_SitesManager_API::addSite("test5",array("http://piwik.net","http://piwik.com/test/"));
     	
 		Piwik_UsersManager_API::addUser("gegg4564eqgeqag", "geqgegagae", "tegst at tesgt.com", "alias");
+    	Piwik_UsersManager_API::setUserAccess("gegg4564eqgeqag", "view", "all");
     	
-    	Piwik_UsersManager_API::setUserAccess("gegg4564eqgeqag", "view");
-    	
     	$access = Piwik_UsersManager_API::getSitesAccessFromUser("gegg4564eqgeqag");
     	$this->assertEqual( array($id1,$id2,$id3,$id4,$id5), array_keys($access));
     	



More information about the Piwik-svn mailing list