<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Il 06/09/12 10:24, Riccardo Lemmi ha
scritto:<br>
</div>
<blockquote cite="mid:201209061025.06117.riccardo@reflab.com"
type="cite">
<pre wrap="">On Thursday 06 September 2012, Roberto Rascioni wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Il 05/09/12 11:57, Riccardo Lemmi ha scritto:
</pre>
<blockquote type="cite">
<pre wrap="">On Wednesday 05 September 2012, Roberto Rascioni wrote:
</pre>
<blockquote type="cite">
<pre wrap="">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
</pre>
</blockquote>
<pre wrap="">
Puoi partire da cotnent, field e widget di SimpleAttachment che
sono usati da RichDocument.
</pre>
</blockquote>
<pre wrap="">
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?
...
</pre>
</blockquote>
<pre wrap="">
- installa SimpleAttachment nel portale (il widget usa dei template
definiti in questo prodotto)
- controlla l'implementazione di processForm in RichDocument
</pre>
<br>
</blockquote>
@Luca Fabbri: purtroppo l'output della shell non sembra restituire
alcun errore.. <br>
<br>
@Riccardo Lemmi:<br>
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...<br>
<br>
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<br>
<br>
Ora la configurazione che ho è questa<br>
Non so...forse sto facendo qualche stupido errore nella
configurazione ma non riesco a capire dov'è l'errore<br>
<br>
<tt>from Products.Archetypes.public import BooleanField</tt><tt><br>
</tt><tt>from Products.Archetypes import atapi</tt><tt><br>
</tt><tt><br>
</tt><tt>from archetypes.schemaextender.field import ExtensionField</tt><tt><br>
</tt><tt><br>
</tt><tt>from zope.component import adapts</tt><tt><br>
</tt><tt>from zope.interface import implements</tt><tt><br>
</tt><tt>from archetypes.schemaextender.interfaces import
ISchemaExtender</tt><tt><br>
</tt><tt>from Products.ATContentTypes.interface import IATEvent</tt><tt><br>
</tt><tt><br>
</tt><tt>from Products.SimpleAttachment.widget import
AttachmentsManagerWidget</tt><tt><br>
<br>
from Products.ATContentTypes.content.event import ATEvent<br>
</tt><br>
<br>
<tt>class EventExtensionBlobField(ExtensionField, BooleanField):</tt><tt><br>
</tt><tt> """ New Event field """</tt><tt><br>
</tt><tt><br>
</tt><tt>class EventExtender(object):</tt><tt><br>
</tt><tt> adapts(IATEvent)</tt><tt><br>
</tt><tt> implements(ISchemaExtender)</tt><tt><br>
</tt><tt><br>
</tt><tt> def __init__(self, context):</tt><tt><br>
</tt><tt> self.context = context#</tt><tt><br>
</tt><tt><br>
</tt><tt> def getFields(self):</tt><tt><br>
</tt><tt> return self.fields</tt><tt><br>
</tt><tt><br>
</tt><tt> fields = [</tt><tt><br>
</tt><tt> EventExtensionBlobField('attachments',</tt><tt><br>
</tt><tt> default=True,</tt><tt><br>
</tt><tt> widget=AttachmentsManagerWidget(</tt><tt><br>
</tt><tt> label=("Attachments"),</tt><tt><br>
</tt><tt> description=(""),</tt><tt><br>
</tt><tt> expanded=True,</tt><tt><br>
</tt><tt> )),</tt><tt><br>
</tt><tt> ]</tt><tt><br>
<br>
# enable FTP/WebDAV and friends<br>
PUT = ATEvent.PUT<br>
<br>
def processForm(self, data=1, metadata=0, REQUEST=None,
values=None):<br>
ATEvent.processForm(self, data=data, metadata=metadata,<br>
REQUEST=REQUEST, values=values)<br>
<br>
request = REQUEST or self.REQUEST<br>
if values:<br>
form = values<br>
else:<br>
form = request.form<br>
<br>
if "attachmentFile" in form and form["attachmentFile"]:<br>
self.widget_attachmentsmanager_upload(state=None)<br>
if "imageFile" in form and form["imageFile"]:<br>
self.widget_imagesmanager_upload(state=None)</tt><br>
<br>
<br>
Grazie ancora per la disponibilità e la pazienza ;)<br>
Un saluto<br>
Roberto<br>
<blockquote cite="mid:201209061025.06117.riccardo@reflab.com"
type="cite">
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Plone-IT mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Plone-IT@lists.plone.org">Plone-IT@lists.plone.org</a>
<a class="moz-txt-link-freetext" href="https://lists.plone.org/mailman/listinfo/plone-plone-it">https://lists.plone.org/mailman/listinfo/plone-plone-it</a>
<a class="moz-txt-link-freetext" href="http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html">http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html</a></pre>
</blockquote>
<br>
<br>
<div class="moz-signature"><span
style="font-size:12px;color:999999;"><br>
</span></div>
</body>
</html>