Leiterrechte einschränken

Hast du Probleme Admidio einzurichten? Hier kannst du Fragen rund um die Einrichtung stellen.
Antworten
rmenken
Beiträge: 10
Registriert: 11. Jan 2013, 13:20

Leiterrechte einschränken

Beitrag von rmenken »

Hi,
nach dem Update von einer 2er zur 3er Version können Leiter nun alle Profilfelder bearbeiten, unabhängig ob das Feld nur für Benutzer mit dem Recht "Profildaten aller Nutzer bearbeiten" editierbar ist. In der 2er Variante konnte ein Leiter nur solche Felder bearbeiten die eben nicht diese Berechtigung in dem Feld hatten.
Kann ich den alten Zustand irgendwo wieder herstellen?

Danke und VG
Rüdiger
rmenken
Beiträge: 10
Registriert: 11. Jan 2013, 13:20

Re: Leiterrechte einschränken

Beitrag von rmenken »

Habe es gefunden: In der profile_new.php eine neue elseif Bedingung eingefügt,
die alle gesperrten Felder sperrt und den Zugriff nur für Webmaster und einer
Rolle "DarfGesperrteProfilfelderBearbeiten" erlaubt ,-)

Ein wenig wundere ich mich aber schon, warum ein Leiter per Default auf einmal alle
Felder eines Profils bearbeiten darf. Wir vergeben z.B. Mitgliedsnummern in der GS
und ich will nicht, das ein Leiter einer Gruppe diese sensible Information verändern
kann. Gerne darf er die Mail oder Telefon oder andere Kontakte pflegen, aber halt
nicht alles???

// bei schneller Registrierung duerfen nur die Pflichtfelder ausgegeben werden
if($showField)
{
// add profile fields to form
$fieldProperty = FIELD_DEFAULT;
$helpId = '';
$usfNameIntern = $field->getValue('usf_name_intern');

if($gProfileFields->getProperty($usfNameIntern, 'usf_disabled') == 1
&& !$gCurrentUser->hasRightEditProfile($user, false) && $getNewUser === 0)
{
// disable field if this is configured in profile field configuration
$fieldProperty = FIELD_DISABLED;
}
// add elseif
elseif($gProfileFields->getProperty($usfNameIntern, 'usf_disabled') == 1
&& !($gCurrentUser->isWebmaster() || hasRole("DarfGesperrteProfilfelderBearbeiten")))
{
// disable field if this is configured in profile field configuration
$fieldProperty = FIELD_DISABLED;
}
elseif($gProfileFields->getProperty($usfNameIntern, 'usf_mandatory') == 1)
{
// set mandatory field
$fieldProperty = FIELD_REQUIRED;
}
Antworten