Creare un nuovo oggetto solo se è presente una data interfaccia

5 messages Options
Embed this post
Permalink
Vito

Creare un nuovo oggetto solo se è presente una data interfaccia

Reply Threaded More More options
Print post
Permalink
Ciao a tutti,
ho questa esigenza: rendere possibile l'aggiuna del mio tipo di oggetto SOLO in presenza di una data marker interface.

Come posso fare? :-S
Grazie
Vito

--
"Design is the method of putting form and content together. Design, just as art, has multiple definitions; there is no single definition. Design can be art. Design can be aesthetics. Design is so simple, that's why it is so complicated." by Paul Rand

_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
Alessandro Pisa

Re: Creare un nuovo oggetto solo se è presente una data interfaccia

Reply Threaded More More options
Print post
Permalink
2009/9/7 Vito Falco <[hidden email]>:

> Ciao a tutti,
> ho questa esigenza: rendere possibile l'aggiuna del mio tipo di oggetto SOLO
> in presenza di una data marker interface.
>
> Come posso fare? :-S
> Grazie
> Vito
>
> --
> "Design is the method of putting form and content together. Design, just as
> art, has multiple definitions; there is no single definition. Design can be
> art. Design can be aesthetics. Design is so simple, that's why it is so
> complicated." by Paul Rand
>
> _______________________________________________
> Plone-IT mailing list
> [hidden email]
> http://lists.plone.org/mailman/listinfo/plone-it
> http://www.nabble.com/Plone---Italy-f21728.html
>

Io avevo un problema simile e ho risolto mettendo nel contenuto
"padre" una funzione simile:

    def allowedContentTypes(self):
        all_allowed_types = super(folder.Base, self).allowedContentTypes()
        condition = IMiaInterfaccia.providedBy(self)
        if condition:
            return all_allowed_types
        else:
            return [type
                        for type in all_allowed_types
                        if type.title != "Tipo da Eliminare"]

Prova ad adattarla alle tue esigenze.
Spero di essere stato utile.
Ciao
--
http://alepisa.blogspot.com
Esalando Prassi

_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
Davide Moro-2

Re: Creare un nuovo oggetto solo se è presente una data interfaccia

Reply Threaded More More options
Print post
Permalink
In reply to this post by Vito
Il giorno lun, 07/09/2009 alle 22.25 +0200, Vito Falco ha scritto:
> Ciao a tutti,
> ho questa esigenza: rendere possibile l'aggiuna del mio tipo di
> oggetto SOLO in presenza di una data marker interface.
>
> Come posso fare? :-S

Ciao Vito,
nel caso tu abbia a che fare con un tuo tipo folderish e vuoi che al suo
interno siano aggiungibili solo oggetti di una data interfaccia puoi
usare la classe mixin AllowedTypesByIfaceMixin e specificare l'elenco
delle interfacce ammesse (è molto corto).
Non so se questo fa a caso tuo.

Quando avevo provato non funzionava la protezione con il copia e
incolla, devi fare l'override del metodo _verifyObjectPaste e aggiungere
il controllo sulle interfacce.


Ciao,

davide

--
Davide Moro

Redomino S.r.l.
Largo Valgioie 14,
10146 Torino Italy
Tel: +39 0117499875
http://redomino.com



_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
Vito

Re: Creare un nuovo oggetto solo se è presente una data interfaccia

Reply Threaded More More options
Print post
Permalink
Ciao e grazie.
Ma il mio tipo non è foldership. Praticamente vorrei che esso sia aggiungibile solo se la folder X ha una marker interface Y.

Vito

Il giorno 08 settembre 2009 14.23, Davide Moro <[hidden email]> ha scritto:
Il giorno lun, 07/09/2009 alle 22.25 +0200, Vito Falco ha scritto:
> Ciao a tutti,
> ho questa esigenza: rendere possibile l'aggiuna del mio tipo di
> oggetto SOLO in presenza di una data marker interface.
>
> Come posso fare? :-S

Ciao Vito,
nel caso tu abbia a che fare con un tuo tipo folderish e vuoi che al suo
interno siano aggiungibili solo oggetti di una data interfaccia puoi
usare la classe mixin AllowedTypesByIfaceMixin e specificare l'elenco
delle interfacce ammesse (è molto corto).
Non so se questo fa a caso tuo.

Quando avevo provato non funzionava la protezione con il copia e
incolla, devi fare l'override del metodo _verifyObjectPaste e aggiungere
il controllo sulle interfacce.


Ciao,

davide

--
Davide Moro

Redomino S.r.l.
Largo Valgioie 14,
10146 Torino Italy
Tel: +39 0117499875
http://redomino.com



_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html



--
"Design is the method of putting form and content together. Design, just as art, has multiple definitions; there is no single definition. Design can be art. Design can be aesthetics. Design is so simple, that's why it is so complicated." by Paul Rand

_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
Christian Pizzuto-3

Re: Creare un nuovo oggetto solo se è presente una data interfaccia

Reply Threaded More More options
Print post
Permalink
Vito Falco ha scritto:
> Ciao e grazie.
> Ma il mio tipo non è foldership. Praticamente vorrei che esso sia
> aggiungibile solo se la folder X ha una marker interface Y.
>
> Vito
Te la butto li, a memoria:
se non erro esisteva uno script in plone_scripts chiamato
getNotAddableTypes (o qualcosa del genere) che controlla l'elenco degli
elementi da visualizzare nel menù. Prova che ci sia ancora nella
versione di Plone che staio utilizzando e da li filtra il tipo che non
vuoi visualizzare.

--
--
Christian Pizzuto                               IT Consultant
[hidden email]                           Tel. 320 2603691


_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html