示例#1
0
    def __init__(self, *args, **kwargs):
        super(UserSearchForm, self).__init__(* args, ** kwargs)

        helpers.custom_fields(self,
                              prefix=CUSTOMFIELDS_SEARCH_PREFIX,
                              make_required=False)

        self.helper = FormHelper()
        self.helper.form_class = 'form-horizontal'
        self.helper.label_class = ("col-sm-3 col-md-2 col-lg-2 pr-0 "
                                   "control-label")
        self.helper.field_class = 'col-sm-8 col-md-5 col-lg-5'
        self.helper.form_method = 'GET'
        self.helper.layout = Layout()

        custom_fields = CustomField.objects.all().order_by('order')
        for custom_field in custom_fields:
            custom_field.required = False
            self.helper.layout.append(
                CUSTOMFIELDS_SEARCH_PREFIX+custom_field.id)

        self.helper.layout.append(
            Div(
                Submit('submit', _('Search'), css_class='btn btn-default'),
                css_class='col-lg-7 col-md-7 col-sm-11 text-right',
            )
        )
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        helpers.custom_fields(self,
                              prefix=CUSTOMFIELDS_SEARCH_PREFIX,
                              make_required=False)

        self.advanced = FormHelper()
        self.advanced.form_class = 'form-horizontal'
        self.advanced.label_class = (
            "col-sm-3 col-md-2 col-lg-2 pr-0 control-label")
        self.advanced.field_class = 'col-sm-8 col-md-4 col-lg-5'
        self.advanced.form_method = 'GET'
        self.advanced.layout = Layout()
        self.advanced.form_tag = False
        self.helper.form_tag = False

        self.advanced.layout.append(
            Div(
                Submit('submit', _('Search'), css_class='btn btn-default'),
                css_class='col-lg-7 col-md-7 col-sm-11 text-right',
            ))
    def __init__(self, *args, **kwargs):
        super(RegisterForm, self).__init__(*args, **kwargs)

        helpers.custom_fields(self)

        self.helper = FormHelper()
        self.helper.form_class = 'form-horizontal'
        self.helper.label_class = 'col-lg-2'
        self.helper.field_class = 'col-lg-4'
        self.helper.layout = Layout('username', 'email', 'password',
                                    'password_again', 'first_name',
                                    'last_name', 'job_title', 'organisation',
                                    'phone_number')

        custom_fields = CustomField.objects.all().order_by('order')
        for custom_field in custom_fields:
            self.helper.layout.append(custom_field.id)

        self.helper.layout.append(
            Div(
                Submit('submit', _(u'Register'), css_class='btn btn-default'),
                css_class='col-lg-offset-2 col-lg-4',
            ), )
示例#4
0
    def __init__(self, allow_edit=True, *args, **kwargs):
        super(ProfileForm, self).__init__(*args, **kwargs)

        userdata = kwargs.get('initial') \
            if 'initial' in kwargs else kwargs.get('data')
        email = userdata.get('email', None)
        username = userdata.get('username', None)

        helpers.custom_fields(self)

        self.helper = FormHelper()
        self.helper.form_class = 'form-horizontal'
        self.helper.label_class = 'col-lg-2 col-md-3 col-sm-4'
        self.helper.field_class = 'col-lg-5 col-md-7 col-sm-8'

        self.helper.layout = Layout()

        if SettingProperties.get_bool(constants.OPPIA_SHOW_GRAVATARS,
                                      settings.OPPIA_SHOW_GRAVATARS):
            gravatar_url = "https://www.gravatar.com/avatar.php?"
            gravatar_id = hashlib.md5(str(email).encode('utf-8')).hexdigest()
            gravatar_url += urllib.parse.urlencode({
                'gravatar_id': gravatar_id,
                'size': 64
            })
            self.helper.layout.append(
                Div(
                    HTML("""<label class="control-label col-lg-2">""" +
                         _(u'Photo') + """</label>"""),
                    Div(
                        HTML(
                            mark_safe('<img src="{0}" alt="gravatar for {1}" \
                            class="gravatar" width="{2}" height="{2}"/>'.
                                      format(gravatar_url, username, 64))),
                        HTML("""<br/>"""),
                        HTML("""<a href="https://www.gravatar.com">""" +
                             _(u'Update gravatar') + """</a>"""),
                        css_class="col-lg-4",
                    ),
                    css_class="form-group",
                ))

        if not allow_edit:
            # Set fields as read-only if the user is not allow to edit their
            # profile
            for key, field in self.fields.items():
                if not key.startswith('password'):
                    field.widget.attrs.update({'readonly': 'readonly'})

        self.helper.layout.extend([
            'api_key', 'username', 'email', 'first_name', 'last_name',
            'job_title', 'organisation', 'phone_number'
        ])

        custom_fields = CustomField.objects.all().order_by('order')
        for custom_field in custom_fields:
            self.helper.layout.append(custom_field.id)

        self.helper.layout.extend([
            Div(
                HTML("""<h4 class='mt-5 mb-3'>""" + _(u'Change password') +
                     """</h4>"""), ),
            Div(HTML("""<div style='clear:both'></div>""")), 'password',
            'password_again',
            Div(
                Submit('submit',
                       _(u'Save Profile'),
                       css_class='btn btn-default mt-3'),
                css_class='text-center col-lg-offset-2 col-lg-6',
            )
        ])
示例#5
0
    def __init__(self, *args, **kwargs):
        super(ProfileForm, self).__init__(* args, ** kwargs)
        if len(args) == 1:
            email = args[0]['email']
            username = args[0]['username']
        else:
            kw = kwargs.pop('initial')
            email = kw['email']
            username = kw['username']

        helpers.custom_fields(self)

        self.helper = FormHelper()
        self.helper.form_class = 'form-horizontal'
        self.helper.label_class = 'col-lg-2 col-md-3 col-sm-4'
        self.helper.field_class = 'col-lg-5 col-md-7 col-sm-8'

        self.helper.layout = Layout()

        if SettingProperties.get_bool(
                constants.OPPIA_SHOW_GRAVATARS,
                settings.OPPIA_SHOW_GRAVATARS):
            gravatar_url = "https://www.gravatar.com/avatar.php?"
            gravatar_id = hashlib.md5(str(email).encode('utf-8')).hexdigest()
            gravatar_url += urllib.parse.urlencode({
                'gravatar_id': gravatar_id,
                'size': 64
            })
            self.helper.layout.append(
                Div(
                    HTML("""<label class="control-label col-lg-2">"""
                         + _(u'Photo') + """</label>"""),
                    Div(
                        HTML(mark_safe(
                            '<img src="{0}" alt="gravatar for {1}" \
                            class="gravatar" width="{2}" height="{2}"/>'
                            .format(gravatar_url, username, 64))),
                        HTML("""<br/>"""),
                        HTML("""<a href="https://www.gravatar.com">"""
                             + _(u'Update gravatar') + """</a>"""),
                        css_class="col-lg-4",
                    ),
                    css_class="form-group",
                )
            )

        self.helper.layout.extend(
            ['api_key',
             'username',
             'email',
             'first_name',
             'last_name',
             'job_title',
             'organisation'])

        custom_fields = CustomField.objects.all().order_by('order')
        for custom_field in custom_fields:
            self.helper.layout.append(custom_field.id)

        self.helper.layout.extend([
            Div(
                HTML("""<h4 class='mt-5 mb-3'>"""
                     + _(u'Change password') + """</h4>"""),
            ),
            Div(HTML("""<div style='clear:both'></div>""")),
            'password',
            'password_again',
            Div(
                Submit('submit',
                       _(u'Save Profile'),
                       css_class='btn btn-default mt-3'),
                css_class='text-center col-lg-offset-2 col-lg-6',
            )])