Пример #1
0
 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)
Пример #2
0
 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
         )
Пример #3
0
    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)
Пример #4
0
    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)
Пример #5
0
 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')
Пример #6
0
 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')
Пример #7
0
    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)
Пример #8
0
    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)
Пример #9
0
 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
Пример #10
0
 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)
Пример #12
0
    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)
Пример #13
0
    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
Пример #14
0
 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)
Пример #15
0
 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)
Пример #16
0
 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)
Пример #17
0
 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)
Пример #18
0
 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)
Пример #19
0
 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)
Пример #20
0
 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)
Пример #21
0
 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
Пример #22
0
 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)
Пример #23
0
 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)
Пример #24
0
 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)
Пример #25
0
 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)
Пример #26
0
 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)    
Пример #27
0
 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,
     )
Пример #28
0
 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)
Пример #29
0
 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)
Пример #30
0
 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),
         )
Пример #31
0
 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))
Пример #33
0
 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)
Пример #34
0
    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)
Пример #35
0
    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
Пример #36
0
    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))
Пример #37
0
 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,
     )
Пример #38
0
 def __call__(self):
     return widget.renderElement(
         u'a',
         href=self.url,
         contents=self.filename)
Пример #39
0
 def __call__(self):
     if self._renderedValueSet():
         content = self._data
     else:
         content = self.context.default
     return renderElement("pre", contents=escape(content))