diff --git a/project/docs/forms/aktrabot.py b/project/docs/forms/aktrabot.py index 6527ffe..a4a81f6 100644 --- a/project/docs/forms/aktrabot.py +++ b/project/docs/forms/aktrabot.py @@ -13,13 +13,12 @@ class AktRabotForm(BaseModelForm): model = AktRabot fields = ('doc_num', 'doc_date', 'bank_account', 'client', 'invoice', - 'nds_type', 'nds_value', + 'nds_value', 'doc_text', ) _radioselect = forms.RadioSelect _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3}) widgets = { - 'nds_type': _radioselect, 'doc_text': _textarea, } diff --git a/project/docs/forms/faktura.py b/project/docs/forms/faktura.py index 12f7f47..c773d45 100644 --- a/project/docs/forms/faktura.py +++ b/project/docs/forms/faktura.py @@ -15,13 +15,12 @@ class FakturaForm(BaseModelForm): fields = ('doc_num', 'doc_date', 'bank_account', 'client', 'invoice', 'doc_reason', - 'nds_type', 'nds_value', + 'nds_value', 'doc_text', 'fixes', 'avance', 'currency', 'sender', 'receiver', ) _radioselect = forms.RadioSelect _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3}) widgets = { - 'nds_type': _radioselect, 'doc_text': _textarea, } diff --git a/project/docs/forms/invoice.py b/project/docs/forms/invoice.py index 3f29a5b..951b1e4 100644 --- a/project/docs/forms/invoice.py +++ b/project/docs/forms/invoice.py @@ -13,13 +13,12 @@ class InvoiceForm(BaseModelForm): model = Invoice fields = ('doc_num', 'doc_date', 'bank_account', 'client', - 'nds_type', 'nds_value', + 'nds_value', 'doc_text', ) _radioselect = forms.RadioSelect _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3}) widgets = { - 'nds_type': _radioselect, 'doc_text': _textarea, } diff --git a/project/docs/forms/nakladn.py b/project/docs/forms/nakladn.py index e20ee6b..315fda7 100644 --- a/project/docs/forms/nakladn.py +++ b/project/docs/forms/nakladn.py @@ -14,13 +14,12 @@ class NakladnForm(BaseModelForm): fields = ('doc_num', 'doc_date', 'bank_account', 'client', 'invoice', 'doc_reason', - 'nds_type', 'nds_value', + 'nds_value', 'doc_text', ) _radioselect = forms.RadioSelect _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3}) widgets = { - 'nds_type': _radioselect, 'doc_text': _textarea, } diff --git a/project/docs/forms/platejka.py b/project/docs/forms/platejka.py index d25619e..642876d 100644 --- a/project/docs/forms/platejka.py +++ b/project/docs/forms/platejka.py @@ -10,14 +10,14 @@ from .. import consts class PlatejkaForm(BaseModelForm): """Форма редактирования платежного поручения.""" - conditional_fields = ['nds_type', 'nds_value', + conditional_fields = ['nds_value', 'tax_status', 'tax_base', 'tax_type', 'tax_bk', 'tax_okato', 'tax_period',] class Meta: model = Platejka fields = ('platej_type', 'doc_num', 'doc_date', 'bank_account', 'client', - 'nds_type', 'nds_value', # поля только для перевода денег + 'nds_value', # поля только для перевода денег # поля только для оплаты налогов 'tax_status', 'tax_base', 'tax_type', 'tax_num', 'tax_date', 'tax_bk', 'tax_okato', 'tax_period', # опять общие поля @@ -27,7 +27,6 @@ class PlatejkaForm(BaseModelForm): _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 5}) widgets = { #'platej_type': _radioselect, - 'nds_type': _radioselect, 'doc_info': _textarea, } @@ -45,10 +44,8 @@ class PlatejkaForm(BaseModelForm): platej_type = cleaned_data.get('platej_type') if platej_type == consts.PLATEJ_TYPE_COMMERCE: # коммерческое (перевод денег) - nds_type = cleaned_data.get('nds_type') nds_value = cleaned_data.get('nds_value') - if not nds_type: set_field_error(self, 'nds_type') if not nds_value: set_field_error(self, 'nds_value') elif platej_type == consts.PLATEJ_TYPE_TAX: # налоги diff --git a/project/docs/migrations/0007_auto__del_field_faktura_nds_type__del_field_invoice_nds_type__del_fiel.py b/project/docs/migrations/0007_auto__del_field_faktura_nds_type__del_field_invoice_nds_type__del_fiel.py new file mode 100644 index 0000000..535d33e --- /dev/null +++ b/project/docs/migrations/0007_auto__del_field_faktura_nds_type__del_field_invoice_nds_type__del_fiel.py @@ -0,0 +1,349 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Deleting field 'Faktura.nds_type' + db.delete_column(u'docs_faktura', 'nds_type') + + # Deleting field 'Invoice.nds_type' + db.delete_column(u'docs_invoice', 'nds_type') + + # Deleting field 'Nakladn.nds_type' + db.delete_column(u'docs_nakladn', 'nds_type') + + # Deleting field 'AktRabot.nds_type' + db.delete_column(u'docs_aktrabot', 'nds_type') + + + def backwards(self, orm): + # Adding field 'Faktura.nds_type' + db.add_column(u'docs_faktura', 'nds_type', + self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=1), + keep_default=False) + + # Adding field 'Invoice.nds_type' + db.add_column(u'docs_invoice', 'nds_type', + self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=1), + keep_default=False) + + # Adding field 'Nakladn.nds_type' + db.add_column(u'docs_nakladn', 'nds_type', + self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=1), + keep_default=False) + + # Adding field 'AktRabot.nds_type' + db.add_column(u'docs_aktrabot', 'nds_type', + self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=1), + keep_default=False) + + + models = { + u'auth.group': { + 'Meta': {'object_name': 'Group'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + u'auth.permission': { + 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + u'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + u'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + u'customer.bankaccount': { + 'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'}, + 'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + 'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}), + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['auth.User']"}) + }, + u'customer.client': { + 'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'}, + 'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}), + 'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + 'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}), + 'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}), + 'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + 'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}), + 'contact_icq': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}), + 'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}), + 'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + 'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}), + 'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}), + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}), + 'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['auth.User']"}) + }, + 'docs.aktrabot': { + 'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktRabot'}, + 'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}), + 'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}), + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'doc_date': ('django.db.models.fields.DateField', [], {}), + 'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'invoice': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'+'", 'null': 'True', 'blank': 'True', 'to': "orm['docs.Invoice']"}), + 'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}), + 'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['auth.User']"}) + }, + 'docs.aktrabotitem': { + 'Meta': {'ordering': "('created_at',)", 'object_name': 'AktRabotItem'}, + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktrabot_items'", 'to': "orm['docs.AktRabot']"}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}), + 'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}), + 'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}), + 'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) + }, + 'docs.aktsverki': { + 'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktSverki'}, + 'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}), + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'doc_date': ('django.db.models.fields.DateField', [], {}), + 'doc_mesto': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'end_date': ('django.db.models.fields.DateField', [], {}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'saldo_credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}), + 'saldo_debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}), + 'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'start_date': ('django.db.models.fields.DateField', [], {}), + 'total_credit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}), + 'total_debit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}), + 'total_saldo': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['auth.User']"}) + }, + 'docs.aktsverkiitem': { + 'Meta': {'ordering': "('created_at',)", 'object_name': 'AktSverkiItem'}, + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}), + 'debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktsverki_items'", 'to': "orm['docs.AktSverki']"}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) + }, + 'docs.country': { + 'Meta': {'object_name': 'Country'}, + 'code': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '10'}) + }, + 'docs.currency': { + 'Meta': {'object_name': 'Currency'}, + 'code': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '10'}) + }, + 'docs.dover': { + 'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Dover'}, + 'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}), + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'doc_date': ('django.db.models.fields.DateField', [], {}), + 'doc_expire_date': ('django.db.models.fields.DateField', [], {}), + 'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'dover_doc': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'dover_doc_date': ('django.db.models.fields.DateField', [], {}), + 'dover_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'dover_passport_date': ('django.db.models.fields.DateField', [], {}), + 'dover_passport_num': ('django.db.models.fields.CharField', [], {'max_length': '10'}), + 'dover_passport_org': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'dover_passport_ser': ('django.db.models.fields.CharField', [], {'max_length': '10'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['auth.User']"}) + }, + 'docs.doveritem': { + 'Meta': {'ordering': "('created_at',)", 'object_name': 'DoverItem'}, + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dover_items'", 'to': "orm['docs.Dover']"}), + 'qty': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) + }, + 'docs.faktura': { + 'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Faktura'}, + 'avance': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}), + 'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}), + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'currency': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['docs.Currency']", 'null': 'True'}), + 'doc_date': ('django.db.models.fields.DateField', [], {}), + 'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + 'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}), + 'fixes': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'invoice': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'+'", 'null': 'True', 'blank': 'True', 'to': "orm['docs.Invoice']"}), + 'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}), + 'receiver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'receiver_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}), + 'sender': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'sender_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}), + 'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['auth.User']"}), + 'user_is_sender': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'docs.fakturaitem': { + 'Meta': {'ordering': "('created_at',)", 'object_name': 'FakturaItem'}, + 'country_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}), + 'country_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'gtd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faktura_items'", 'to': "orm['docs.Faktura']"}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}), + 'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}), + 'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}), + 'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + 'units_kod': ('django.db.models.fields.CharField', [], {'max_length': '10'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) + }, + 'docs.invoice': { + 'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Invoice'}, + 'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}), + 'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}), + 'closed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'doc_date': ('django.db.models.fields.DateField', [], {}), + 'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}), + 'paid_status': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['auth.User']"}) + }, + 'docs.invoiceitem': { + 'Meta': {'ordering': "('created_at',)", 'object_name': 'InvoiceItem'}, + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invoice_items'", 'to': "orm['docs.Invoice']"}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}), + 'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}), + 'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}), + 'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) + }, + 'docs.measure': { + 'Meta': {'object_name': 'Measure'}, + 'code': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '10'}) + }, + 'docs.nakladn': { + 'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Nakladn'}, + 'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}), + 'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}), + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'doc_date': ('django.db.models.fields.DateField', [], {}), + 'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + 'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'invoice': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'+'", 'null': 'True', 'blank': 'True', 'to': "orm['docs.Invoice']"}), + 'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}), + 'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['auth.User']"}) + }, + 'docs.nakladnitem': { + 'Meta': {'ordering': "('created_at',)", 'object_name': 'NakladnItem'}, + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nakladn_items'", 'to': "orm['docs.Nakladn']"}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}), + 'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}), + 'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}), + 'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) + }, + 'docs.platdoc': { + 'Meta': {'object_name': 'PlatDoc'}, + 'doc_date': ('django.db.models.fields.DateField', [], {}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'num': ('django.db.models.fields.CharField', [], {'max_length': '30'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'plat_docs'", 'to': "orm['docs.Faktura']"}) + }, + 'docs.platejka': { + 'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Platejka'}, + 'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}), + 'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}), + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'doc_date': ('django.db.models.fields.DateField', [], {}), + 'doc_info': ('django.db.models.fields.TextField', [], {'max_length': '1000'}), + 'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'doc_total': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'nds_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}), + 'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}), + 'payment_order': ('django.db.models.fields.CharField', [], {'max_length': '10'}), + 'payment_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}), + 'platej_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}), + 'tax_base': ('django.db.models.fields.CharField', [], {'default': "u'\\u0422\\u041f'", 'max_length': '10'}), + 'tax_bk': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'tax_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'tax_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}), + 'tax_okato': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'tax_period': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'tax_status': ('django.db.models.fields.CharField', [], {'default': "u'01'", 'max_length': '10'}), + 'tax_type': ('django.db.models.fields.CharField', [], {'default': "u'\\u041d\\u0421'", 'max_length': '10'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['auth.User']"}) + } + } + + complete_apps = ['docs'] \ No newline at end of file diff --git a/project/docs/models/base_models.py b/project/docs/models/base_models.py index 7c07c8b..054a1c1 100644 --- a/project/docs/models/base_models.py +++ b/project/docs/models/base_models.py @@ -44,7 +44,6 @@ class BaseNdsModel(BaseModel): """Расширение абстрактной модели бух.формы - НДС. Доп. поля под тип и ставку НДС. """ - nds_type = models.PositiveSmallIntegerField(u'НДС', choices=consts.NDS_TYPE_CHOICES, default=consts.NDS_TYPE_NO) nds_value = models.PositiveSmallIntegerField(u'Ставка НДС', choices=consts.NDS_VALUE_CHOICES, default=consts.NDS_VALUE_0) class Meta(BaseModel.Meta): diff --git a/project/docs/models/platejka.py b/project/docs/models/platejka.py index e18cf29..6bb5bca 100644 --- a/project/docs/models/platejka.py +++ b/project/docs/models/platejka.py @@ -21,7 +21,6 @@ class Platejka(BaseModel): doc_info = models.TextField(u'Назначение платежа', max_length=1000) # поля только для перевода денег (коммерческое) - nds_type = models.PositiveSmallIntegerField(u'НДС', choices=consts.NDS_TYPE_CHOICES, default=consts.NDS_TYPE_NO) nds_value = models.PositiveSmallIntegerField(u'Ставка НДС', choices=consts.NDS_VALUE_CHOICES, default=consts.NDS_VALUE_0) # поля только для оплаты налогов (налоговое) diff --git a/project/docs/urls.py b/project/docs/urls.py index 2a4282b..591a6ae 100644 --- a/project/docs/urls.py +++ b/project/docs/urls.py @@ -2,7 +2,7 @@ from django.conf.urls import * from .views import (InvoiceViews, AktRabotViews, AktSverkiViews, DoverViews, PlatejkaViews, NakladnViews, FakturaViews) -from .views import getview, index, get_pair, get_invoices, get_tbl_items +from .views import getview, index, get_pair, get_invoices, get_tbl_items, get_client_by_invoice urlpatterns = patterns('docs.views', @@ -58,8 +58,10 @@ for name, klass in klasses: name='docs_%s_email_ajax' % name), url(r'^ajax_get_pair/(?P\w+)/(?P\w+)/(?P\w+)/(?P\w+)/$', get_pair, name='ajax_get_pair'), + url(r'^ajax_get_invoices/$', get_invoices, name='ajax_get_invoices'), url(r'^ajax_get_invoices/(?P\d+)/$', get_invoices, name='ajax_get_invoices'), url(r'^ajax_get_tbl_items/(?P\d+)/$', get_tbl_items, name='ajax_get_tbl_items'), + url(r'^ajax_get_client_by_invoice/(?P\d+)/$', get_client_by_invoice, name='ajax_get_client_by_invoice'), ) # доп. обработчики: создать Документ по Счету diff --git a/project/docs/utils.py b/project/docs/utils.py index 8bd4e79..9725ba1 100644 --- a/project/docs/utils.py +++ b/project/docs/utils.py @@ -12,9 +12,6 @@ def get_nds(key): def extract_nds(obj): """Если НДС содержится в цене, извлекает и возвращает его.""" nds = Decimal('0.00') - if obj.parent.nds_type == consts.NDS_TYPE_IN: # ндс в сумме, извлечь его - nds_rate = get_nds(obj.parent.nds_value)/100 - nds = obj.price * (1 - 1/(1+nds_rate)) return nds @@ -30,13 +27,9 @@ def calc_clean_total_price(obj): def calc_total_nds(obj): """Считает сумму налога.""" - total_nds = Decimal('0.00') - if obj.parent.nds_type == consts.NDS_TYPE_IN: # ндс в сумме - total_nds = extract_nds(obj) * obj.qty - elif obj.parent.nds_type == consts.NDS_TYPE_OUT: # ндс сверх суммы - total_price = obj.price * obj.qty - nds_rate = get_nds(obj.parent.nds_value)/100 - total_nds = total_price * nds_rate + total_price = obj.price * obj.qty + nds_rate = get_nds(obj.parent.nds_value)/100 + total_nds = total_price * nds_rate return total_nds diff --git a/project/docs/views/__init__.py b/project/docs/views/__init__.py index b39ca8e..18ba6f6 100644 --- a/project/docs/views/__init__.py +++ b/project/docs/views/__init__.py @@ -11,7 +11,7 @@ from .dover import DoverViews from .platejka import PlatejkaViews from .nakladn import NakladnViews from .faktura import FakturaViews -from .ajax import get_pair, get_invoices, get_tbl_items +from .ajax import get_pair, get_invoices, get_tbl_items, get_client_by_invoice #from .sfv import SfvViews diff --git a/project/docs/views/ajax.py b/project/docs/views/ajax.py index 2c8fedd..564ace3 100644 --- a/project/docs/views/ajax.py +++ b/project/docs/views/ajax.py @@ -27,11 +27,13 @@ def get_pair(request, model, param1, val1, param2): return HttpResponse(json.dumps(data), mimetype='application/json') -def get_invoices(request, client_id): +def get_invoices(request, client_id=None): if not request.is_ajax(): return HttpResponseBadRequest() - - invoices = Invoice.objects.filter(client__id=client_id) + if client_id: + invoices = Invoice.objects.filter(client__id=client_id) + else: + invoices = Invoice.objects.filter(user=request.user) invoices = {invoice.id: '№ %s от %s' % (invoice.doc_num, invoice.doc_date) for invoice in invoices} return HttpResponse(json.dumps(invoices), mimetype='application/json') @@ -44,4 +46,13 @@ def get_tbl_items(request, invoice_id): invoice = Invoice.objects.get(pk=invoice_id) data = serializers.serialize('json', invoice.invoice_items.all()) - return HttpResponse(json.dumps(data), mimetype='application/json') \ No newline at end of file + return HttpResponse(json.dumps(data), mimetype='application/json') + + +def get_client_by_invoice(request, invoice_id): + if not request.is_ajax(): + return HttpResponseBadRequest() + + invoice = Invoice.objects.get(pk=invoice_id) + + return HttpResponse(json.dumps([invoice.client.id,]), mimetype='application/json') \ No newline at end of file diff --git a/project/docs/views/aktrabot.py b/project/docs/views/aktrabot.py index 8ab7806..533e998 100644 --- a/project/docs/views/aktrabot.py +++ b/project/docs/views/aktrabot.py @@ -71,12 +71,5 @@ class AktRabotViews(BaseItemsViews, AddByInvoiceMethodMixin): obj.sum_total_nds += utils.calc_total_nds(item) obj.sum_full_total_price += utils.calc_full_total_price(item) - if obj.nds_type == consts.NDS_TYPE_NO: # не учитывать ндс - s = u'Без налога (НДС)' - elif obj.nds_type == consts.NDS_TYPE_IN: # ндс в сумме - s = u'В том числе НДС (%s)' % obj.get_nds_value_display() - elif obj.nds_type == consts.NDS_TYPE_OUT: # ндс сверх суммы - s = u'Итого НДС (%s)' % obj.get_nds_value_display() - else: - s = u'' + s = u'Итого НДС (%s)' % obj.get_nds_value_display() obj.nds_itogo_text = s diff --git a/project/docs/views/base_views.py b/project/docs/views/base_views.py index e70c10c..3829174 100644 --- a/project/docs/views/base_views.py +++ b/project/docs/views/base_views.py @@ -648,8 +648,14 @@ class BaseItemsViews(BaseViews): else: pformset = None - formset = self.ITEM_FORMSET_CLASS(self.request.POST or None, prefix=self.ITEM_FORM_PREFIX, instance=obj) - form = self.FORM_CLASS(self.request.user, data=self.request.POST or None, instance=obj) + if self.request.method == 'POST': + formset = self.ITEM_FORMSET_CLASS(self.request.POST, prefix=self.ITEM_FORM_PREFIX, instance=obj) + #print formset.forms[0].data['faktura_items-0-DELETE'] + form = self.FORM_CLASS(self.request.user, data=self.request.POST or None, instance=obj) + else: + formset = self.ITEM_FORMSET_CLASS(prefix=self.ITEM_FORM_PREFIX, instance=obj) + form = self.FORM_CLASS(self.request.user, instance=obj) + if form.is_valid() and formset.is_valid() and ((not pformset) or (pformset and pformset.is_valid())): new_obj = form.save() diff --git a/project/docs/views/invoice.py b/project/docs/views/invoice.py index ef937f1..811c1d2 100644 --- a/project/docs/views/invoice.py +++ b/project/docs/views/invoice.py @@ -76,12 +76,5 @@ class InvoiceViews(BaseItemsViews): obj.sum_total_nds += utils.calc_total_nds(item) obj.sum_full_total_price += utils.calc_full_total_price(item) - if obj.nds_type == consts.NDS_TYPE_NO: # не учитывать ндс - s = u'Без налога (НДС)' - elif obj.nds_type == consts.NDS_TYPE_IN: # ндс в сумме - s = u'В том числе НДС (%s)' % obj.get_nds_value_display() - elif obj.nds_type == consts.NDS_TYPE_OUT: # ндс сверх суммы - s = u'Итого НДС (%s)' % obj.get_nds_value_display() - else: - s = u'' + s = u'Итого НДС (%s)' % obj.get_nds_value_display() obj.nds_itogo_text = s diff --git a/project/static/css/style.css b/project/static/css/style.css index 06fa24d..4368522 100644 --- a/project/static/css/style.css +++ b/project/static/css/style.css @@ -103,7 +103,7 @@ a.delete { vertical-align: top; } .doc-form { padding-left: 2px; } .doc-form input[type=text], input[type=password], textarea, option { padding-left: 2px; margin-left: 0; } -.doc-form #doc_date, .doc-form #nds_type, +.doc-form #doc_date, .doc-form #doc_mesto, .doc-form #end_date, .doc-form #doc_expire_date, .doc-form #dover_doc_date, .doc-form #dover_passport_num { margin-left: 10px; } diff --git a/project/static/js/docs/common/calc_nds.js b/project/static/js/docs/common/calc_nds.js index 73ca218..abfdbe5 100644 --- a/project/static/js/docs/common/calc_nds.js +++ b/project/static/js/docs/common/calc_nds.js @@ -1,11 +1,4 @@ -function calc_nds(summa, nds_rate, nds_type) { - switch (nds_type) { - case 2: // ндс в сумме - nds_rate = nds_rate/100; - return summa * (1 - 1 / (1 + nds_rate)); - case 3: // ндс сверх суммы - return summa * nds_rate/100; - default: - return 0; +function calc_nds(summa, nds_rate) { + return summa * nds_rate/100; } } diff --git a/project/static/js/docs/platejka.form.js b/project/static/js/docs/platejka.form.js index c09d1fa..249aa33 100644 --- a/project/static/js/docs/platejka.form.js +++ b/project/static/js/docs/platejka.form.js @@ -6,7 +6,6 @@ DOC.taxes = null; DOC.doc_info = null; DOC.CONSTS = { 'platej_type': {'commerce': 1, 'tax': 2}, // типы платежных поручений - 'nds_type': {'no': 1, 'in': 2, 'out': 3}, // # виды НДС 'nds_value': {0: 1, 10: 2, 18: 3} // # ставка НДС }; @@ -45,11 +44,9 @@ function make_summa() { var ptype = DOC.platej_type.val(); var el_doc_total = $('input#id_doc_total', DOC.form); - var el_nds_type = $('input[name=nds_type]:checked', DOC.form); var el_nds_value = $('select[name=nds_value]', DOC.form); var doc_total = parseFloat(el_doc_total.val().replace(",", ".")); - var nds_type = parseInt(el_nds_type.val().replace(",", ".")); var nds_value = parseInt(el_nds_value.val().replace(",", ".")); var add_text = ''; @@ -65,22 +62,20 @@ function make_summa() { // добавить в текст ндс if (ptype == DOC.CONSTS.platej_type.commerce) { // перевод денег - if (!isNaN(doc_total) && !isNaN(nds_type) && !isNaN(nds_value)) { - if (nds_type == DOC.CONSTS.nds_type['in'] || nds_type == DOC.CONSTS.nds_type['out']) { - var nds_rate = 0; - switch (nds_value) { - case DOC.CONSTS.nds_value[0]: nds_rate = 0; break; - case DOC.CONSTS.nds_value[10]: nds_rate = 10; break; - case DOC.CONSTS.nds_value[18]: nds_rate = 18; break; - } - if (nds_rate > 0) { - var nds = calc_nds(doc_total, nds_rate, nds_type); - add_text += ', в т.ч. НДС (' + nds_rate + '%): ' + - nds.toFixed(2).toString().replace(".", ",") + ' руб.'; - } - else { - add_text += ', без НДС'; - } + if (!isNaN(doc_total) && !isNaN(nds_value)) { + var nds_rate = 0; + switch (nds_value) { + case DOC.CONSTS.nds_value[0]: nds_rate = 0; break; + case DOC.CONSTS.nds_value[10]: nds_rate = 10; break; + case DOC.CONSTS.nds_value[18]: nds_rate = 18; break; + } + if (nds_rate > 0) { + var nds = calc_nds(doc_total, nds_rate); + add_text += ', в т.ч. НДС (' + nds_rate + '%): ' + + nds.toFixed(2).toString().replace(".", ",") + ' руб.'; + } + else { + add_text += ', без НДС'; } } } diff --git a/project/static/js/lib/jquery.formset.js b/project/static/js/lib/jquery.formset.js index a659276..d4aaeeb 100644 --- a/project/static/js/lib/jquery.formset.js +++ b/project/static/js/lib/jquery.formset.js @@ -58,7 +58,8 @@ // We're dealing with an inline formset; rather than remove // this form from the DOM, we'll mark it as deleted and hide // it, then let Django handle the deleting: - del.val('on'); + //del.val('on'); + del.prop('checked', true); row.hide(); } else { row.remove(); @@ -105,9 +106,6 @@ if (del.length) { // If you specify "can_delete = True" when creating an inline formset, // Django adds a checkbox to each form in the formset. - // Replace the default checkbox with a hidden field: - del.before(''); - del.remove(); } if (hasChildElements(row)) { insertDeleteLink(row); @@ -163,7 +161,6 @@ row = options.formTemplate.clone(true).removeClass('formset-custom-template'), buttonRow = $(this).parents('tr.' + options.formCssClass + '-add').get(0) || this; applyExtraClasses(row, formCount); - console.log(options); if (options.beforeadd) options.beforeadd(row); row.insertBefore($(buttonRow)).show(); row.find('input,select,textarea,label').each(function() { diff --git a/project/templates/docs/aktrabot/as_pdf.html b/project/templates/docs/aktrabot/as_pdf.html index 5983cf5..c421070 100644 --- a/project/templates/docs/aktrabot/as_pdf.html +++ b/project/templates/docs/aktrabot/as_pdf.html @@ -95,11 +95,7 @@ {{ obj.nds_itogo_text|safe }}: - {% if obj.nds_type == 1 %} - --- - {% else %} - {{ obj.sum_total_nds|floatformat:2 }} - {% endif %} + {{ obj.sum_total_nds|floatformat:2 }} diff --git a/project/templates/docs/aktrabot/form.html b/project/templates/docs/aktrabot/form.html index 301e830..8d59762 100644 --- a/project/templates/docs/aktrabot/form.html +++ b/project/templates/docs/aktrabot/form.html @@ -16,7 +16,6 @@
{% include 'docs/parts/form_field.html' with field=form.nds_value id="nds_value" classes="left" label="НДС" no_clear_after="True" %} - {% include 'docs/parts/form_field.html' with field=form.nds_type id="nds_type" classes="left" label_inline="True" %} {% if formset %}
diff --git a/project/templates/docs/faktura/form.html b/project/templates/docs/faktura/form.html index 78faee2..2658b73 100644 --- a/project/templates/docs/faktura/form.html +++ b/project/templates/docs/faktura/form.html @@ -28,7 +28,6 @@
{% include 'docs/parts/form_field.html' with field=form.nds_value id="nds_value" classes="left" label="НДС" no_clear_after="True" %} - {% include 'docs/parts/form_field.html' with field=form.nds_type id="nds_type" classes="left" label_inline="True" %} {% if formset %}
diff --git a/project/templates/docs/invoice/as_pdf.html b/project/templates/docs/invoice/as_pdf.html index 87fb5df..4407521 100644 --- a/project/templates/docs/invoice/as_pdf.html +++ b/project/templates/docs/invoice/as_pdf.html @@ -115,11 +115,7 @@ - {% if obj.nds_type == 1 %} {# не учитывать ндс #} - --- - {% else %} - {{ obj.sum_total_nds|floatformat:2 }} - {% endif %} + {{ obj.sum_total_nds|floatformat:2 }} diff --git a/project/templates/docs/invoice/form.html b/project/templates/docs/invoice/form.html index 9a25682..5bb6a72 100644 --- a/project/templates/docs/invoice/form.html +++ b/project/templates/docs/invoice/form.html @@ -15,7 +15,6 @@
{% include 'docs/parts/form_field.html' with field=form.nds_value id="nds_value" classes="left" label="НДС" no_clear_after="True" %} - {% include 'docs/parts/form_field.html' with field=form.nds_type id="nds_type" classes="left" label_inline="True" %} {% if formset %}
@@ -44,7 +43,7 @@ $("#tbl_items tr.row td.price input").blur(calc_itogo); $("#tbl_items tr.row td.total_price input").blur(calc_itogo); - $('input[name=nds_type]').change(calc_itogo_nds); + //$('input[name=nds_type]').change(calc_itogo_nds); $('#id_nds_value').change(calc_itogo_nds); $("#tbl_items tr.row td.qty input").blur(calc_itogo_nds); diff --git a/project/templates/docs/nakladn/form.html b/project/templates/docs/nakladn/form.html index 34f9aca..ffac784 100644 --- a/project/templates/docs/nakladn/form.html +++ b/project/templates/docs/nakladn/form.html @@ -20,7 +20,6 @@
{% include 'docs/parts/form_field.html' with field=form.nds_value id="nds_value" classes="left" label="НДС" no_clear_after="True" %} - {% include 'docs/parts/form_field.html' with field=form.nds_type id="nds_type" classes="left" label_inline="True" %} {% if formset %}
diff --git a/project/templates/docs/parts/faktura_form_plat_doc_items.html b/project/templates/docs/parts/faktura_form_plat_doc_items.html index 4336c11..d4cff68 100644 --- a/project/templates/docs/parts/faktura_form_plat_doc_items.html +++ b/project/templates/docs/parts/faktura_form_plat_doc_items.html @@ -7,8 +7,8 @@ От - {% for pform in pformset %} - + {% for pform in pformset.forms %} + {{ pform.num.errors }} {{ pform.num }} @@ -19,7 +19,7 @@ {{ pform.id }} - {{ pform.DELETE }} + {{ pform.DELETE }} {% endfor %} diff --git a/project/templates/docs/parts/faktura_form_tbl_items.html b/project/templates/docs/parts/faktura_form_tbl_items.html index 6e95ecc..09395ef 100644 --- a/project/templates/docs/parts/faktura_form_tbl_items.html +++ b/project/templates/docs/parts/faktura_form_tbl_items.html @@ -11,8 +11,10 @@ Удалить - {% for iform in formset %} - + {% for iform in formset.forms %} + + {{ iform.id }} + {{ iform.parent }} {{ iform.name.errors }} {{ iform.name }} @@ -45,10 +47,8 @@ {{ iform.country_name.errors }} {{ iform.country_name }} - {{ iform.id }} - {{ iform.parent }} - {{ iform.DELETE }} + {% if iform.instance.pk %}{{ iform.DELETE }}{% endif %} {% endfor %} diff --git a/project/templates/docs/parts/form_tbl_items.html b/project/templates/docs/parts/form_tbl_items.html index 893021f..6123580 100644 --- a/project/templates/docs/parts/form_tbl_items.html +++ b/project/templates/docs/parts/form_tbl_items.html @@ -11,7 +11,7 @@ {% for iform in formset %} - + {% for field in iform %} {% if field.name == "id" or field.name == "parent" %} {{ field }} @@ -25,7 +25,7 @@ {% endif %} {% endfor %} - {{ iform.DELETE }} + {% if iform.instance.pk %}{{ iform.DELETE }}{% endif %} {% endfor %} diff --git a/project/templates/docs/platejka/form.html b/project/templates/docs/platejka/form.html index 7c1363b..0ef49b7 100644 --- a/project/templates/docs/platejka/form.html +++ b/project/templates/docs/platejka/form.html @@ -52,7 +52,6 @@ {# коммерческие реквизиты #}
{% include 'docs/parts/form_field.html' with field=form.nds_value id="nds_value" classes="field left" label="НДС" no_clear_after="True" %} - {% include 'docs/parts/form_field.html' with field=form.nds_type id="nds_type" classes="field left" label_inline="True" %}
diff --git a/project/templates/docs/stub_js.html b/project/templates/docs/stub_js.html index c77ad20..f15cef3 100644 --- a/project/templates/docs/stub_js.html +++ b/project/templates/docs/stub_js.html @@ -2,10 +2,12 @@