Status abfrage eines Mitgliedes..ob Admin, moderator etc

Django, Flask, Bottle, WSGI, CGI…
Antworten
Benutzeravatar
mitch
User
Beiträge: 78
Registriert: Dienstag 1. August 2006, 09:07
Kontaktdaten:

Dienstag 26. September 2006, 15:12

Hi,

also ich mein Resultat meiner suche so eingerichtet, dass man sich die persönlichen Eigenschaften des gesuchten Benutzers ansehen kann...
Dafür hab ich einfach ein 2. Formular gemacht das sich da nennt "prefs_user_details2" so, wenn aber jetzt der Benutzer x auf die daten von Benutzer y zugreift soll erstmal ausgelesen werden ob x ein Admin, moderator oder redakteur ist. Falls er eines von den drein ist, dann darf er auch die Daten ändern von dem Benutzer. Wenn x aber nur ein stink normaler Benutzer ist, dann sollte er nur lesenden zugirff haben!

Der Quelltext der dafür angepasst werden sollt ist der gleiche wie bei prefs_user_details!

Am Ende brauch ich eigentlich nur die abfrage ob der x eines von den drein ist und wenn nicht, soll einfach der "speichern" button verschwinden! Ist das möglich?

mfg mitch
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Dienstag 26. September 2006, 20:17

mitch hat geschrieben:Am Ende brauch ich eigentlich nur die abfrage ob der x eines von den drein ist
Hi mitch!

Die Gruppen eines Benutzers und sonst noch ein paar Daten, bekommst du so raus:

Code: Alles auswählen

member = context.portal_membership.getAuthenticatedMember()

groups = context.portal_groups.getGroupsByUserId(member) 
user_roles = context.portal_membership.get_local_roles_for_userid(member)
add_portal_member = context.portal_membership.checkPermission(
    "Add portal member", container
)


print "member:", member
print "(plone)groups:", groups
print "(plone)user_roles", user_roles
print "Add portal member:", add_portal_member

return printed
Sonstiges: http://www.python-forum.de/topic-3786.html

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
mitch
User
Beiträge: 78
Registriert: Dienstag 1. August 2006, 09:07
Kontaktdaten:

Mittwoch 27. September 2006, 08:50

hi,

danke für deine Antwort gerold.

Hab allerdings noch ein Problem. Mit den Befehlen die du mir geschrieben hast kommt bei bsp. das:
mitch --> der user
[] --> group
() --> user_roles --> was soll mir das eigentlich wieder geben
1 --> add_portal_member --> und hier bin ich mir auch nicht sicher hehe

Also ich möchte jetzt wissen ob der mitch Moderator, Redakteur oder nur Benutzer ist... und er ist alles dreis.. wie mach ich das? Bzw. was mach ich falsch?

mfg mitch :oops:
Benutzeravatar
mitch
User
Beiträge: 78
Registriert: Dienstag 1. August 2006, 09:07
Kontaktdaten:

Mittwoch 27. September 2006, 15:28

also ich hab das jetzt mal so versucht mit:

Code: Alles auswählen

memberAut python:here.portal_membership.getAuthenticatedMember(); 
user_roles python:memberAut.getRoles();
Das gibt mir als Beispiel ['Member','Manager'] zurück und jetzt hab ich das:

Code: Alles auswählen

<div class="formControls">
                      <input class="context"
                        tabindex=""
                        type="submit"
                        value="Save"
                        name="prefs_user_edit:method"
                        i18n:attributes="value label_save;"
                        tal:attributes="tabindex tabindex/next;"
                        />
            </div>
jetzt will ich das so einbauen, dass wenn einer Manager ist, dieser Button nicht erscheint. Wie kann ich denn jetzt aus diesem "user_roles" raus lesen ob "Manager" drin steht?

mfg mitch
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Mittwoch 27. September 2006, 18:12

mitch hat geschrieben:

Code: Alles auswählen

memberAut python:here.portal_membership.getAuthenticatedMember(); 
user_roles python:memberAut.getRoles();
Hi mitch!

Das finde ich super, dass du ``getRoles`` gefunden hast.

Das mit dem Ausblenden funktioniert vielleich so:

Code: Alles auswählen

<div class="formControls">
  <input 
    tal:condition="python: 'Manager' in user_roles"
    class="context"
    tabindex=""
    type="submit"
    value="Save"
    name="prefs_user_edit:method"
    i18n:attributes="value label_save;"
    tal:attributes="tabindex tabindex/next;"
  />
</div>
lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
mitch
User
Beiträge: 78
Registriert: Dienstag 1. August 2006, 09:07
Kontaktdaten:

Donnerstag 28. September 2006, 13:22

Danke gerold so hats geklappt!

mfg mitch :)
Antworten