def __call__(self): displayMaxWidth = self.displayMaxWidth or 0 hidden = renderElement(self.tag, type='hidden', name=self.name+".used", id=self.name+".used", value="") if displayMaxWidth > 0: elem = renderElement(self.tag, type=self.type, name=self.name, id=self.name, cssClass=self.cssClass, size=self.displayWidth, maxlength=displayMaxWidth, extra=self.extra) else: elem = renderElement(self.tag, type=self.type, name=self.name, id=self.name, cssClass=self.cssClass, size=self.displayWidth, extra=self.extra) return "%s %s" % (hidden, elem)
def __call__( self ): """Render the widget to HTML.""" value = self._getFormValue() html = "<label for='%s'>%s</label>\n" % (self.name , translate(self.context.title, context=self.request)) if self.__required: html += "<span class='fieldRequired' title='%s'>%s</span>" % (translate(_(u'title_required', default='Required'), context=self.request), translate(_(u'label_required', default='(Required)'), context=self.request)) if self.context.description: html += "<div class='formHelp'>%s</div>" % translate(self.context.description, context=self.request) if super(BaseWidget, self).error() != '': html += "<div>%s</div>" % translate(super(BaseWidget, self).error(), context=self.request) if value == 'on': kw = {'checked': 'checked'} else: kw = {} if self.disabled: kw['disabled'] = 'disabled' return "%s %s %s" % ( renderElement(self.tag, type='hidden', name=self.name+".used", id=self.name+".used", value="" ), renderElement(self.tag, type=self.type, name=self.name, id=self.name, cssClass=self.cssClass, extra=self.extra, value="on", **kw), html )
def __call__(self): password_tag = renderElement( self.tag, type=self.type, name=self.name, id=self.name, value=self.default, cssClass=self.cssClass, style=self.style, size=self.displayWidth, extra=self.extra) confirm_name = self.name + '.confirm' confirm_tag = renderElement( self.tag, type=self.type, name=confirm_name, id=confirm_name, value=self.default, cssClass=self.cssClass, style=self.style, size=self.displayWidth, extra=self.extra) confirm_label = translate(_("Confirm password"), context=self.request) return u"""<div><div>%s</div> <br /> <div class="label"> <label for="%s" title="">%s</label> </div> <div>%s</div> </div>""" % ( password_tag, confirm_name, confirm_label, confirm_tag)
def __call__(self): value = self._getFormValue() if value is None or value == self.context.missing_value: value = '' value = value.split("|") if len(value) == 2: value = (value[0].strip(), value[1].strip()) else: value = ('', '') url = renderElement(self.tag, type=self.type, name=self.name+'.url', id=self.name+'.url', value=value[0], cssClass=self.cssClass, size=85, extra=self.extra) key = renderElement(self.tag, type=self.type, name=self.name+'.key', id=self.name+'.key', value=value[1], cssClass=self.cssClass, size=85, extra=self.extra) return "%s %s" % (url, key)
def __call__(self, *args, **kw): html = '' data = self._getFormValue() if data is None or data == self._data_marker: data = datetime.date.today() # day contents = self.renderItemsWithValues(self.elements[0][0], data.day) name = self.name + '.' + self.elements[0][1] html += renderElement('select', name=name, id=name, contents=contents, cssClass='dayField') html += '\n' # month contents = self.renderItemsWithValues(self.elements[1][0], data.month) name = self.name + '.' + self.elements[1][1] html += renderElement('select', name=name, id=name, contents=contents, cssClass='monthField') html += '\n' # year contents = self.renderItemsWithValues(self.elements[2][0], data.year) name = self.name + '.' + self.elements[2][1] html += renderElement('select', name=name, id=name, contents=contents, cssClass='yearField') html += '\n' return renderElement('div', contents=html, cssClass='dropDownDateWidget')
def __call__(self, *args, **kw): html = '' data = self._getFormValue() if data is None or data == self._data_marker: data = datetime.date.today() # day contents = self.renderItemsWithValues(self.elements[0][0], data.day) name = self.name+'.'+self.elements[0][1] html += renderElement('select', name=name, id=name, contents=contents, cssClass='dayField') html += '\n' # month contents = self.renderItemsWithValues(self.elements[1][0],data.month) name = self.name+'.'+self.elements[1][1] html += renderElement('select', name=name, id=name, contents=contents, cssClass='monthField') html += '\n' # year contents = self.renderItemsWithValues(self.elements[2][0],data.year) name = self.name+'.'+self.elements[2][1] html += renderElement('select', name=name, id=name, contents=contents, cssClass='yearField') html += '\n' return renderElement('div',contents=html,cssClass='dropDownDateWidget')
def __call__(self): password_tag = renderElement(self.tag, type=self.type, name=self.name, id=self.name, value=self.default, cssClass=self.cssClass, style=self.style, size=self.displayWidth, extra=self.extra) confirm_name = self.name + '.confirm' confirm_tag = renderElement(self.tag, type=self.type, name=confirm_name, id=confirm_name, value=self.default, cssClass=self.cssClass, style=self.style, size=self.displayWidth, extra=self.extra) confirm_label = translate(_("Confirm password"), context=self.request) return u"""<div><div>%s</div> <br /> <div class="label"> <label for="%s" title="">%s</label> </div> <div>%s</div> </div>""" % (password_tag, confirm_name, confirm_label, confirm_tag)
def renderItem(self, index, text, value, name, cssClass): id = '%s.%s' % (name, index) elem = renderElement('input', type="checkbox", cssClass=cssClass, name=name, id=id, value=value) label = renderElement('label', extra=u"for=%s" % id, contents=text) return self._joinButtonToMessageTemplate % (elem, label)
def renderItemsWithValues(self, values, selected=None): """ Render all values from a dropdown """ html = '' for value in values: if selected == int(value): html += renderElement('option', value=value, selected='selected', contents=value) else: html += renderElement('option', value=value, contents=value) return html
def renderItemsWithValues(self, values, selected=None): """ Render all values from a dropdown """ html = '' for value in values: if selected==int(value): html += renderElement('option', value=value, selected='selected', contents=value) else: html += renderElement('option', value=value, contents=value) return html
def renderItem(self, index, text, value, name, cssClass): id = '%s.%s' % (name, index) elem = renderElement('input', type="checkbox", cssClass=cssClass, name=name, id=id, value=value) label = renderElement('label', extra= u"for=%s" % id, contents=text) return self._joinButtonToMessageTemplate %(elem, label)
def __call__(self): kwargs = {'type': self.type, 'name': self.name, 'id': self.name, 'cssClass': self.cssClass, 'style': self.style, 'size': self.displayWidth, 'extra': self.extra} site = self.get_site() portal_url = getToolByName(site, 'portal_url')() key = site.getCaptcha() if self._prefix: prefix = '%s.' % self._prefix else: prefix = '' return u"""<input type="hidden" value="%s" name="%shashkey" /> %s <img src="%s/getCaptchaImage/%s" alt="Enter the word"/>""" % (key, prefix, renderElement(self.tag, **kwargs), portal_url, key)
def __call__(self): # get the data to display: if self._renderedValueSet(): data = self._data else: data = self.context.get(self.context.context) # deal with special cases: if data == self.context.missing_value: return translate(self._missingValueMessage, self.request) data = list(data) if not data: return translate(self._emptySequenceMessage, self.request) parts = [] for i, item in enumerate(data): widget = self._getWidget(i) widget.setRenderedValue(item) s = widget() if self.itemTag: s = "<%s>%s</%s>" % (self.itemTag, s, self.itemTag) parts.append(s) contents = "\n".join(parts) if self.tag: contents = "\n%s\n" % contents contents = renderElement(self.tag, cssClass=self.cssClass, extra=self.extra, contents=contents) return contents
def renderSelectedItem(self, index, text, value, name, cssClass): """Render a selected item of the list.""" id = "%s.%s" % (name, index) elem = renderElement( u"input", value=value, name=name, id=id, cssClass=cssClass, checked="checked", type="radio" ) return self._joinButtonToMessageTemplate % (elem, text)
def renderItem(self, index, text, value, name, cssClass): id = '%s.%s' % (name, index) elem = renderElement('input', type="checkbox", cssClass=cssClass, name=name, id=id, value=value) return self._joinButtonToMessageTemplate % (cssClass, elem, text, value)
def render_version(self, value=''): return renderElement(self.tag, type='text', name=self.name+'.version', id=self.name+'.version', value=value, cssClass=self.cssClass, size=8, extra=self.extra)
def __call__(self): if self._renderedValueSet(): content = self._data else: content = self.context.default content = escape(content) kw = dict(contents=content, href=content) if self.linkTarget: kw["target"] = self.linkTarget return renderElement("a", **kw)
def __call__(self): """See IBrowserWidget.""" value = self._getFormValue() if value: rendered_items = self.renderItems(value) return renderElement( self.tag, id=self.name, cssClass=self.cssClass, contents="\n".join(rendered_items), extra=self.extra ) else: return self.translate(self._messageNoValue)
def __call__(self): return renderElement("textarea", name=self.name, id=self.name, cssClass=self.cssClass, rows=self.height, cols=self.width, style=self.style, contents=escape(self._getFormValue()), extra=self.extra)
def renderItem(self, index, text, value, name, cssClass): widgetId = '%s.%s' % (name, index) elem = renderElement('input', type="radio", cssClass=cssClass, name=name, id=widgetId, value=value) label = '<label class="radioLabel" for="%s">%s</label>' % (widgetId, text) return self._joinButtonToMessageTemplate % (elem, label)
def renderItems(self, value): """Render items of sequence.""" items = [] cssClass = self.cssClass or "" if cssClass: cssClass += "-item" tag = self.itemTag for item in value: term = self.vocabulary.getTerm(item) items.append(renderElement(tag, cssClass=cssClass, contents=escape(self.textForValue(term)))) return items
def renderSelectedItem(self, index, text, value, name, cssClass): """Render a selected item of the list.""" widgetId = '%s.%s' % (name, index) elem = renderElement('input', value=value, name=name, id=widgetId, cssClass=cssClass, checked="checked", type='radio') label = '<label class="radioLabel" for="%s">%s</label>' % (widgetId, text) return self._joinButtonToMessageTemplate % (elem, label)
def __call__(self): if self._renderedValueSet(): content = self._data else: content = self.context.default if content == self.context.missing_value: return "" formatter = self.request.locale.dates.getFormatter( self._category, (self.displayStyle or None)) content = formatter.format(content) return renderElement("span", contents=escape(content), cssClass=self.cssClass)
def renderSelectedItem(self, index, text, value, name, cssClass): widgetId = '%s.%s' % (name, index) elem = renderElement('input', type="checkbox", cssClass=cssClass, name=name, id=widgetId, value=value, checked="checked") label = '<label class="checkboxLabel" for="%s">%s</label>' % (widgetId, text) gId = widgetId.replace('.', '-') return self._joinButtonToMessageTemplate % (gId, elem, label)
def __call__(self): if self._renderedValueSet(): content = self._data else: content = self.context.default if not content: return u'' content = escape(content) kw = dict(contents=content, href=content) if self.linkTarget: kw["target"] = self.linkTarget return renderElement("a", **kw)
def renderValue(self, value): # All we really add here is the ':list' in the name argument # and mutliple=None to renderElement(). rendered_items = self.renderItems(value) return renderElement( self.tag, name=self.name + ":list", id=self.name, multiple="multiple", size=self.size, contents="\n".join(rendered_items), extra=self.extra, )
def __call__(self): """Render the widget to HTML.""" value = self._getFormValue() if value == 'on': kw = {'checked': 'checked'} else: kw = {} return "%s %s" % ( renderElement(self.tag, type='hidden', name=self.name+".used", id=self.name+".used", value="" ), renderElement(self.tag, type=self.type, name=self.name, id=self.name, cssClass=self.cssClass, extra=self.extra, value="on", **kw), )
def __call__(self): displayMaxWidth = self.displayMaxWidth or 0 if displayMaxWidth > 0: return renderElement(self.tag, type=self.type, name=self.name, id=self.name, value='', cssClass=self.cssClass, style=self.style, size=self.displayWidth, maxlength=displayMaxWidth, extra=self.extra) else: return renderElement(self.tag, type=self.type, name=self.name, id=self.name, value='', cssClass=self.cssClass, style=self.style, size=self.displayWidth, extra=self.extra)
def __call__(self): """See IBrowserWidget.""" value = self._getFormValue() contents = [] value = self._div('value', self.renderValue(value)) value_wraped = renderElement('div', id=self.name + '_container', contents=value) contents.append(value_wraped) contents.append(self._emptyMarker()) contents.append(self._required()) return self._div(self.cssClass, "\n".join(contents))
def hidden(self): items = [] for item in self._getFormValue(): items.append( renderElement( u"input", type="hidden", name=self.name + ":list", id=self.name, value=self.vocabulary.getTerm(item).token, cssClass=self.cssClass, extra=self.extra, ) ) return "\n".join(items)
def __call__(self): value = self._getFormValue() if value is None or value == self.context.missing_value: value = '' kwargs = {'type': self.type, 'name': self.name, 'id': self.name, 'value': value, 'cssClass': self.cssClass, 'style': self.style, 'size': self.displayWidth, 'extra': self.extra} if self.displayMaxWidth: kwargs['maxlength'] = self.displayMaxWidth # TODO This is untested. return renderElement(self.tag, **kwargs)
def __call__(self): file_present = True if not self._data: file_present = False url = self.url if not url: file_present = False if not file_present: return widget.renderElement(u'span', cssClass='media-absent media-player', contents=_('No media to play')) video = self.context.context if video.video_image is not None: field = interfaces.IVideo['video_image'].bind(video) imageurl = ImageURLWidget(field, self.request).url or None else: imageurl = None field = self.context contentobj = field.context.context width = video.width height = video.height mime_type = unicode(contentobj.get_content_type()) media_player = component.queryAdapter(field, interface=interfaces.IMediaPlayer, name=mime_type) absolute_url = video.context.absolute_url() if media_player is None: return widget.renderElement \ (u'span', cssClass='player-not-available media-player', contents=_("No available player for mime type '%s'" % mime_type)) s = u'<div class="media-player">%s</div>' % media_player(absolute_url, imageurl, width, height) return s
def __call__(self): value = '' contents = [] have_results = False # Render the Drop Down contents.append(self._div('formHelp', _(u'Select from below:'))) contents.append(self._div('value', self.renderValue(value))) # Render the edit box contents.append(self._div('formHelp', _(u'If not found, type in the name below to create a new one:'))) contents.append(self._div('value', renderElement('input', type='text', name='form.newdivision', id='form.division.textfield'))) contents.append(self._emptyMarker()) return self._div(self.cssClass, "\n".join(contents))
def hidden(self): # XXX: _getFormValue() should return a string value that can be # used in a HTML form, but it doesn't. When # http://www.zope.org/Collectors/Zope3-dev/584 gets fixed # this hack should be reverted. # -- Bjorn Tillenius, 2006-04-12 value = self._getFormValue() if value == self._missing: form_value = "" else: form_value = self.vocabulary.getTerm(value).token return renderElement( u"input", type="hidden", name=self.name, id=self.name, value=form_value, cssClass=self.cssClass, extra=self.extra, )
def __call__(self): return widget.renderElement( u'a', href=self.url, contents=self.filename)
def __call__(self): if self._renderedValueSet(): content = self._data else: content = self.context.default return renderElement("pre", contents=escape(content))