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

Rispondere a