# -*- 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 from project.customer.models import Client class FakturaForm(BaseModelForm): """Форма редактирования фактуры.""" sender = forms.ModelChoiceField(Client.objects.all(), label=u'клиент', required=False, widget=autocomplete_light.ChoiceWidget('ACClient')) receiver = forms.ModelChoiceField(Client.objects.all(), label=u'клиент', required=False, widget=autocomplete_light.ChoiceWidget('ACClient')) adjust_client_fields = [] class Meta: model = Faktura fields = ('doc_num', 'doc_date', 'plat_doc_num', 'plat_doc_date', 'fix_doc_num', 'fix_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, 'currency': autocomplete_light.ChoiceWidget('ACCurrency'), } 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): """Форма редактирования табличной части фактуры.""" country_name = forms.CharField(widget=autocomplete_light.TextWidget('ACCountry'),) class Meta: model = FakturaItem exclude = ['parent'] class FakturaItemAdminForm(FakturaItemForm): """Форма редактирования табличной части фактуры - для админки.""" class Meta(FakturaItemForm.Meta): exclude = None