def __init__(self, context, request): self.context = context self.request = request self.fields = [fo for fo in context._getFieldObjects() if not implementedOrProvidedBy(IField, fo)] self.action_adapters = [a for a in self.context.contentValues() if IPloneFormGenActionAdapter.providedBy(a) and IMultiplexedActionAdapter.providedBy(a) ]
def _dreplace(t, form, request): vars = {} fields = [fo for fo in form._getFieldObjects() if not implementedOrProvidedBy(IField, fo)] for field in fields: fname = 'sender_' + field.__name__ value = field.htmlValue(request) if isinstance(value, unicode): value = value.encode('utf-8') transformer = getToolByName(form, 'portal_transforms') value = transformer('html_to_web_intelligent_plain_text', value) vars[fname] = safe_unicode(value.strip()) for k, v in request.form.items(): if not k.startswith('recip_'): continue vars[k] = safe_unicode(v) for k, adapter in getAdapters((form, request), IVariableProvider): v = adapter() vars[k] = v return dollarReplace.DollarVarReplacer(vars).sub(t)
def column_names(self): return [fo.__name__ for fo in self.context._getFieldObjects() if not implementedOrProvidedBy(IField, fo) and not fo.isLabel()]