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: [email protected] <mailto:[email protected]>
[email protected] <mailto:[email protected]>
phone: +39 338 9253741
_______________________________________
_______________________________________________
Plone-IT mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-plone-it
http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
_______________________________________________
Plone-IT mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-plone-it
http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html