[Usuarios Plone] RichWidget en formulario

Raul Rios listaspython at gmail.com
Mon May 18 17:28:33 UTC 2009


Buenas:

Estoy tratando de hacer un formulario para que los usuarios puedan mandar 
un correo desde el portal. El cuerpo del mensaje ha de ser en HTML, por lo 
que estaría bien que pudieran utilizar Kupu para escribirlo, pero no 
encuentro la forma de cambiar el widget en el campo "mensaje" para que 
salga el editor.

Aquí les dejo la clase del formulario por si me pueden ayudar:

"""Formulario para redactar el mensaje
"""

from zope.interface import Interface

from zope import schema

from zope.formlib import form
from Products.Five.formlib import formbase

from Products.statusmessages.interfaces import IStatusMessage

from Acquisition import aq_inner
from Products.CMFCore.utils import getToolByName
from Products.Archetypes.atapi import RichWidget

import zope.app.form.browser.widget


class IRedaccionForm(Interface):
    """Define los campos del formulario
    """
    
    para = schema.TextLine(title=_(u"Para:"), required=True)
    de = schema.TextLine(title=_(u"De:"), required=True)
    asunto = schema.TextLine(title=_(u"Asunto:"), required=True)
    mensaje = schema.Text(title=_(u"Mensaje:"), required=True)
    


class RedaccionForm(formbase.PageForm):
    form_fields = form.FormFields(IRedaccionForm)
    label = _(u"Redactar Mensaje")
    #form_fields['mensaje'].custom_widget = RichWidget
    
    def setUpWidgets(self, ignore_request=False):
        super(RedaccionForm, 
self).setUpWidgets(ignore_request=ignore_request)
        
        # Anchura de los campos
        for widget in self.widgets:
            if widget.type == u'text':
                widget.displayWidth = 40
    
            
    # Quitar borde
    def __call__(self):
        self.request.set('disable_border', True)
        return super(RedaccionForm, self).__call__()
    
    
    @form.action(_(u"Send"))
    def action_send(self, action, data):
        """Envia correo
        """
	.
	.	
	.
       
Un saludo
Raúl





More information about the Usuarios-Plone mailing list