[Plone-IT] Products.DataGridField & FileColumn
Roberto Rascioni
r.rascioni a unimc.it
Gio 6 Set 2012 11:51:13 UTC
Il 06/09/12 10:24, Riccardo Lemmi ha scritto:
> On Thursday 06 September 2012, Roberto Rascioni wrote:
>> Il 05/09/12 11:57, Riccardo Lemmi ha scritto:
>>> On Wednesday 05 September 2012, Roberto Rascioni wrote:
>>>> Salve a tutti,
>>>> avrei la necessità di caricare n file in un singolo Archetype e di
>>>> associare ad ognuno di essi un titolo.
>>>> Vorrei evitare di far aggiungere all'utente n (oggetti) File
>>>> all'interno di un AT folderish ma di far caricare i file
>>>> direttamente attraverso l'interfaccia di editing dell'AT
>>>>
>>>> Cercando un po' la scelta è ricaduta su Products.DataGridField che
>>>> non ha purtroppo il campo file disponibile! :(
>>>>
>>>> Sapreste suggerirmi un prodotto o un metodo attraverso il quale
>>>> integrare Products.DataGridField con il campo file?
>>>>
>>>> Grazie anticipatamente
>>>> Roberto
>>> Puoi partire da cotnent, field e widget di SimpleAttachment che
>>> sono usati da RichDocument.
>> Grazie mille! era proprio quello che stavo cercando!
>>
>> Ho iniziato a fare delle prove con SimpleAttachment ma purtroppo ho
>> riscontrato delle problematiche che non riesco a risolvere...
>> Quello che dovrei fare è estendere l'ATEvent e ho aggiunto così un
>> campo booleano con il widget "AttachmentsManagerWidget" di
>> SimpleAttachement (come in RichDocument)
>>
>> Il risultato è che il campo viene correttamente aggiunto
>> all'interfaccia di editing dell'ATEvent ma l'upload dei file non va
>> mai a buon fine nel senso che i file non vengono mai caricati nella
>> piattaforma
>>
>> Ho pensato che forse il problema fosse dovuto dal fatto che ATEvent
>> non è un oggetto folderish così ho provato a fare la stessa cosa con
>> l'ATFolder, giusto per verificare, ma il problema non si risolve
>>
>> Ho provato a fare delle prove anche con un nuovo Archetype creato
>> appositamente allo scopo ma lo stesso non sono riuscito a risolvere
>> il problema
>>
>>
>> Qualche suggerimento su cosa sto sbagliando o su cosa dovrei fare?
>> ...
> - installa SimpleAttachment nel portale (il widget usa dei template
> definiti in questo prodotto)
> - controlla l'implementazione di processForm in RichDocument
>
>
@Luca Fabbri: purtroppo l'output della shell non sembra restituire alcun
errore..
@Riccardo Lemmi:
Si, avevo già installato SimpleAttachment e vedendo come fosse
strutturato RichDocument ho cercato di fare una prova con un nuovo
archetype includendo l'implementazione processForm ma senza successo...
Di fatto non avevo provato ad includere la stessa implementazione
nell'estensione dell'ATEvent ho provando proprio ora ma il problema
purtroppo sembra non essere risolto
Ora la configurazione che ho è questa
Non so...forse sto facendo qualche stupido errore nella configurazione
ma non riesco a capire dov'è l'errore
from Products.Archetypes.public import BooleanField
from Products.Archetypes import atapi
from archetypes.schemaextender.field import ExtensionField
from zope.component import adapts
from zope.interface import implements
from archetypes.schemaextender.interfaces import ISchemaExtender
from Products.ATContentTypes.interface import IATEvent
from Products.SimpleAttachment.widget import AttachmentsManagerWidget
from Products.ATContentTypes.content.event import ATEvent
class EventExtensionBlobField(ExtensionField, BooleanField):
""" New Event field """
class EventExtender(object):
adapts(IATEvent)
implements(ISchemaExtender)
def __init__(self, context):
self.context = context#
def getFields(self):
return self.fields
fields = [
EventExtensionBlobField('attachments',
default=True,
widget=AttachmentsManagerWidget(
label=("Attachments"),
description=(""),
expanded=True,
)),
]
# enable FTP/WebDAV and friends
PUT = ATEvent.PUT
def processForm(self, data=1, metadata=0, REQUEST=None, values=None):
ATEvent.processForm(self, data=data, metadata=metadata,
REQUEST=REQUEST, values=values)
request = REQUEST or self.REQUEST
if values:
form = values
else:
form = request.form
if "attachmentFile" in form and form["attachmentFile"]:
self.widget_attachmentsmanager_upload(state=None)
if "imageFile" in form and form["imageFile"]:
self.widget_imagesmanager_upload(state=None)
Grazie ancora per la disponibilità e la pazienza ;)
Un saluto
Roberto
>
>
> _______________________________________________
> 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/20120906/e3e34919/attachment-0001.html>
Maggiori informazioni sulla lista
Plone-IT