diff --git a/project/commons/forms.py b/project/commons/forms.py index 0c07ca0..50d1b8b 100644 --- a/project/commons/forms.py +++ b/project/commons/forms.py @@ -65,3 +65,6 @@ class MyBaseModelForm(forms.ModelForm, _MySuperForm): f = self.fields if 'units' in f: f['units'].widget = autocomplete_light.TextWidget('ACMeasure') +# if 'currency' in f: +# f['currency'].widget = autocomplete_light.TextWidget('ACCurrency') + diff --git a/project/customer/admin.py b/project/customer/admin.py index 22bd6c1..fcd9be3 100644 --- a/project/customer/admin.py +++ b/project/customer/admin.py @@ -14,7 +14,7 @@ class LicenseAdmin(admin.ModelAdmin): list_display = ('get_company', 'term', 'status', 'order_date', 'date_from', 'date_to') list_display_links = list_display - search_fields = ('user__email', ) + search_fields = ('company__email', ) list_filter = ('status', 'term', 'order_date', 'date_from', 'date_to') #TODO прописать fieldsets diff --git a/project/docs/admin.py b/project/docs/admin.py index c2bf7f3..7516b6f 100644 --- a/project/docs/admin.py +++ b/project/docs/admin.py @@ -4,7 +4,7 @@ from django.contrib import admin import models -class InvoiceItemInline(admin.TabularInline): +class InvoiceItemInline(admin.TabularInline): model = models.InvoiceItem extra = 0 @@ -43,9 +43,24 @@ class AktRabotAdmin(admin.ModelAdmin): #inlines = (AktRabotItemInline,) -admin.site.register(models.Currency) -admin.site.register(models.Country) -admin.site.register(models.Measure) +class MeasureAdmin(admin.ModelAdmin): + list_display = ('code', 'name', 'full_name',) + search_fields = ('code', 'name', 'full_name',) + + +class CountryAdmin(admin.ModelAdmin): + list_display = ('code', 'name', 'full_name',) + search_fields = ('code', 'name', 'full_name',) + + +class CurrencyAdmin(admin.ModelAdmin): + list_display = ('code', 'name', 'abc_code',) + search_fields = ('code', 'name', 'abc_code',) + + +admin.site.register(models.Currency, CurrencyAdmin) +admin.site.register(models.Country, CountryAdmin) +admin.site.register(models.Measure, MeasureAdmin) admin.site.register(models.Invoice, InvoiceAdmin) admin.site.register(models.AktRabot, AktRabotAdmin) admin.site.register(models.AktSverki) diff --git a/project/docs/autocomplete_light_registry.py b/project/docs/autocomplete_light_registry.py index a9f079a..7760155 100644 --- a/project/docs/autocomplete_light_registry.py +++ b/project/docs/autocomplete_light_registry.py @@ -5,6 +5,7 @@ from django.db.models import Q from models import (Country, Currency, Measure) from project.customer.models import Client + class AutocompleteClient(autocomplete_light.AutocompleteModelBase): '''Автокомплит клиента в зависимости от юзера ''' @@ -28,7 +29,20 @@ class AutocompleteWithEmptyWidget(autocomplete_light.AutocompleteModelBase): autocomplete_js_attributes = {'placeholder': u''} +class AutocompleteCurrency(autocomplete_light.AutocompleteModelBase): + '''Автокомплит валют + ''' + autocomplete_js_attributes = {'placeholder': u'Название валюты'} + + search_fields = ('name', '^abc_code') + +# def choices_for_request(self): +# if not self.request.GET.get('q', '').strip(): +# return self.choices.none() +# return super(AutocompleteCurrency, self).choices_for_request() + + autocomplete_light.register(Country, AutocompleteWithEmptyWidget, name='ACCountry') -autocomplete_light.register(Currency, AutocompleteWithEmptyWidget, name='ACCurrency') +autocomplete_light.register(Currency, AutocompleteCurrency, name='ACCurrency') autocomplete_light.register(Measure, AutocompleteWithEmptyWidget, name='ACMeasure') autocomplete_light.register(Client, AutocompleteClient, name='ACClient') diff --git a/project/docs/migrations/0002_auto__add_field_measure_full_name__chg_field_measure_code__chg_field_m.py b/project/docs/migrations/0002_auto__add_field_measure_full_name__chg_field_measure_code__chg_field_m.py new file mode 100644 index 0000000..0d51382 --- /dev/null +++ b/project/docs/migrations/0002_auto__add_field_measure_full_name__chg_field_measure_code__chg_field_m.py @@ -0,0 +1,424 @@ +# -*- 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): + # Adding field 'Measure.full_name' + db.add_column(u'docs_measure', 'full_name', + self.gf('django.db.models.fields.CharField')(default='', max_length=255), + keep_default=False) + + + # Changing field 'Measure.code' + db.alter_column(u'docs_measure', 'code', self.gf('django.db.models.fields.CharField')(max_length=20)) + + # Changing field 'Measure.name' + db.alter_column(u'docs_measure', 'name', self.gf('django.db.models.fields.CharField')(max_length=30)) + # Adding field 'Country.full_name' + db.add_column(u'docs_country', 'full_name', + self.gf('django.db.models.fields.CharField')(default='', max_length=255), + keep_default=False) + + + # Changing field 'Country.code' + db.alter_column(u'docs_country', 'code', self.gf('django.db.models.fields.CharField')(max_length=20)) + + # Changing field 'Country.name' + db.alter_column(u'docs_country', 'name', self.gf('django.db.models.fields.CharField')(max_length=60)) + # Adding field 'Currency.abc_code' + db.add_column(u'docs_currency', 'abc_code', + self.gf('django.db.models.fields.CharField')(default='', max_length=10), + keep_default=False) + + + # Changing field 'Currency.code' + db.alter_column(u'docs_currency', 'code', self.gf('django.db.models.fields.CharField')(max_length=20)) + + # Changing field 'Currency.name' + db.alter_column(u'docs_currency', 'name', self.gf('django.db.models.fields.CharField')(max_length=60)) + + def backwards(self, orm): + # Deleting field 'Measure.full_name' + db.delete_column(u'docs_measure', 'full_name') + + + # Changing field 'Measure.code' + db.alter_column(u'docs_measure', 'code', self.gf('django.db.models.fields.CharField')(max_length=200)) + + # Changing field 'Measure.name' + db.alter_column(u'docs_measure', 'name', self.gf('django.db.models.fields.CharField')(max_length=10)) + # Deleting field 'Country.full_name' + db.delete_column(u'docs_country', 'full_name') + + + # Changing field 'Country.code' + db.alter_column(u'docs_country', 'code', self.gf('django.db.models.fields.CharField')(max_length=200)) + + # Changing field 'Country.name' + db.alter_column(u'docs_country', 'name', self.gf('django.db.models.fields.CharField')(max_length=10)) + # Deleting field 'Currency.abc_code' + db.delete_column(u'docs_currency', 'abc_code') + + + # Changing field 'Currency.code' + db.alter_column(u'docs_currency', 'code', self.gf('django.db.models.fields.CharField')(max_length=200)) + + # Changing field 'Currency.name' + db.alter_column(u'docs_currency', 'name', self.gf('django.db.models.fields.CharField')(max_length=10)) + + 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'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'}), + 'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}), + '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'}) + }, + 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'}), + 'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}), + 'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', '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'}), + 'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}), + 'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) + }, + u'customer.userprofile': { + 'Meta': {'object_name': 'UserProfile'}, + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}), + 'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}), + 'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}), + 'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}), + 'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}), + 'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + 'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}), + 'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}), + 'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}), + 'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + 'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}), + 'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}), + 'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}), + 'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}), + 'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + 'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}), + 'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}), + 'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}), + 'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}), + 'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}), + 'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}), + 'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}), + 'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}), + 'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + 'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + 'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}), + 'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}), + 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}) + }, + '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']"}), + 'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}), + '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['myauth.DokUser']"}) + }, + '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']"}), + 'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}), + '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['myauth.DokUser']"}) + }, + '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': '20'}), + 'full_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '60'}) + }, + 'docs.currency': { + 'Meta': {'object_name': 'Currency'}, + 'abc_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '60'}) + }, + 'docs.dover': { + 'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Dover'}, + 'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}), + 'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}), + '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['myauth.DokUser']"}) + }, + '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']"}), + 'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}), + '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['myauth.DokUser']"}), + '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'}), + 'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}), + '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['myauth.DokUser']"}) + }, + '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': '20'}), + 'full_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}) + }, + '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']"}), + 'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}), + '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['myauth.DokUser']"}) + }, + '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']"}), + 'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}), + '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['myauth.DokUser']"}) + }, + u'myauth.dokuser': { + 'Meta': {'object_name': 'DokUser'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '254'}), + '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'}), + 'profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'users'", 'null': 'True', 'to': u"orm['customer.UserProfile']"}), + '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', 'blank': 'True'}) + } + } + + 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 122db33..a85012e 100644 --- a/project/docs/models/base_models.py +++ b/project/docs/models/base_models.py @@ -99,15 +99,3 @@ class BaseItemInvoiceModel(BaseItemModel): def save(self, *args, **kwargs): self.total_price = self.price * self.qty # пересчитать сумму super(BaseItemInvoiceModel, self).save(*args, **kwargs) - - -class AbstractCatalog(models.Model): - code = models.CharField(u'Код', max_length=200) - name = models.CharField(u'Наименование', max_length=10) - - class Meta: - abstract = True - app_label="docs" - - def __unicode__(self): - return self.name diff --git a/project/docs/models/refs.py b/project/docs/models/refs.py index 4be08e1..9636c41 100644 --- a/project/docs/models/refs.py +++ b/project/docs/models/refs.py @@ -1,22 +1,47 @@ # -*- coding: utf-8 -*- -from .base_models import AbstractCatalog +from django.db import models -class Country(AbstractCatalog): - class Meta(AbstractCatalog.Meta): + +class Country(models.Model): + code = models.CharField(u'Код', max_length=20) + name = models.CharField(u'Наименование', max_length=60) + full_name = models.CharField(u'Полное наименование', max_length=255, blank=True, default='') + + class Meta: verbose_name = u'Страна' verbose_name_plural = u'Страны' - app_label="docs" + ordering = ('code',) + app_label = 'docs' + + def __unicode__(self): + return self.name + +class Currency(models.Model): + code = models.CharField(u'Код', max_length=20) + name = models.CharField(u'Наименование', max_length=60) + abc_code = models.CharField(u'Буквенный код', max_length=10) -class Currency(AbstractCatalog): - class Meta(AbstractCatalog.Meta): + class Meta: verbose_name = u'Валюта' verbose_name_plural = u'Валюты' - app_label="docs" + ordering = ('code',) + app_label = 'docs' + def __unicode__(self): + return self.name -class Measure(AbstractCatalog): - class Meta(AbstractCatalog.Meta): + +class Measure(models.Model): + code = models.CharField(u'Код', max_length=20) + name = models.CharField(u'Наименование', max_length=30) + full_name = models.CharField(u'Полное наименование', max_length=255, blank=True, default='') + + class Meta: verbose_name = u'Ед. измерения' verbose_name_plural = u'Ед. измерения' - app_label="docs" + ordering = ('code',) + app_label = 'docs' + + def __unicode__(self): + return self.name