Re: Objekt aus ReferenceField geordnet und Workflow gerecht anzeigen

Michael Graf <[email protected]>
Newsgroups gmane.comp.web.zope.german
Message-ID <[email protected]>
Ja, danke - erhellt jedenfalls den Raum schon mal gewaltig und ich weiß jetzt in welche Richtung ich versuchen muss.

lg
michi

-----Ursprüngliche Nachricht-----
Von: [email protected] [mailto:[email protected]] Im Auftrag von Jens W. Klein
Gesendet: Mittwoch, 17. November 2010 11:31
An: Deutschsprachige Zope-Benutzer-Liste
Betreff: [dzug-zope] Re: Objekt aus ReferenceField geordnet und Workflow gerecht anzeigen

Hallo Michael,

Am Mittwoch, den 17.11.2010, 10:06 +0000 schrieb Michael Graf:
> Hallo Liste,
>
> ich habe seit gestern gröbere Probleme mit dem
> ReferenceField/ReferenceBrowserWidget!
>
> Gernerell hab ich so meine Probleme, weil ich die bis jetzt noch nie
> wirklich verstanden habe und deshalb auch gemieden habe, aber jetzt
> bieten sie sich geradezu an.

Achtung: ReferenceDas Field ist kein echtes vollwertiges Field, weil es kein wirklches Storage hat. Es interagiert lediglich mit der ReferenceEngine API!

> Und zwar baue ich gerade eine kleine Vereinsseite inklusive
> Mitgliederseite. Ich lege alle Personen einzeln als Inhaltstyp an. Die
> Übersichtsseite ebenfalls, in der Edit-Ansicht der Übersichtsseite hab
> ich 3 ReferenceFields angelegt, eins für den Vorstand
> (multiValued=False), eins für den Stellvertreter und eins für die
> Mitglieder…
>
> Wie kann ich auf die referenzierten Personen inklusive der eignen
> Felder (zB: Telefon, email,…) zugreifen, abhängig davon ob ich
> Berechtigt bin oder nicht und geordnet nach einem KeywordIndex (=
> nachname vorname).

Du kannst ganz normal den Accessor verwenden: context.getDeinfieldname() und bekommst dann das referenzierte Objekt zurück. Wenn Du keine Rechte hast fliegst Du damit auf die Nase, sobald Du aus restricted Code drauf zugreifst. Deswegen musst Du den Berechtigungscheck selber in Deinen View-Code einbauen.

Alternativ kannst Du aber auch die ReferenceEngine befragen und Dir eine Liste von UIDs zurückliefern lassen. Diese fütterst du in den portal_catalog und lässt Dir eine Menge brains zurückgeben. Da der portal_catalog im Plone so nett ist und einen Berechtigungscheck macht, bekommst Du da auch wirklich zurück, was Du anzeigen darfst. Und nebenbei ist das auch noch um ein vielfaches schneller so.

ReferenceFields haben kein Storage um eine Ordnung vorzugeben und die ReferenzEngine hat auch keine Order vorgesehen. Also hilft es hier nur selber zu sortieren. Mit der o.a. Methode der Catalogabfrage ist das auch kein Problem. Es gibts ein paar Addons, die ReferenceFields mit Order liefern. Ich habe aber keine Erfahrung wie gut das geht und wo dort die Einschränkungen sind.

Ich hoffe das bringt ein wenig Licht ins Dunkel

Jens

--
Jens W. Klein
Software Architect
Managing Director, General Partner
+43 512 890077

Klein & Partner KG           WEB APPLICATIONS,  ZOPE,  PLONE, HOSTING
BlueDynamics Alliance        production: concept, development, design
http://bluedynamics.com      consulting: analysis, coaching, training
http://zoplo.com             management: projects, process, community



_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope

________________________________

Diese Nachricht erhalten Sie von einem IMC Mitarbeiter.
Allfallige angehängte Dokumente sind vertraulich und nur für den/die Adressaten bestimmt. Sollten Sie nicht der beabsichtigte Adressat sein, ist jede Offenlegung, Weiterleitung oder sonstige Verwendung dieser Information nicht gestattet. In diesem Fall bitten wir, den Absender zu verstandigen und die Information zu vernichten. Für Übermittlungsfehler oder sonstige Irrtumer bei Übermittlung besteht keine Haftung.

This message is being transmitted by an IMC employee.
Any attached files are confidential and intended solely for the addressee(s). Any publication, transmission or other use of the information by a person or entity other than the intended addressee is prohibited. If you receive this in error please contact the sender and delete the material. The sender does not accept liability for any errors or omissions as a result of the transmission.

Informationspflicht nach §14 UGB:

IMC Fachhochschule Krems GmbH
Piaristengasse 1, A-3500 Krems
Austria, Europe
ATU: 37552304
Firmenbuchnummer: 79297 p
Firmenbuchgericht: Landesgericht Krems an der Donau
DVR: 0798771
Fachgruppe Unternehmensberatung


_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.