diff --git a/project/docs/migrations/0013_auto__chg_field_faktura_invoice__chg_field_nakladn_invoice__chg_field_.py b/project/docs/migrations/0013_auto__chg_field_faktura_invoice__chg_field_nakladn_invoice__chg_field_.py
new file mode 100644
index 0000000..6329855
--- /dev/null
+++ b/project/docs/migrations/0013_auto__chg_field_faktura_invoice__chg_field_nakladn_invoice__chg_field_.py
@@ -0,0 +1,332 @@
+# -*- coding: utf-8 -*-
+from south.utils import datetime_utils as datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+
+ # Changing field 'Faktura.invoice'
+ db.alter_column(u'docs_faktura', 'invoice_id', self.gf('django.db.models.fields.related.ForeignKey')(on_delete=models.SET_NULL, to=orm['docs.Invoice'], null=True))
+
+ # Changing field 'Nakladn.invoice'
+ db.alter_column(u'docs_nakladn', 'invoice_id', self.gf('django.db.models.fields.related.ForeignKey')(on_delete=models.SET_NULL, to=orm['docs.Invoice'], null=True))
+
+ # Changing field 'AktRabot.invoice'
+ db.alter_column(u'docs_aktrabot', 'invoice_id', self.gf('django.db.models.fields.related.ForeignKey')(on_delete=models.SET_NULL, to=orm['docs.Invoice'], null=True))
+
+ def backwards(self, orm):
+
+ # Changing field 'Faktura.invoice'
+ db.alter_column(u'docs_faktura', 'invoice_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['docs.Invoice']))
+
+ # Changing field 'Nakladn.invoice'
+ db.alter_column(u'docs_nakladn', 'invoice_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['docs.Invoice']))
+
+ # Changing field 'AktRabot.invoice'
+ db.alter_column(u'docs_aktrabot', 'invoice_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['docs.Invoice']))
+
+ 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', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
+ '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'}),
+ 'fix_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'fix_doc_num': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '30', 'null': 'True', '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', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
+ 'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
+ 'plat_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'plat_doc_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
+ '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'}),
+ 'ntd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
+ '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', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
+ '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.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_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/mixins.py b/project/docs/models/mixins.py
index 964df8b..1d3b461 100644
--- a/project/docs/models/mixins.py
+++ b/project/docs/models/mixins.py
@@ -16,7 +16,7 @@ class SignedStatusFieldMixin(models.Model):
class InvoiceFieldMixin(models.Model):
"""Mixin: добавляет FK поле `Создать по счёту`"""
invoice = models.ForeignKey(Invoice, related_name='+', verbose_name=u'Создать по счёту', blank=True, null=True,
- default=None)
+ default=None, on_delete=models.SET_NULL)
class Meta:
abstract = True
diff --git a/project/docs/views/base_views.py b/project/docs/views/base_views.py
index fe2c7d8..fd33e5f 100644
--- a/project/docs/views/base_views.py
+++ b/project/docs/views/base_views.py
@@ -337,6 +337,7 @@ class BaseViews(object):
'msg': u'Удалён документ:
%s №%d от %s' % (self.PADEJI['imenit'], del_num, del_date),
'success': success,
'del_id': del_id,
+ 'redirect_url': self.REDIRECT_AFTER_DELETE,
}
return HttpResponse(json.dumps(result), mimetype='application/json')
diff --git a/project/static/js/docs/del_doc.js b/project/static/js/docs/del_doc.js
new file mode 100644
index 0000000..e73a1d2
--- /dev/null
+++ b/project/static/js/docs/del_doc.js
@@ -0,0 +1,36 @@
+$(document).ready(function() {
+ $('a.doc.delete-link').on('click', function(e){
+ e.preventDefault();
+ var link = $(this).attr('href');
+ var dlg_msg = $('#dialog-message');
+ var docname = $($(this).closest('.doc-panel')[0]).data('docname');
+ var redirect_url = $($(this).closest('.doc-panel')[0]).data('redirect');
+
+ dlg_msg.dialog({
+ title: 'Удалить документ?',
+ buttons:{'Да': function(){
+ $.post(link, function(data){
+ $('#doc_row_' + data['del_id']).remove();
+ dlg_msg.html(data['msg']);
+ dlg_msg.dialog({title: data['title'],
+ buttons: {
+ 'Ok': function(e){
+ dlg_msg.dialog('close');
+ if (redirect_url) {
+ location.replace(redirect_url);
+ }
+ }
+ }
+ });
+ dlg_msg.dialog('open');
+ });
+ },
+ 'Нет': function(){
+ dlg_msg.dialog('close');
+ }
+ }
+ }).html('Нажмите "Да", чтобы удалить документ:
' + docname);
+ dlg_msg.dialog('open');
+ //dlg_msg.dialog({title: data.message['title']}).html(data.message['msg']);
+ });
+});
diff --git a/project/static/js/docs/list.panels.js b/project/static/js/docs/list.panels.js
index 3aad5b1..2e9eaa8 100644
--- a/project/static/js/docs/list.panels.js
+++ b/project/static/js/docs/list.panels.js
@@ -75,35 +75,4 @@ $(document).ready(function() {
var link = $($(this).parent().find('a')[0]).attr('href');
location.replace(link);
})
- $('a.doc.delete-link').on('click', function(e){
- e.preventDefault();
- var link = $(this).attr('href');
- var dlg_msg = $('#dialog-message');
- var docname = $($(this).closest('.doc-panel')[0]).data('docname');
-
- dlg_msg.dialog({
- title: 'Удалить документ?',
- buttons:{'Да': function(){
- $.post(link, function(data){
- $('#doc_row_' + data['del_id']).remove();
- dlg_msg.html(data['msg']);
- dlg_msg.dialog({title: data['title'],
- buttons: {
- 'Ok': function(e){
- dlg_msg.dialog('close');
- }
- }
- });
- dlg_msg.dialog('open');
- });
- },
- 'Нет': function(){
- dlg_msg.dialog('close');
- }
- }
- }).html('Нажмите "Да", чтобы удалить документ:
' + docname);
- dlg_msg.dialog('open');
- //dlg_msg.dialog({title: data.message['title']}).html(data.message['msg']);
- });
-
});
diff --git a/project/templates/docs/_base/base_list.html b/project/templates/docs/_base/base_list.html
index 6a719b6..536e93e 100644
--- a/project/templates/docs/_base/base_list.html
+++ b/project/templates/docs/_base/base_list.html
@@ -130,6 +130,7 @@
+
diff --git a/project/templates/docs/_base/preview.html b/project/templates/docs/_base/preview.html
index 422d535..2f8c578 100644
--- a/project/templates/docs/_base/preview.html
+++ b/project/templates/docs/_base/preview.html
@@ -20,13 +20,15 @@
{% endfor %}