<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>