You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

68 lines
2.5 KiB

# -*- coding: utf-8 -*-
from django import forms
import autocomplete_light
from project.commons.forms import MyBaseModelForm
from .base_forms import BaseModelForm
from ..models import Faktura, FakturaItem, PlatDoc
from project.customer.models import Client
class FakturaForm(BaseModelForm):
"""Форма редактирования фактуры."""
sender = forms.ModelChoiceField(Client.objects.all(), label=u'клиент', required=True,
widget=autocomplete_light.ChoiceWidget('ACClient'))
receiver = forms.ModelChoiceField(Client.objects.all(), label=u'клиент', required=True,
widget=autocomplete_light.ChoiceWidget('ACClient'))
adjust_client_fields = []
class Meta:
model = Faktura
fields = ('doc_num', 'doc_date',
'bank_account', 'client', 'invoice',
'doc_reason',
'nds_value',
'doc_text', 'fixes', 'avance', 'currency', 'sender', 'receiver',
)
_radioselect = forms.RadioSelect
_textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3})
widgets = {
'doc_text': _textarea,
}
class FakturaAdminForm(FakturaForm):
"""Форма редактирования фактуры - для админки."""
class Meta(FakturaForm.Meta):
fields = None
_textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3})
widgets = {
'doc_text': _textarea,
}
def __init__(self, *args, **kwargs):
# обязательно нужно вызывать родительский __init__ и передавать ему None вместо user - иначе глюки !
super(FakturaAdminForm, self).__init__(None, *args, **kwargs)
class FakturaItemForm(MyBaseModelForm):
"""Форма редактирования табличной части фактуры."""
units = forms.CharField(widget=autocomplete_light.TextWidget('ACMeasure'),)
country_name = forms.CharField(widget=autocomplete_light.TextWidget('ACCountry'),)
class Meta:
model = FakturaItem
exclude = ['parent']
class FakturaItemAdminForm(FakturaItemForm):
"""Форма редактирования табличной части фактуры - для админки."""
class Meta(FakturaItemForm.Meta):
exclude = None
class PlatDocItemForm(MyBaseModelForm):
"""Форма редактирования платёжных документов."""
class Meta:
model = PlatDoc
exclude = ['parent']