Exemple #1
0
class TrendtimeForm(forms.Form):
    """
    Form to display bank transaction sums with a timeline.
    """
    CHART_LINE = 'line'
    CHART_BAR = 'bar'
    CHART_RADAR = 'radar'
    CHART_TYPES = (
        (CHART_LINE, ugettext_lazy('Line')),
        (CHART_BAR, ugettext_lazy('Bar')),
        (CHART_RADAR, ugettext_lazy('Radar')),
    )
    chart = forms.ChoiceField(choices=CHART_TYPES, initial=CHART_LINE)

    GRANULARITY_CHOICES = (
        (GRANULARITY_WEEK, ugettext_lazy('Week')),
        (GRANULARITY_MONTH, ugettext_lazy('Month')),
    )
    granularity = forms.ChoiceField(
        choices=GRANULARITY_CHOICES,
        initial=GRANULARITY_MONTH,
    )

    date = forms.DateField(required=True, widget=Datepicker())

    reconciled = forms.NullBooleanField(required=False)

    def __init__(self, *args, **kwargs):
        super(TrendtimeForm, self).__init__(*args, **kwargs)
        self.fields['reconciled'].widget.choices[0] = ('1', _('Reconciled?'))
        self.fields['date'].initial = formats.date_format(
            datetime.date.today(),
            'SHORT_DATE_FORMAT',
        )
Exemple #2
0
class AllFieldsForm(forms.Form):
    boolean = forms.BooleanField()
    char = forms.CharField(max_length=50)
    choices = forms.ChoiceField(choices=ALPHA_CHOICES)
    date = forms.DateField()
    datetime = forms.DateTimeField()
    decimal = forms.DecimalField(decimal_places=2, max_digits=4)
    email = forms.EmailField()
    file_field = forms.FileField()
    file_path = forms.FilePathField(path='uploads/')
    float_field = forms.FloatField()
    generic_ip_address = forms.GenericIPAddressField()
    image = forms.ImageField()
    integer = forms.IntegerField()
    ip_address = forms.IPAddressField()
    multiple_choices = forms.MultipleChoiceField(choices=ALPHA_CHOICES)
    null_boolean = forms.NullBooleanField()
    regex_field = forms.RegexField(regex='^\w+$', js_regex='^[a-zA-Z]+$')
    slug = forms.SlugField()
    split_datetime = forms.SplitDateTimeField()
    time = forms.TimeField()
    typed_choices = forms.TypedChoiceField(choices=NUMERIC_CHOICES, coerce=int)
    typed_multiple_choices = forms.TypedMultipleChoiceField(
        choices=NUMERIC_CHOICES, coerce=int)
    url = forms.URLField()

    # GIS fields.
    if gis_forms:
        osm_point = gis.PointField(
            widget=mixin(gis.PointWidget, gis.BaseOsmWidget))
        osm_multipoint = gis.MultiPointField(
            widget=mixin(gis.MultiPointWidget, gis.BaseOsmWidget))
        osm_linestring = gis.LineStringField(
            widget=mixin(gis.LineStringWidget, gis.BaseOsmWidget))
        osm_multilinestring = gis.MultiLineStringField(
            widget=mixin(gis.MultiLineStringWidget, gis.BaseOsmWidget))
        osm_polygon = gis.PolygonField(
            widget=mixin(gis.PolygonWidget, gis.BaseOsmWidget))
        osm_multipolygon = gis.MultiPolygonField(
            widget=mixin(gis.MultiPolygonWidget, gis.BaseOsmWidget))

        gmap_point = gis.PointField(
            widget=mixin(gis.PointWidget, BaseGMapWidget))
        gmap_multipoint = gis.MultiPointField(
            widget=mixin(gis.MultiPointWidget, BaseGMapWidget))
        gmap_linestring = gis.LineStringField(
            widget=mixin(gis.LineStringWidget, BaseGMapWidget))
        gmap_multilinestring = gis.MultiLineStringField(
            widget=mixin(gis.MultiLineStringWidget, BaseGMapWidget))
        gmap_polygon = gis.PolygonField(
            widget=mixin(gis.PolygonWidget, BaseGMapWidget))
        gmap_multipolygon = gis.MultiPolygonField(
            widget=mixin(gis.MultiPolygonWidget, BaseGMapWidget))
Exemple #3
0
class NewAuditeurForm(forms.Form):
    auditeur = forms.NullBooleanField(
        label=
        u"Voullez vous faire une demande de préinscription en tant qu'auditeur libre",
        widget=forms.Select(choices=(("", "-----"), ("True", "Oui"), ("False",
                                                                      "Non")),
                            attrs={'class': 'required auto'}))

    def clean_auditeur(self):
        if self.cleaned_data.get('auditeur', None) is None:
            raise forms.ValidationError(u'Vous devez choisir')
        return self.cleaned_data.get('auditeur', None)
Exemple #4
0
class StudentBulkChangeForm(forms.Form):
    grad_date = forms.DateField(widget=adminwidgets.AdminDateWidget(),
                                required=False,
                                validators=settings.DATE_VALIDATORS)
    year = forms.ModelChoiceField(queryset=GradeLevel.objects.all(),
                                  required=False)
    individual_education_program = forms.NullBooleanField(required=False)
    cohort = forms.ModelChoiceField(queryset=Cohort.objects.all(),
                                    required=False)
    cohort_primary = forms.BooleanField(required=False)
    award = forms.ModelChoiceField(queryset=Award.objects.all(),
                                   required=False)
    award_marking_period = forms.ModelChoiceField(
        queryset=MarkingPeriod.objects.all(), required=False)
Exemple #5
0
 class NBForm(forms.Form):
     nb = forms.NullBooleanField()
Exemple #6
0
class RatioForm(forms.Form):
    """
    Form to display bank transaction sums grouped by tags.
    """

    SINGLE_CREDIT = 'single_credit'
    SINGLE_DEBIT = 'single_debit'
    SUM_CREDIT = 'sum_credit'
    SUM_DEBIT = 'sum_debit'
    TYPES = (
        (ugettext_lazy('Sum'), (
            (SUM_DEBIT, ugettext_lazy('Expenses')),
            (SUM_CREDIT, ugettext_lazy('Income')),
        )),
        (ugettext_lazy('Single'), (
            (SINGLE_DEBIT, ugettext_lazy('Expenses')),
            (SINGLE_CREDIT, ugettext_lazy('Income')),
        )),
    )
    type = forms.ChoiceField(choices=TYPES, initial=SUM_DEBIT)

    CHART_DOUGHNUT = 'doughtnut'
    CHART_PIE = 'pie'
    CHART_POLAR = 'polar'
    CHART_TYPES = (
        (CHART_DOUGHNUT, ugettext_lazy('Doughnut')),
        (CHART_PIE, ugettext_lazy('Pie')),
        (CHART_POLAR, ugettext_lazy('Polar area')),
    )
    chart = forms.ChoiceField(
        choices=CHART_TYPES,
        initial=CHART_DOUGHNUT,
        required=False,
    )

    date_start = forms.DateField(
        widget=Datepicker(attrs={
            'placeholder': ugettext_lazy('Date start'),
        }), )
    date_end = forms.DateField(
        widget=Datepicker(attrs={
            'placeholder': ugettext_lazy('Date end'),
        }), )

    reconciled = forms.NullBooleanField(required=False)

    tags = forms.ModelMultipleChoiceField(
        queryset=BankTransactionTag.objects.none(), required=False)

    sum_min = forms.DecimalField(
        max_digits=10,
        decimal_places=2,
        localize=True,
        required=False,
        widget=forms.NumberInput(attrs={
            'placeholder': _('Minimum sum'),
        }),
    )
    sum_max = forms.DecimalField(
        max_digits=10,
        decimal_places=2,
        localize=True,
        required=False,
        widget=forms.NumberInput(attrs={
            'placeholder': _('Maximum sum'),
        }),
    )

    def __init__(self, user, *args, **kwargs):
        super(RatioForm, self).__init__(*args, **kwargs)

        self.fields['tags'].queryset = (
            BankTransactionTag.objects.get_user_tags_queryset(user))
        self.fields['reconciled'].widget.choices[0] = ('1', _('Reconciled?'))

    def clean(self):
        cleaned_data = super(RatioForm, self).clean()

        date_start = cleaned_data.get('date_start')
        date_end = cleaned_data.get('date_end')
        if date_start and date_end and date_start > date_end:
            raise forms.ValidationError(
                _("Date start could not be greater than date end."),
                code='date_start_greater',
            )

        sum_min = cleaned_data.get('sum_min', None)
        sum_max = cleaned_data.get('sum_max', None)
        if sum_min is not None and sum_max is not None and sum_min > sum_max:
            raise forms.ValidationError(
                _("Minimum sum could not be greater than maximum sum."),
                code='sum_min_greater',
            )

        return cleaned_data