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.
 
 
 
 

83 lines
2.5 KiB

# -*- coding: utf-8 -*-
import autocomplete_light
from django import forms
from commons.forms import MyBaseModelForm
from customer.models import Client
from .base_forms import BaseModelForm
from ..models import Nakladn, NakladnItem
class NakladnForm(BaseModelForm):
"""Форма редактирования накладной."""
sender = forms.ModelChoiceField(
Client.objects.all(),
label='клиент',
required=False,
widget=autocomplete_light.ChoiceWidget('ACClient')
)
receiver = forms.ModelChoiceField(
Client.objects.all(),
label='клиент',
required=False,
widget=autocomplete_light.ChoiceWidget('ACClient')
)
adjust_client_fields = []
class Meta:
model = Nakladn
fields = (
'doc_num',
'doc_date',
'bank_account',
'client',
'invoice',
'doc_reason',
'doc_reason_num',
'doc_reason_date',
'nds_value',
'nds_method',
'doc_text',
'transport',
'transport_date',
'transport_num',
'sender',
'receiver',
)
_radioselect = forms.RadioSelect
_textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3})
widgets = {
'doc_text': _textarea,
'nds_method': forms.RadioSelect()
}
class NakladnAdminForm(NakladnForm):
"""Форма редактирования накладной - для админки."""
class Meta(NakladnForm.Meta):
# fields = None
exclude = ()
_textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3})
widgets = {
'doc_text': _textarea,
}
def __init__(self, *args, **kwargs):
# обязательно нужно вызывать родительский __init__ и
# передавать ему None вместо user - иначе глюки !
super(NakladnAdminForm, self).__init__(None, *args, **kwargs)
class NakladnItemForm(MyBaseModelForm):
"""Форма редактирования табличной части накладной."""
class Meta:
model = NakladnItem
exclude = ['parent']
fields = '__all__'
class NakladnItemAdminForm(NakladnItemForm):
"""Форма редактирования табличной части накладной - для админки."""
class Meta(NakladnItemForm.Meta):
exclude = None