Ejemplo n.º 1
0
class MilestoneField(ew.SingleSelectField):
    template=ew.Snippet('''<select {{widget.j2_attrs({
               'id':id,
               'name':rendered_name,
               'multiple':multiple,
               'class':css_class},
               attrs)}}>
            {% for o in open_milestones %}
            <option{% if o.selected%} selected{% endif %} value="{{o.html_value}}">{{o.label|e}}</option>
            {% endfor %}
            {% if closed_milestones %}
            <optgroup label="Closed">
                {% for o in closed_milestones %}
                <option{% if o.selected%} selected{% endif %} value="{{o.html_value}}">{{o.label|e}}</option>
                {% endfor %}
            </optgroup>
            {% endif %}
        </select>''', 'jinja2')

    def prepare_context(self, context):
        context = super(MilestoneField, self).prepare_context(context)

        # group open / closed milestones
        context['open_milestones'] = [opt for opt in self.options if not opt.complete]
        context['closed_milestones'] = [opt for opt in self.options if opt.complete]

        # filter closed milestones entirely
        #value = context['value']
        #context['options'] = [opt for opt in self.options if not opt.complete or value == opt.py_value]

        return context
Ejemplo n.º 2
0
    def fields(self):
        fields = [
            ew.TextField(name=g.antispam.enc('username'), label='Username', attrs={
                'autofocus': 'autofocus',
                'placeholder': 'Username' if plugin.ThemeProvider.get().use_input_placeholders() else '',
                'autocomplete': 'username',
                'autocapitalize': 'none',
            }),
            ew.PasswordField(name=g.antispam.enc('password'), label='Password', attrs={
                'placeholder': 'Password' if plugin.ThemeProvider.get().use_input_placeholders() else '',
                'autocomplete': 'current-password',
            }),
            ew.Checkbox(
                name=g.antispam.enc('rememberme'),
                label='Remember Me',
                attrs={'style': 'margin-left: 162px;'}),
            ew.HiddenField(name='return_to'),
        ]
        if plugin.AuthenticationProvider.get(request).forgotten_password_process:
            # only show link if auth provider has method of recovering password
            fields.append(
                ew.HTMLField(
                    name='link',
                    text='<a href="/auth/forgotten_password" style="margin-left:162px" target="_top">'
                         'Forgot password?</a>'))

        for fld in g.antispam.extra_fields():
            fields.append(
                ew_core.Widget(template=ew.Snippet(fld)))

        return fields
Ejemplo n.º 3
0
class DisplayOnlyField(ew.HiddenField):
    '''
    Render a field as plain text, optionally with a hidden field to preserve the value.
    '''
    template = ew.Snippet(
        '''{{ (text or value or attrs.value)|e }}
        {%- if with_hidden_input is none and name or with_hidden_input -%}
        <input {{
            widget.j2_attrs({
                'type':'hidden',
                'name':name,
                'value':value,
                'class':css_class}, attrs)
        }}>
        {%- endif %}''', 'jinja2')
    defaults = dict(ew.HiddenField.defaults,
                    text=None,
                    value=None,
                    with_hidden_input=None)
Ejemplo n.º 4
0
class _HTMLExplanation(ew.InputField):
    template = ew.Snippet(
        '''<label class="grid-4">&nbsp;</label>
           <div class="grid-14" style="margin:2px;">{{widget.text}}</div>
        ''', 'jinja2')