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