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.
61 lines
2.1 KiB
61 lines
2.1 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
|
|
|
|
|
|
class FakturaForm(BaseModelForm):
|
|
"""Форма редактирования фактуры."""
|
|
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']
|
|
|