[Plone-IT] personalizzazioni in archetypes
Simone Orsi
simahawk a gmail.com
Mer 19 Ott 2011 13:14:20 UTC
On 10/19/2011 12:48 PM, Paolo Tramontani wrote:
>
> Ciao
>
> Ho un content type personalizzato creato da me
>
> Ho due cose da risolvere:
>
> 1. vorrei che, dalla maschera di edit del contenuto (sia in
> inserimento che in modifica), dopo l'ok si ridirigesse sulla cartella
> contenitore e non nella view dell'oggetto stesso
> es: sono in cartella documenti; clicco aggiungi nuovo documento; entro
> in maschera di creazione, compilo i campi, clicco ok; vorrei tornare
> nella cartella documenti.
> siccome poi in cartella documenti ho una view che mostra la lista dei
> documenti e il bottone edit per ciascuno di essi, vorrei che dopo
> essere entrato in edit si tornasse di nuovo qui.
> Ho risolto blandamente creando una browser view di default per il
> content type che esegue un redirect sul parent... ma così facendo
> perdo la possibilità di andare in visualizzazione. Quindi non va beneo
>
per gli AT puoi tranquillamente copiare base_edit.cpt e
base_edit.cpt.metadata e rinominarli col nome del tuo AT.
Se il portal_type è MyObject puoi mettere nelle skins myobject_edit.cpt
e myobject.cpt.metadata, e il gioco è fatto ;)
Questo vale per qualsiasi AT ovviamente.
>
> 2. ho un campo che dovrebbe essere editabile in creazione, ma poi non
> più modificabile (tipo un id). C'è qualche attributo archetype
> specifico oppure c'è modo di distinguere quando sono in "new" e quando
> in "edit"?
>
dovresti poterlo controllare tramite il metodo "checkCreationFlag()".
Questo è quello che avviene in Products/Archetypes/BaseObject.py:
security.declareProtected(permissions.ModifyPortalContent,
'processForm')
def processForm(self, data=1, metadata=0, REQUEST=None, values=None):
"""Processes the schema looking for data in the form.
"""
is_new_object = self.checkCreationFlag()
self._processForm(data=data, metadata=metadata,
REQUEST=REQUEST, values=values)
self.unmarkCreationFlag()
if self._at_rename_after_creation and is_new_object:
self._renameAfterCreation(check_auto_id=True)
# Post create/edit hooks
if is_new_object:
event.notify(ObjectInitializedEvent(self))
self.at_post_create_script()
else:
event.notify(ObjectEditedEvent(self))
self.at_post_edit_script()
> Grazie in anticipo
>
> _______________________________________
>
> Ing. Paolo Tramontani - Softone s.r.l.
>
> email: ptramontani a racine.ra.it <mailto:ptramontani a racine.ra.it>
>
> ptramontani a softone.it <mailto:ptramontani a softone.it>
>
> phone: +39 338 9253741
>
> _______________________________________
>
>
>
> _______________________________________________
> Plone-IT mailing list
> Plone-IT a lists.plone.org
> https://lists.plone.org/mailman/listinfo/plone-plone-it
> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.plone.org/pipermail/plone-plone-it/attachments/20111019/1437dcb3/attachment.html>
Maggiori informazioni sulla lista
Plone-IT