Exemplo n.º 1
0
 def __init__(self, *args, **kwargs):
     super(ProgressNoteForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper(self)
     self.helper.form_class = 'check-connection'
     self.helper.add_input(Submit('workup', 'Submit'))
Exemplo n.º 2
0
    def __init__(self, *args, **kwargs):
        super(PersonForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper(self)
        self.helper = FormHelper()
        self.helper.form_method = 'post'
        self.helper.html5_required = True
        if self.instance != None and self.instance.membertype == Person.CHILD:
            nameFieldSet = Fieldset('Barnets oplysninger',
                    Div(
                         Div(Field('gender'), css_class="col-md-2"),
                         Div(Field('name'), css_class="col-md-10"),
                         Div(Field('birthday', css_class="datepicker", input_formats=(settings.DATE_INPUT_FORMATS)), css_class="col-md-4"),
                         Div(Field('email'), css_class="col-md-4"),
                         Div(Field('phone'), css_class="col-md-4"),
                         css_class="row"
                       )
                )
            self.fields['birthday'].required = True
        else:
            nameFieldSet = Fieldset('Forældres / Værges oplysninger',
                        Div(
                            Div(Field('gender'), css_class="col-md-2"),
                            Div(Field('name'), css_class="col-md-10"),
                            Div(Field('birthday', css_class="datepicker", input_formats=(settings.DATE_INPUT_FORMATS)), css_class="col-md-4"),
                            Div(Field('email'), css_class="col-md-4"),
                            Div(Field('phone'), css_class="col-md-4"),
                            css_class="row"
                           )
                     )
            self.fields['email'].required = True
            self.fields['phone'].required = True

        self.fields['birthday'].widget.format = '%d-%m-%Y'
        self.fields['streetname'].required = True
        self.fields['housenumber'].required = True
        self.fields['zipcode'].required = True
        self.fields['city'].required = True

        self.helper.layout = Layout(
            nameFieldSet,
            Fieldset('Adresse oplysninger',
                        Div(
                            Div(Field('search_address', id="search-address"), css_class="col-md-10"),
                            Div(Field('manual_entry', id="manual-entry"),
                                Field('address_global', id="address-global"),
                                css_class="col-md-2"),
                            Div(Field('streetname', readonly=True, css_class="autofilled-address"), css_class="col-md-9"),
                            Div(Field('housenumber', readonly=True, css_class="autofilled-address"), css_class="col-md-1"),
                            Div(Field('floor', readonly=True, css_class="autofilled-address"), css_class="col-md-1"),
                            Div(Field('door', readonly=True, css_class="autofilled-address"), css_class="col-md-1"),
                            Div(Field('zipcode', readonly=True, css_class="autofilled-address"), css_class="col-md-2"),
                            Div(Field('city', readonly=True, css_class="autofilled-address"), css_class="col-md-5"),
                            Div(Field('placename', readonly=True, css_class="autofilled-address"), css_class="col-md-5"),
                            Field('dawa_id', '',  id="id_dawa_id"),
                            css_class="row"
                           )
                     ),
            Submit('submit', 'Opret' if self.instance.id == None else 'Ret', css_class="btn-success"),
            HTML("""<a class="btn btn-link" href="{% url 'family_detail' person.family.unique %}">Fortryd</a>""")
        )
        self.helper.render_unmentioned_fields = False
        self.fields['birthday'].input_formats=(settings.DATE_INPUT_FORMATS)
Exemplo n.º 3
0
 def __init__(self, *args, **kwargs):
     super(vol_signupForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_method = "post"
     self.helper.form_action = "volunteer_signup"
     self.helper.html5_required = True
     self.fields["volunteer_birthday"].widget.format = "%d-%m-%Y"
     self.helper.layout = Layout(
         Hidden("form_id", "vol_signup", id="id_form_id"),
         Fieldset(
             "Frivilliges oplysninger",
             Div(
                 Div(Field("volunteer_gender"), css_class="col-md-2"),
                 Div(Field("volunteer_name"), css_class="col-md-10"),
                 Div(
                     Field("volunteer_birthday", ),
                     css_class="col-md-3",
                 ),
                 Div(Field("volunteer_email"), css_class="col-md-3"),
                 Div(Field("volunteer_phone"), css_class="col-md-3"),
                 Div(Field("volunteer_department"), css_class="col-md-3"),
                 css_class="row",
             ),
         ),
         Fieldset(
             "Adresse oplysninger",
             Div(
                 Div(
                     Field("search_address", id="search-address"),
                     css_class="col-md-10",
                 ),
                 Div(Field("manual_entry", id="manual-entry"),
                     css_class="col-md-2"),
                 Div(
                     Field("streetname",
                           readonly=True,
                           css_class="autofilled-address"),
                     css_class="col-md-9",
                 ),
                 Div(
                     Field("housenumber",
                           readonly=True,
                           css_class="autofilled-address"),
                     css_class="col-md-1",
                 ),
                 Div(
                     Field("floor",
                           readonly=True,
                           css_class="autofilled-address"),
                     css_class="col-md-1",
                 ),
                 Div(
                     Field("door",
                           readonly=True,
                           css_class="autofilled-address"),
                     css_class="col-md-1",
                 ),
                 Div(
                     Field("zipcode",
                           readonly=True,
                           css_class="autofilled-address"),
                     css_class="col-md-2",
                 ),
                 Div(
                     Field("city",
                           readonly=True,
                           css_class="autofilled-address"),
                     css_class="col-md-5",
                 ),
                 Div(
                     Field("placename",
                           readonly=True,
                           css_class="autofilled-address"),
                     css_class="col-md-5",
                 ),
                 Hidden("dawa_id", "", id="id_dawa_id"),
                 css_class="row",
             ),
         ),
         Submit("submit", "Opret", css_class="btn-success"),
     )
    def __init__(self, *args, datapackage_id, logged_user, **kwargs):
        form_action_url = kwargs.pop('form_action_url', None)
        allow_private = kwargs.pop('allow_private', False)

        super().__init__(*args, **kwargs)

        self._logged_user = logged_user

        self.helper = FormHelper(self)

        self.fields['text'].widget.attrs = {'rows': 3}

        self.fields[
            'private'].help_text = 'Enable if this comment should only be visible to data managers'

        fields_author = self.fields['author']

        if logged_user is None or logged_user.is_anonymous:
            logged_person = None
        else:
            try:
                logged_person = Person.objects.get(user=logged_user)
            except ObjectDoesNotExist:
                logged_person = None

        if logged_person:
            fields_author.initial = logged_person
            fields_author.disabled = True
        else:
            queryset = Datapackage.objects.get(id=datapackage_id). \
                collaborators. \
                filter(user__isnull=True). \
                order_by('full_name')
            fields_author.queryset = queryset

            if queryset.count() == 1:
                fields_author.initial = queryset[0]
                fields_author.disabled = True

            fields_author.help_text = 'Please select who you are'

        self.fields['private'].disabled = not allow_private

        self.fields['datapackage'].initial = Datapackage.objects.get(
            id=datapackage_id)
        self.fields['datapackage'].disabled = True

        self.helper.layout = Layout(
            Div(Div('text', css_class='col-6'), css_class='row'),
            Div(Div('private', css_class='col-6'),
                css_class='row',
                hidden=not allow_private),
            Div(Div('author', css_class='col-6'),
                css_class='row',
                hidden=logged_person is not None),
            Div(Div('datapackage', css_class='col-6'),
                css_class='row',
                hidden=True), FormActions(Submit('save', 'Add Comment'), ))

        if form_action_url:
            self.helper.form_action = form_action_url
Exemplo n.º 5
0
def grade_flow_page(pctx, flow_session_id, page_ordinal):
    # type: (CoursePageContext, int, int) -> http.HttpResponse
    now_datetime = get_now_or_fake_time(pctx.request)

    page_ordinal = int(page_ordinal)

    viewing_prev_grade = False
    prev_grade_id = pctx.request.GET.get("grade_id")
    if prev_grade_id is not None:
        try:
            prev_grade_id = int(prev_grade_id)
            viewing_prev_grade = True
        except ValueError:
            raise SuspiciousOperation("non-integer passed for 'grade_id'")

    if not pctx.has_permission(pperm.view_gradebook):
        raise PermissionDenied(_("may not view grade book"))

    flow_session = get_object_or_404(FlowSession, id=int(flow_session_id))

    if flow_session.course.pk != pctx.course.pk:
        raise SuspiciousOperation(
            _("Flow session not part of specified course"))
    if flow_session.participation is None:
        raise SuspiciousOperation(_("Cannot grade anonymous session"))

    from course.flow import adjust_flow_session_page_data
    adjust_flow_session_page_data(pctx.repo,
                                  flow_session,
                                  pctx.course.identifier,
                                  respect_preview=False)

    fpctx = FlowPageContext(pctx.repo,
                            pctx.course,
                            flow_session.flow_id,
                            page_ordinal,
                            participation=flow_session.participation,
                            flow_session=flow_session,
                            request=pctx.request)

    if fpctx.page_desc is None:
        raise http.Http404()

    assert fpctx.page is not None
    assert fpctx.page_context is not None

    # {{{ enable flow session zapping

    all_flow_sessions = list(
        FlowSession.objects.filter(course=pctx.course,
                                   flow_id=flow_session.flow_id,
                                   participation__isnull=False,
                                   in_progress=flow_session.in_progress).
        order_by(
            # Datatables will default to sorting the user list
            # by the first column, which happens to be the username.
            # Match that sorting.
            "participation__user__username",
            "start_time"))

    next_flow_session_id = None
    prev_flow_session_id = None
    for i, other_flow_session in enumerate(all_flow_sessions):
        if other_flow_session.pk == flow_session.pk:
            if i > 0:
                prev_flow_session_id = all_flow_sessions[i - 1].id
            if i + 1 < len(all_flow_sessions):
                next_flow_session_id = all_flow_sessions[i + 1].id

    # }}}

    prev_grades = (FlowPageVisitGrade.objects.filter(
        visit__flow_session=flow_session,
        visit__page_data__ordinal=page_ordinal,
        visit__is_submitted_answer=True).order_by(
            "-visit__visit_time", "-grade_time").select_related("visit"))

    # {{{ reproduce student view

    form = None
    feedback = None
    answer_data = None
    grade_data = None
    shown_grade = None

    if fpctx.page.expects_answer():
        if fpctx.prev_answer_visit is not None and prev_grade_id is None:
            answer_data = fpctx.prev_answer_visit.answer

            shown_grade = fpctx.prev_answer_visit.get_most_recent_grade()
            if shown_grade is not None:
                feedback = get_feedback_for_grade(shown_grade)
                grade_data = shown_grade.grade_data
            else:
                feedback = None
                grade_data = None

            if shown_grade is not None:
                prev_grade_id = shown_grade.id

        elif prev_grade_id is not None:
            try:
                shown_grade = prev_grades.filter(id=prev_grade_id).get()
            except ObjectDoesNotExist:
                raise http.Http404()

            feedback = get_feedback_for_grade(shown_grade)
            grade_data = shown_grade.grade_data
            answer_data = shown_grade.visit.answer

        else:
            feedback = None

        from course.page.base import PageBehavior
        page_behavior = PageBehavior(show_correctness=True,
                                     show_answer=False,
                                     may_change_answer=False)

        try:
            form = fpctx.page.make_form(fpctx.page_context,
                                        fpctx.page_data.data, answer_data,
                                        page_behavior)
        except InvalidPageData as e:
            messages.add_message(
                pctx.request, messages.ERROR,
                _("The page data stored in the database was found "
                  "to be invalid for the page as given in the "
                  "course content. Likely the course content was "
                  "changed in an incompatible way (say, by adding "
                  "an option to a choice question) without changing "
                  "the question ID. The precise error encountered "
                  "was the following: ") + str(e))

            return render_course_page(pctx, "course/course-base.html", {})

    if form is not None:
        form_html = fpctx.page.form_to_html(pctx.request, fpctx.page_context,
                                            form, answer_data)
    else:
        form_html = None

    # }}}

    # {{{ grading form

    if (fpctx.page.expects_answer() and fpctx.page.is_answer_gradable()
            and fpctx.prev_answer_visit is not None
            and not flow_session.in_progress and not viewing_prev_grade):
        request = pctx.request
        if pctx.request.method == "POST":
            if not pctx.has_permission(pperm.assign_grade):
                raise PermissionDenied(_("may not assign grades"))

            grading_form = fpctx.page.post_grading_form(
                fpctx.page_context, fpctx.page_data, grade_data, request.POST,
                request.FILES)
            if grading_form.is_valid():
                grade_data = fpctx.page.update_grade_data_from_grading_form_v2(
                    request, fpctx.page_context, fpctx.page_data, grade_data,
                    grading_form, request.FILES)

                with translation.override(settings.RELATE_ADMIN_EMAIL_LOCALE):
                    feedback = fpctx.page.grade(fpctx.page_context,
                                                fpctx.page_data, answer_data,
                                                grade_data)

                if feedback is not None:
                    correctness = feedback.correctness
                else:
                    correctness = None

                feedback_json = None  # type: Optional[Dict[Text, Any]]
                bulk_feedback_json = None  # type: Optional[Dict[Text, Any]]

                if feedback is not None:
                    feedback_json, bulk_feedback_json = feedback.as_json()
                else:
                    feedback_json = bulk_feedback_json = None

                most_recent_grade = FlowPageVisitGrade(
                    visit=fpctx.prev_answer_visit,
                    grader=pctx.request.user,
                    graded_at_git_commit_sha=pctx.course_commit_sha,
                    grade_data=grade_data,
                    max_points=fpctx.page.max_points(fpctx.page_data),
                    correctness=correctness,
                    feedback=feedback_json)

                _save_grade(fpctx, flow_session, most_recent_grade,
                            bulk_feedback_json, now_datetime)
        else:
            grading_form = fpctx.page.make_grading_form(
                fpctx.page_context, fpctx.page_data, grade_data)

    else:
        grading_form = None

    if grading_form is not None:
        from crispy_forms.layout import Submit
        grading_form.helper.form_class += " relate-grading-form"
        grading_form.helper.add_input(
            Submit("submit",
                   _("Submit"),
                   accesskey="s",
                   css_class="relate-grading-save-button"))

        grading_form_html = fpctx.page.grading_form_to_html(
            pctx.request, fpctx.page_context, grading_form, grade_data)

    else:
        grading_form_html = None

    # }}}

    # {{{ compute points_awarded

    max_points = None
    points_awarded = None
    if (fpctx.page.expects_answer() and fpctx.page.is_answer_gradable()):
        max_points = fpctx.page.max_points(fpctx.page_data)
        if feedback is not None and feedback.correctness is not None:
            points_awarded = max_points * feedback.correctness

    # }}}

    grading_rule = get_session_grading_rule(flow_session, fpctx.flow_desc,
                                            get_now_or_fake_time(pctx.request))

    if grading_rule.grade_identifier is not None:
        grading_opportunity = get_flow_grading_opportunity(
            pctx.course, flow_session.flow_id, fpctx.flow_desc,
            grading_rule.grade_identifier, grading_rule.
            grade_aggregation_strategy)  # type: Optional[GradingOpportunity]
    else:
        grading_opportunity = None

    return render_course_page(
        pctx, "course/grade-flow-page.html", {
            "flow_identifier":
            fpctx.flow_id,
            "flow_session":
            flow_session,
            "flow_desc":
            fpctx.flow_desc,
            "ordinal":
            fpctx.ordinal,
            "page_data":
            fpctx.page_data,
            "body":
            fpctx.page.body(fpctx.page_context, fpctx.page_data.data),
            "form":
            form,
            "form_html":
            form_html,
            "feedback":
            feedback,
            "max_points":
            max_points,
            "points_awarded":
            points_awarded,
            "shown_grade":
            shown_grade,
            "prev_grades":
            prev_grades,
            "prev_grade_id":
            prev_grade_id,
            "grading_opportunity":
            grading_opportunity,
            "prev_flow_session_id":
            prev_flow_session_id,
            "next_flow_session_id":
            next_flow_session_id,
            "grading_form":
            grading_form,
            "grading_form_html":
            grading_form_html,
            "correct_answer":
            fpctx.page.correct_answer(fpctx.page_context, fpctx.page_data.data,
                                      answer_data, grade_data),
        })
Exemplo n.º 6
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.helper = FormHelper()
        self.helper.add_input(Submit("ajouter", "Ajouter"))
Exemplo n.º 7
0
 def __init__(self, form=None):
     super().__init__(form)
     self.attrs['role'] = 'form'
     self.inputs.append(Submit('', 'Submit'))
Exemplo n.º 8
0
class ActivationForm(forms.Form):
    email = forms.EmailField(max_length=254, required=True)
    activation_key = forms.CharField(min_length=40,
                                     max_length=40,
                                     required=True)

    error_messages = {
        'invalid_key': "This email-key combination is not valid.",
        'expired_key': "This key has expired. A new key has been sent.",
    }

    def clean(self):
        email = self.cleaned_data.get('email')
        activation_key = self.cleaned_data.get('activation_key')

        try:
            valid_user = User.objects.get(email=email)
        except User.DoesNotExist:
            raise forms.ValidationError(
                self.error_messages['invalid_key'],
                code='invalid_key',
            )

        try:
            valid_key = valid_user.activationkey
        except ActivationKey.DoesNotExist:
            raise forms.ValidationError(
                self.error_messages['invalid_key'],
                code='invalid_key',
            )

        if not valid_key.value == activation_key:
            raise forms.ValidationError(
                self.error_messages['invalid_key'],
                code='invalid_key',
            )

        self.user = valid_user

        if valid_key.expiration < timezone.now():
            UserCreationForm.create_activation_key(self.user)
            UserCreationForm.send_activation_email(self.user)

            raise forms.ValidationError(
                self.error_messages['expired_key'],
                code='expired_key',
            )

        return activation_key

    def activate(self):
        if not self.user: return  # Function has been called before validation.

        self.user.is_active = True  # Activate the user
        self.user.save()
        self.user.activationkey.delete()  # Clear the now used activation key.

    helper = FormHelper()
    helper.form_show_labels = False
    helper.layout = Layout(
        Field('email', placeholder='Email Address'),
        Field('activation_key', placeholder='Activation Key'),
        FormActions(
            Submit('submit', 'Submit', css_class="btn-success"),
            HTML("<a class='btn btn-danger' href='/'>Cancel</a>"),
        ))
Exemplo n.º 9
0
 def __init__(self, *args, **kwargs):
     self.game = models.Game.objects.get(pk=kwargs.pop('game_id'))
     super(ScreenshotForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.add_input(Submit('submit', "Submit"))
Exemplo n.º 10
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.add_input(Submit('submit', 'Submit'))
     self.common_layout = Layout('query_name', 'broker')
Exemplo n.º 11
0
Arquivo: forms.py Projeto: GenPage/Ore
 def __init__(self, *args, **kwargs):
     super(AuthenticationForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.add_input(Submit('submit', 'Log In'))
Exemplo n.º 12
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.layout = Layout(*self.fields, Submit('submit', 'Submit'))
Exemplo n.º 13
0
 def __init__(self, *args, **kwargs):
     super(CategoryForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.add_input(Submit('submit', 'Сохранить'))
     self.helper.form_tag = False
Exemplo n.º 14
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',
            )])
Exemplo n.º 15
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_method = 'post'
     self.helper.add_input(Submit('submit', 'submit'))
Exemplo n.º 16
0
 def __init__(self, *args, **kwargs):
     super(TaskForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_class = 'blueForms'
     self.helper.form_method = 'post'
     self.helper.add_input(Submit('submit', 'Сохранить'))
Exemplo n.º 17
0
    def __init__(self, *args, **kwargs):
        super(SignUpForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper()

        self.helper.add_input(Submit('submit', 'Register'))
Exemplo n.º 18
0
    def __init__(self, *args, **kwargs):
        super(ResetPasswordFormByInstid, self).__init__(*args, **kwargs)

        self.helper.add_input(
                Submit("submit", _("Send email")))
Exemplo n.º 19
0
 def __init__(self, *args, **kwargs):
     super(OpenmrsConfigForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.add_input(Submit('submit', _('Save Changes')))
Exemplo n.º 20
0
    def __init__(self, *args, **kwargs):
        super(ResetPasswordStage2Form, self).__init__(*args, **kwargs)

        self.helper.add_input(
                Submit("submit_user", _("Update")))
Exemplo n.º 21
0
    def __init__(self,
                 form=None,
                 duplicate_buttons_on_top=False,
                 submit_label='Submit',
                 submit_name='submit',
                 use_get_method=False,
                 wider_labels=False,
                 add_submit_button=True,
                 add_delete_button=False,
                 add_cancel_button=True,
                 additional_form_class='',
                 form_tag=True,
                 display_labels=True,
                 form_action=None,
                 form_id=None,
                 include_media=True):
        """
        `duplicate_buttons_on_top` -- Whether submit buttons should be
        displayed on both top and bottom of the form.

        `use_get_method` -- Force form to use GET instead of default POST.

        `wider_labels` -- SWCEventRequestForm and DCEventRequestForm have
        long labels, so this flag (set to True) is used to address that issue.

        `add_delete_button` -- displays additional red "delete" button.
        If you want to use it, you need to include in your template the
        following code:

            <form action="delete?next={{ request.GET.next|urlencode }}" method="POST" id="delete-form">
              {% csrf_token %}
            </form>

        This is necessary, because delete button must be reassigned from the
        form using this helper to "delete-form". This reassignment is done
        via HTML5 "form" attribute on the "delete" button.

        `display_labels` -- Set to False, when your form has only submit
        buttons and you want these buttons to be aligned to left.
        """

        super().__init__(form)

        self.attrs['role'] = 'form'

        self.duplicate_buttons_on_top = duplicate_buttons_on_top

        self.submit_label = submit_label

        if use_get_method:
            self.form_method = 'get'

        if wider_labels:
            assert display_labels
            self.label_class = 'col-12 col-lg-3'
            self.field_class = 'col-12 col-lg-9'
        elif display_labels:
            self.label_class = 'col-12 col-lg-2'
            self.field_class = 'col-12 col-lg-10'
        else:
            self.label_class = ''
            self.field_class = 'col-lg-12'

        if add_submit_button:
            self.add_input(Submit(submit_name, submit_label))

        if add_delete_button:
            self.add_input(
                Submit('delete',
                       'Delete',
                       onclick='return '
                       'confirm("Are you sure you want to delete it?");',
                       form='delete-form',
                       css_class='btn-danger float-right'))

        if add_cancel_button:
            self.add_input(
                Button('cancel',
                       'Cancel',
                       css_class='btn-secondary float-right',
                       onclick='window.history.back()'))

        # offset here adds horizontal centering for all these forms
        self.form_class = 'form-horizontal ' + additional_form_class

        self.form_tag = form_tag

        if form_action is not None:
            self.form_action = form_action

        if form_id is not None:
            self.form_id = form_id

        # don't prevent from loading media by default
        self.include_media = include_media
Exemplo n.º 22
0
    def __init__(self, *args, **kwargs):
        super(SignInByEmailForm, self).__init__(*args, **kwargs)

        self.helper.add_input(
                Submit("submit", _("Send sign-in email")))
Exemplo n.º 23
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_method = 'post'
     self.helper.add_input(
         Submit('submit', _('str_Submit'), css_class='btn-primary'))
Exemplo n.º 24
0
 def __init__(self, *args, **kwargs):
     self.helper = FormHelper()
     self.helper.form_method = 'post'
     self.helper.add_input(Submit('submit', 'Update'))
     self.helper.form_class = 'form-vertical'
     super(UserUpdate, self).__init__(*args, **kwargs)
Exemplo n.º 25
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.layout = Layout('sensor_type', 'duration', 'step',
                                 'stepTime', 'stepSize', 'freq',
                                 Submit('submit', 'En knap :)'))
Exemplo n.º 26
0
 def __init__(self, *args, **kwargs):
     self.helper = FormHelper()
     self.helper.form_method = 'post'
     self.helper.form_class = 'form-vertical'
     self.helper.add_input(Submit('submit', 'Save'))
     super(MembershipForm, self).__init__(*args, **kwargs)
Exemplo n.º 27
0
 def __init__(self, *args, **kwargs):
     """Add crispyform helper to form."""
     super().__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_method = 'post'
     self.helper.add_input(Submit('submit', 'Send email'))
Exemplo n.º 28
0
    def __init__(self, *args, **kwargs):
        super(BulkPreapprovalsForm, self).__init__(*args, **kwargs)

        self.helper.add_input(
                Submit("submit", _("Preapprove"),
                    css_class="col-lg-offset-2"))
Exemplo n.º 29
0
    def __init__(self, *args, **kwargs):
        # type: (*Any, **Any) -> None

        super(CourseCreationForm, self).__init__(*args, **kwargs)

        self.helper.add_input(Submit("submit", _("Validate and create")))
Exemplo n.º 30
0
 def __init__(self, *args, **kwargs):
     super(NewPopSynthForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_action = '/popsynth-generation/population-synthesis-form/'
     self.helper.layout = Layout(
         Fieldset(
             "Command Line Arguments",
             Row(Column('final_kstar1',
                        css_class='form-group col-md-6 mb-0'),
                 Column('final_kstar2',
                        css_class='form-group col-md-6 mb-0'),
                 css_class='form-row'),
             Row(Column('initial_samp',
                        css_class='form-group col-md-6 mb-0'),
                 Column('galaxy_component',
                        css_class='form-group col-md-6 mb-0'),
                 Column('metallicity',
                        css_class='form-group col-md-4 mb-0'),
                 css_class='form-row'),
             'convergence_params',
             Row(Column('Niter', css_class='form-group col-md-6 mb-0'),
                 Column('Nstep', css_class='form-group col-md-6 mb-0'),
                 css_class='form-row'),
         ),
         Fieldset(
             "Filters",
             Row(Column('mass_transfer_white_dwarf_to_co',
                        css_class='form-group col-md-4 mb-0'),
                 Column('select_final_state',
                        css_class='form-group col-md-4 mb-0'),
                 Column('binary_state',
                        css_class='form-group col-md-4 mb-0'),
                 Column('merger_type',
                        css_class='form-group col-md-4 mb-0'),
                 css_class='form-row'),
         ),
         Fieldset(
             "Convergence",
             Row(Column('LISA_convergence',
                        css_class='form-group col-md-4 mb-0'),
                 css_class='form-row'),
         ),
         Fieldset(
             "Random Seed",
             Row(Column('seed', css_class='form-group col-md-4 mb-0'),
                 css_class='form-row'),
         ),
         Fieldset(
             "BSE (Binary Stellar Evolution) Flags",
             Row(Column('neta', css_class='form-group col-md-4 mb-0'),
                 Column('bwind', css_class='form-group col-md-4 mb-0'),
                 Column('hewind', css_class='form-group col-md-4 mb-0'),
                 Column('alpha1', css_class='form-group col-md-4 mb-0'),
                 Column('lambdaf', css_class='form-group col-md-4 mb-0'),
                 Column('ceflag', css_class='form-group col-md-4 mb-0'),
                 Column('tflag', css_class='form-group col-md-4 mb-0'),
                 Column('ifflag', css_class='form-group col-md-4 mb-0'),
                 Column('wdflag', css_class='form-group col-md-4 mb-0'),
                 Column('bhflag', css_class='form-group col-md-4 mb-0'),
                 Column('nsflag', css_class='form-group col-md-4 mb-0'),
                 Column('mxns', css_class='form-group col-md-4 mb-0'),
                 Column('pts1', css_class='form-group col-md-4 mb-0'),
                 Column('pts2', css_class='form-group col-md-4 mb-0'),
                 Column('pts3', css_class='form-group col-md-4 mb-0'),
                 Column('sigma', css_class='form-group col-md-4 mb-0'),
                 Column('beta', css_class='form-group col-md-4 mb-0'),
                 Column('xi', css_class='form-group col-md-4 mb-0'),
                 Column('acc2', css_class='form-group col-md-4 mb-0'),
                 Column('epsnov', css_class='form-group col-md-4 mb-0'),
                 Column('eddfac', css_class='form-group col-md-4 mb-0'),
                 Column('gamma', css_class='form-group col-md-4 mb-0'),
                 Column('bconst', css_class='form-group col-md-4 mb-0'),
                 Column('CK', css_class='form-group col-md-4 mb-0'),
                 Column('merger', css_class='form-group col-md-4 mb-0'),
                 Column('windflag', css_class='form-group col-md-4 mb-0'),
                 Column('ppsn', css_class='form-group col-md-4 mb-0'),
                 Column('B_0', css_class='form-group col-md-4 mb-0'),
                 Column('bacc', css_class='form-group col-md-4 mb-0'),
                 Column('tacc', css_class='form-group col-md-4 mb-0'),
                 Column('bkick', css_class='form-group col-md-4 mb-0'),
                 Column('massc', css_class='form-group col-md-4 mb-0'),
                 Column('opsin', css_class='form-group col-md-4 mb-0'),
                 Column('epoch', css_class='form-group col-md-4 mb-0'),
                 css_class='form-row'),
         ), Submit('submit', 'Generate Population'))