nach Update keine Mandantenauswahl für Readkteure

Gesperrt
Uwe
Beiträge: 258
Registriert: Mo 30. Jun 2003, 16:05
Wohnort: Konstanz
Kontaktdaten:

nach Update keine Mandantenauswahl für Readkteure

Beitrag von Uwe »

Hallo,

nach einem Update von 4.4.4 auf 4.6.8.5 können die Redakteure keinen Mandanten (Contenido Übersicht) mehr wählen.

Die Installation umfasst drei Mandanten, Mandant 1 hat zwei Sprachen. In der Benutzerverwaltung sind einige Benutzer angelegt, die auf Sysadmins und drei Gruppen aufgeteilt sind. Eine Gruppe hat das Recht alle drei Mandanten und alle Sprachen zu bearbeiten (redaktionell). Weitere Gruppen haben nur das Recht auf einen Mandatnen zuzugreifen. Das funktioniert auch, nach dem Login landen die Redakteure im richtigen Mandanten.

Die Redakteure der Gruppe mit dem Recht für alle Mandanten landen nach dem Login im ersten Mandanten. Das Auswahl-Pulldown wird angezeigt, ist jedoch leer.

Error-Log ist leer.

Kann mir da jemand weiterhelfen?

Viele Grüsse vom Bodensee, Uwe
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

und die rechte auf die mandanten stimmen wirklich ?
sieht der sysadmin die mandanten auswahl ?
*** make your own tools (wishlist :: thx)
Uwe
Beiträge: 258
Registriert: Mo 30. Jun 2003, 16:05
Wohnort: Konstanz
Kontaktdaten:

Beitrag von Uwe »

Der Sysadmin sieht alles korrekt.

Die Rechte habe ich alle noch einmal überprüft und sollten so stimmen. Dort habe ich ja auch nichts verändert und vor dem Update lief es. Dennoch habe ich alle Rechte neu zugewiesen, leider ohne Erfolg. Wo kann ich noch nachsehen? Hilft Dir ein Zugang?

Viele Grüsse, Uwe
Uwe
Beiträge: 258
Registriert: Mo 30. Jun 2003, 16:05
Wohnort: Konstanz
Kontaktdaten:

Beitrag von Uwe »

So, ich habe noch mal einiges versucht. Wenn ich beim Benutzer selbst die Mandanten und Sprachen angebe, dann funktioniert es. Wenn ich diese Einstellung bei der Gruppe vornehme, dann nicht. Jedenfalls, wenn ich mehr als einen Mandanten angebe.

Noch ne Idee?

Viele Grüsse, Uwe
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

Uwe hat geschrieben:Noch ne Idee?
Habe ich gerade nachgestellt.

Gruppe hat Zugriff auf mehr als einen Mandanten. Mitglied der Gruppe kann keinen Mandanten auswählen, wenn es sich einloggt. Ist nur ein Mandant für die Gruppe zugeteilt, klappt es.

Ich vermute mal, das sollten wir nach Bugs schieben.
Uwe
Beiträge: 258
Registriert: Mo 30. Jun 2003, 16:05
Wohnort: Konstanz
Kontaktdaten:

Beitrag von Uwe »

Ist das bei allen 4.6.8 Versionen so?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

ich habs mal verschoben...
*** make your own tools (wishlist :: thx)
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

Beheben lies sich das bei durch Änderung der "conlib/perm.inc".

Code: Alles auswählen

	/**
	 * isClientUser
	 * Checks if the given user has access permission for a client
	 * 
	 * @param integer	$iClient	idclient to check
	 * @param object 	$oUser		User object to check against
	 */
	function isClientUser ($iClient, $oUser)
	{
		$oUser = $this->_checkUserObject($oUser);
		
		$aPermissions = explode(",", $oUser->getField("perms"));
		
		if (in_array("client[$iClient]", $aPermissions))
		{
		  return true;	
		}
		
		return false;
	}
ändern in

Code: Alles auswählen

	/**
	 * isClientUser
	 * Checks if the given user has access permission for a client
	 * 
	 * @param integer	$iClient	idclient to check
	 * @param object 	$oUser		User object to check against
	 */
	function isClientUser ($iClient, $oUser)
	{
		$oUser = $this->_checkUserObject($oUser);
		
		$aPermissions = explode(",", $oUser->getField("perms"));
		
		if (in_array("client[$iClient]", $aPermissions))
		{
			return true;	
		}
		
		$groups = $this->getGroupsForUser($oUser->getField("user_id"));

		if (is_array($groups))
		{
			foreach ($groups as $group)
			{
			  $oGroup = new Group;
			  $oGroup->loadGroupByGroupID($group);
			  $aPermissions = explode(",", $oGroup->getField("perms"));
                          if (in_array("client[$iClient]", $aPermissions))
                          {
                            return true;	
                          }
			}
		}
		
		return false;
	}
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Im CVS bereits gefixt (4fb), jedoch an anderer Stelle:

Code: Alles auswählen

function hasClientPermission ($iClient = false, $oUser = false)
	{
		global $auth;

		if ($iClient === false)
		{
			global $client;
			$iClient = $client;	
		}
		
		$oUser = $this->_checkUserObject($oUser);
		
		if ($this->isSysadmin($oUser) || $this->isClientAdmin($iClient, $oUser) || $this->isClientUser($iClient, $oUser))
		{
			return true;	
		} else {
			#Check clients' rights of users' group(s)
			$aGroups = $this->getGroupsForUser($auth->auth["uid"]);
			if (is_array($aGroups))
			{
				foreach ($aGroups as $group)
				{
					$oGroup = new Group;
					$oGroup->loadGroupByGroupID ($group);
					
					if ($this->isClientGroup($iClient, $oGroup))
					{
						return true;
					}	
				}
			}
			
			return false;	
		}
	}
Done.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Gesperrt