Skip to content
Snippets Groups Projects
forms.py 2.36 KiB
Newer Older
Frank Poetzsch-Heffter's avatar
Frank Poetzsch-Heffter committed
from django import forms
Jonathan Weth's avatar
Jonathan Weth committed
from django.utils import timezone
Frank Poetzsch-Heffter's avatar
Frank Poetzsch-Heffter committed
from material import Layout, Row, Fieldset
from django.utils.translation import ugettext_lazy as _
Jonathan Weth's avatar
Jonathan Weth committed

Jonathan Weth's avatar
Jonathan Weth committed
from .models import Booking, CostCenter, Account
Jonathan Weth's avatar
Jonathan Weth committed

Jonathan Weth's avatar
Jonathan Weth committed
class SimpleBookingForm(forms.ModelForm):
    description = forms.CharField(label=_("Description – What should be purchased?"))
Jonathan Weth's avatar
Jonathan Weth committed
    planned_amount = forms.IntegerField(
        label=_("Expected amount - What amount is required?"), help_text=_("Without comma"))
    justification = forms.CharField(label=_("Reason – If necessary, justify your request."), required=False)

    layout = Layout(Row('description', 'planned_amount'), Row('justification'))

    class Meta:
        model = Booking
        fields = ['id', 'description', 'planned_amount', 'justification']
class CheckBookingForm(forms.ModelForm):
Jonathan Weth's avatar
Jonathan Weth committed
    account = forms.ModelChoiceField(Account.objects.filter().order_by('cost_center', 'name'))

    class Meta:
Jonathan Weth's avatar
Jonathan Weth committed
        model = Booking
Jonathan Weth's avatar
Jonathan Weth committed
        fields = ['account', ]


class CompleteBookingForm(forms.ModelForm):
    accounts = Account.objects.filter().order_by('cost_center', 'name')
    account = forms.ModelChoiceField(queryset=accounts)
    submission_date = forms.DateField(label=_("Submission date"), initial=timezone.now())
    layout = Layout(Fieldset("Allgemeines",
Jonathan Weth's avatar
Jonathan Weth committed
                             Row('description', 'justification'),
                             Row("contact", "planned_amount"),
                             Row('account', 'status')
                    Fieldset('Details',
Jonathan Weth's avatar
Jonathan Weth committed
                             Row('firma', 'invoice_number', 'amount'),
                             Row('invoice_date', 'maturity', 'submission_date', 'booking_date'),
                             Row('payout_number', 'upload')
                             )
                    )

    class Meta:
        model = Booking
        fields = ['id', 'description', 'planned_amount', 'justification', 'account', 'contact', 'invoice_date',
                  'invoice_number', 'firma', 'amount', 'submission_date', 'payout_number', 'booking_date',
                  'maturity', 'upload', 'status']
class CostCenterForm(forms.ModelForm):
Jonathan Weth's avatar
Jonathan Weth committed
    class Meta:
Jonathan Weth's avatar
Jonathan Weth committed
        model = CostCenter
        fields = ['id', 'name', 'year']
Jonathan Weth's avatar
Jonathan Weth committed
class AccountForm(forms.ModelForm):
Jonathan Weth's avatar
Jonathan Weth committed
        fields = ['id', 'name', 'cost_center', 'income', 'budget']