[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