Re: Objekt aus ReferenceField geordnet und Workflow gerecht anzeigen

"Jens W. Klein" <[email protected]>
Newsgroups gmane.comp.web.zope.german
Organization Klein & Partner KG, BlueDynamics Alliance
Message-ID <1289989868.1473.488.camel@minime>
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
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.