From e00d41634a024f3840edb310d1c13f11b62e3910 Mon Sep 17 00:00:00 2001 From: Bachurin Sergey Date: Sat, 16 Aug 2014 13:53:16 +0300 Subject: [PATCH] show logo in company card --- project/customer/forms.py | 5 + project/customer/migrations/0001_initial.py | 289 ++++++++++++++++++ ..._add_field_userprofilefilters_show_logo.py | 147 +++++++++ project/customer/migrations/__init__.py | 0 project/customer/models.py | 2 + project/customer/views/profile.py | 5 +- project/customer/views/profile_ajax.py | 12 +- .../templates/customer/profile/as_pdf.html | 7 +- project/templates/customer/profile/view.html | 19 +- 9 files changed, 480 insertions(+), 6 deletions(-) create mode 100644 project/customer/migrations/0001_initial.py create mode 100644 project/customer/migrations/0002_auto__add_field_userprofilefilters_show_logo.py create mode 100644 project/customer/migrations/__init__.py diff --git a/project/customer/forms.py b/project/customer/forms.py index 90bb8dc..80045f2 100644 --- a/project/customer/forms.py +++ b/project/customer/forms.py @@ -253,6 +253,7 @@ class UserProfileFiltersForm(MyBaseModelForm): new_initial['show_email'] = bool(profile.email) new_initial['show_site'] = bool(profile.site) new_initial['show_bank_account'] = bool(accounts) + new_initial['show_logo'] = bool(profile.logo) if self._profile_type == consts.IP_PROFILE: new_initial['show_svid_gos_reg'] = bool(profile.svid_gos_reg) @@ -273,6 +274,7 @@ class UserProfileFiltersForm(MyBaseModelForm): new_initial['show_email'] = bool(profile.email) new_initial['show_site'] = bool(profile.site) new_initial['show_bank_account'] = bool(accounts) + new_initial['show_logo'] = bool(profile.logo) if self._profile_type == consts.IP_PROFILE: new_initial['show_svid_gos_reg'] = bool(profile.svid_gos_reg) @@ -320,6 +322,7 @@ class UserProfileFiltersForm(MyBaseModelForm): if not profile.get_full_fax(): f['show_fax'].widget.attrs['disabled'] = 'disabled' if not profile.email: f['show_email'].widget.attrs['disabled'] = 'disabled' if not profile.site: f['show_site'].widget.attrs['disabled'] = 'disabled' + if not profile.logo: f['show_logo'].widget.attrs['disabled'] = 'disabled' if not accounts: f['show_bank_account'].widget.attrs['disabled'] = 'disabled' if self._profile_type == consts.IP_PROFILE: @@ -368,6 +371,7 @@ class IpUserProfileFiltersForm(UserProfileFiltersForm): 'show_fax', 'show_email', 'show_site', + 'show_logo', ) @@ -401,6 +405,7 @@ class OrgUserProfileFiltersForm(UserProfileFiltersForm): 'show_fax', 'show_email', 'show_site', + 'show_logo', ) # ----------------------------------------------------------------------------- diff --git a/project/customer/migrations/0001_initial.py b/project/customer/migrations/0001_initial.py new file mode 100644 index 0000000..2b081c1 --- /dev/null +++ b/project/customer/migrations/0001_initial.py @@ -0,0 +1,289 @@ +# -*- 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 model 'UserProfile' + db.create_table(u'customer_userprofile', ( + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('profile_type', self.gf('django.db.models.fields.PositiveSmallIntegerField')()), + ('boss_surname', self.gf('django.db.models.fields.CharField')(default='', max_length=30)), + ('boss_name', self.gf('django.db.models.fields.CharField')(default='', max_length=30)), + ('boss_midname', self.gf('django.db.models.fields.CharField')(default='', max_length=30)), + ('inn', self.gf('django.db.models.fields.CharField')(default='', max_length=12)), + ('ogrn', self.gf('django.db.models.fields.CharField')(default='', max_length=15)), + ('okpo', self.gf('django.db.models.fields.CharField')(default='', max_length=10, blank=True)), + ('glavbuh_surname', self.gf('django.db.models.fields.CharField')(default='', max_length=30, blank=True)), + ('glavbuh_name', self.gf('django.db.models.fields.CharField')(default='', max_length=30, blank=True)), + ('glavbuh_midname', self.gf('django.db.models.fields.CharField')(default='', max_length=30, blank=True)), + ('address', self.gf('django.db.models.fields.CharField')(default='', max_length=256)), + ('real_address', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)), + ('phone_code', self.gf('django.db.models.fields.CharField')(default='', max_length=10, blank=True)), + ('phone', self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True)), + ('fax_code', self.gf('django.db.models.fields.CharField')(default='', max_length=10, blank=True)), + ('fax', self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True)), + ('email', self.gf('django.db.models.fields.EmailField')(default='', max_length=75, blank=True)), + ('site', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)), + ('svid_gos_reg', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)), + ('ip_reg_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), + ('name', self.gf('django.db.models.fields.CharField')(default='', max_length=256)), + ('full_name', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)), + ('kpp', self.gf('django.db.models.fields.CharField')(default='', max_length=9)), + ('jur_address', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)), + ('boss_title', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)), + ('na_osnovanii', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)), + ('boss_sign', self.gf('django.db.models.fields.files.ImageField')(default='', max_length=100, blank=True)), + ('glavbuh_sign', self.gf('django.db.models.fields.files.ImageField')(default='', max_length=100, blank=True)), + ('stamp', self.gf('django.db.models.fields.files.ImageField')(default='', max_length=100, blank=True)), + ('logo', self.gf('django.db.models.fields.files.ImageField')(default='', max_length=100, blank=True)), + ('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('active', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('confirmed', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('user_session_key', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)), + )) + db.send_create_signal(u'customer', ['UserProfile']) + + # Adding model 'BankAccount' + db.create_table(u'customer_bankaccount', ( + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('company', self.gf('django.db.models.fields.related.ForeignKey')(related_name='bank_accounts', to=orm['customer.UserProfile'])), + ('bik', self.gf('django.db.models.fields.CharField')(max_length=10)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=256)), + ('address', self.gf('django.db.models.fields.CharField')(max_length=256)), + ('korr_account', self.gf('django.db.models.fields.CharField')(max_length=20)), + ('account', self.gf('django.db.models.fields.CharField')(max_length=20)), + ('is_main', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + )) + db.send_create_signal(u'customer', ['BankAccount']) + + # Adding model 'Client' + db.create_table(u'customer_client', ( + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('company', self.gf('django.db.models.fields.related.ForeignKey')(related_name='clients', to=orm['customer.UserProfile'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=256, db_index=True)), + ('inn', self.gf('django.db.models.fields.CharField')(max_length=12)), + ('kpp', self.gf('django.db.models.fields.CharField')(default='', max_length=9, blank=True)), + ('okpo', self.gf('django.db.models.fields.CharField')(default='', max_length=10, blank=True)), + ('address', self.gf('django.db.models.fields.CharField')(max_length=256)), + ('bank_bik', self.gf('django.db.models.fields.CharField')(default='', max_length=10, blank=True)), + ('bank_name', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)), + ('bank_address', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)), + ('bank_korr_account', self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True)), + ('bank_account', self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True)), + ('contact_name', self.gf('django.db.models.fields.CharField')(default='', max_length=50, blank=True)), + ('contact_email', self.gf('django.db.models.fields.EmailField')(default='', max_length=50, blank=True)), + ('contact_phone', self.gf('django.db.models.fields.CharField')(default='', max_length=50, blank=True)), + ('contact_icq', self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True)), + ('contact_skype', self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True)), + ('contact_other', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)), + ('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + )) + db.send_create_signal(u'customer', ['Client']) + + # Adding model 'UserProfileFilters' + db.create_table(u'customer_userprofilefilters', ( + ('company', self.gf('django.db.models.fields.related.OneToOneField')(related_name='profile_filters', unique=True, primary_key=True, to=orm['customer.UserProfile'])), + ('show_profile_type', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_inn', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_ogrn', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_okpo', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_glavbuh', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_bank_account', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('bank_account', self.gf('django.db.models.fields.related.ForeignKey')(default=None, related_name='+', null=True, blank=True, to=orm['customer.BankAccount'])), + ('show_contact_info', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_real_address', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_phone', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_fax', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_email', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_site', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_ip_boss_fio', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_svid_gos_reg', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_ip_reg_date', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_name', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_full_name', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_kpp', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_org_boss_title_and_fio', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_na_osnovanii', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('show_jur_address', self.gf('django.db.models.fields.BooleanField')(default=True)), + )) + db.send_create_signal(u'customer', ['UserProfileFilters']) + + # Adding model 'License' + db.create_table(u'customer_license', ( + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('company', self.gf('django.db.models.fields.related.ForeignKey')(related_name='licenses', to=orm['customer.UserProfile'])), + ('term', self.gf('django.db.models.fields.IntegerField')()), + ('date_from', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), + ('date_to', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), + ('payform', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('status', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('order_date', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)), + ('paid_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), + ('pay_sum', self.gf('django.db.models.fields.IntegerField')()), + ('deleted', self.gf('django.db.models.fields.BooleanField')(default=False)), + )) + db.send_create_signal(u'customer', ['License']) + + # Adding model 'LicensePrice' + db.create_table(u'customer_licenseprice', ( + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('term', self.gf('django.db.models.fields.IntegerField')()), + ('price', self.gf('django.db.models.fields.IntegerField')()), + )) + db.send_create_signal(u'customer', ['LicensePrice']) + + + def backwards(self, orm): + # Deleting model 'UserProfile' + db.delete_table(u'customer_userprofile') + + # Deleting model 'BankAccount' + db.delete_table(u'customer_bankaccount') + + # Deleting model 'Client' + db.delete_table(u'customer_client') + + # Deleting model 'UserProfileFilters' + db.delete_table(u'customer_userprofilefilters') + + # Deleting model 'License' + db.delete_table(u'customer_license') + + # Deleting model 'LicensePrice' + db.delete_table(u'customer_licenseprice') + + + models = { + 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_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'}) + }, + u'customer.license': { + 'Meta': {'object_name': 'License'}, + 'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'licenses'", 'to': u"orm['customer.UserProfile']"}), + 'date_from': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_to': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'order_date': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'paid_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'pay_sum': ('django.db.models.fields.IntegerField', [], {}), + 'payform': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'term': ('django.db.models.fields.IntegerField', [], {}) + }, + u'customer.licenseprice': { + 'Meta': {'object_name': 'LicensePrice'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'price': ('django.db.models.fields.IntegerField', [], {}), + 'term': ('django.db.models.fields.IntegerField', [], {}) + }, + 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'}) + }, + u'customer.userprofilefilters': { + 'Meta': {'object_name': 'UserProfileFilters'}, + 'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'+'", 'null': 'True', 'blank': 'True', 'to': u"orm['customer.BankAccount']"}), + 'company': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'profile_filters'", 'unique': 'True', 'primary_key': 'True', 'to': u"orm['customer.UserProfile']"}), + 'show_bank_account': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_contact_info': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_email': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_fax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_full_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_glavbuh': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_inn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_ip_boss_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_ip_reg_date': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_jur_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_kpp': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_na_osnovanii': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_ogrn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_okpo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_org_boss_title_and_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_phone': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_profile_type': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_real_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_site': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_svid_gos_reg': ('django.db.models.fields.BooleanField', [], {'default': 'True'}) + } + } + + complete_apps = ['customer'] \ No newline at end of file diff --git a/project/customer/migrations/0002_auto__add_field_userprofilefilters_show_logo.py b/project/customer/migrations/0002_auto__add_field_userprofilefilters_show_logo.py new file mode 100644 index 0000000..bf2223c --- /dev/null +++ b/project/customer/migrations/0002_auto__add_field_userprofilefilters_show_logo.py @@ -0,0 +1,147 @@ +# -*- 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 'UserProfileFilters.show_logo' + db.add_column(u'customer_userprofilefilters', 'show_logo', + self.gf('django.db.models.fields.BooleanField')(default=True), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'UserProfileFilters.show_logo' + db.delete_column(u'customer_userprofilefilters', 'show_logo') + + + models = { + 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_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'}) + }, + u'customer.license': { + 'Meta': {'object_name': 'License'}, + 'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'licenses'", 'to': u"orm['customer.UserProfile']"}), + 'date_from': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_to': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'order_date': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'paid_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'pay_sum': ('django.db.models.fields.IntegerField', [], {}), + 'payform': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'term': ('django.db.models.fields.IntegerField', [], {}) + }, + u'customer.licenseprice': { + 'Meta': {'object_name': 'LicensePrice'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'price': ('django.db.models.fields.IntegerField', [], {}), + 'term': ('django.db.models.fields.IntegerField', [], {}) + }, + 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'}) + }, + u'customer.userprofilefilters': { + 'Meta': {'object_name': 'UserProfileFilters'}, + 'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'+'", 'null': 'True', 'blank': 'True', 'to': u"orm['customer.BankAccount']"}), + 'company': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'profile_filters'", 'unique': 'True', 'primary_key': 'True', 'to': u"orm['customer.UserProfile']"}), + 'show_bank_account': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_contact_info': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_email': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_fax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_full_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_glavbuh': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_inn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_ip_boss_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_ip_reg_date': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_jur_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_kpp': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_logo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_na_osnovanii': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_ogrn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_okpo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_org_boss_title_and_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_phone': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_profile_type': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_real_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_site': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'show_svid_gos_reg': ('django.db.models.fields.BooleanField', [], {'default': 'True'}) + } + } + + complete_apps = ['customer'] \ No newline at end of file diff --git a/project/customer/migrations/__init__.py b/project/customer/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/project/customer/models.py b/project/customer/models.py index e58dde5..e40f4cc 100644 --- a/project/customer/models.py +++ b/project/customer/models.py @@ -354,6 +354,8 @@ class UserProfileFilters(models.Model): show_email = models.BooleanField(u'Электронная почта', default=True) show_site = models.BooleanField(u'Сайт', default=True) + show_logo = models.BooleanField(u'Логотип', default=True) + # только для ИП show_ip_boss_fio = models.BooleanField(u'Фамилия, Имя, Отчество', default=True) show_svid_gos_reg = models.BooleanField(u'Свид-во о гос. регистрации', default=True) diff --git a/project/customer/views/profile.py b/project/customer/views/profile.py index 0a7bcf1..de2e35a 100644 --- a/project/customer/views/profile.py +++ b/project/customer/views/profile.py @@ -143,7 +143,10 @@ def profile_email(request): if request.method == 'POST' and '_cancel' in request.POST: return redirect('customer_profile_view') - profile = get_object_or_404(models.UserProfile, user=request.user) + try: + profile = request.user.profile + except: + raise Http404 filters = models.UserProfileFilters.objects.get_or_create_filters(user=request.user) if request.method == 'POST': diff --git a/project/customer/views/profile_ajax.py b/project/customer/views/profile_ajax.py index 9aa3e43..2044461 100644 --- a/project/customer/views/profile_ajax.py +++ b/project/customer/views/profile_ajax.py @@ -2,7 +2,7 @@ import simplejson as json from django.shortcuts import get_object_or_404 -from django.http import HttpResponseBadRequest, HttpResponse +from django.http import HttpResponseBadRequest, HttpResponse, Http404 from django.views.decorators.http import require_POST from django.views.decorators.csrf import csrf_protect from django.contrib.auth.decorators import login_required @@ -21,7 +21,10 @@ def profile_filters_edit_ajax(request): if not request.is_ajax(): return HttpResponseBadRequest() - profile = get_object_or_404(models.UserProfile, user=request.user) + try: + profile = request.user.profile + except: + raise Http404 accounts = models.BankAccount.objects.get_all(request.user.profile) filters_form_class = forms.get_profile_filters_form_class(profile.profile_type) @@ -53,7 +56,10 @@ def profile_email_ajax(request): form_class = forms.EmailProfileForm - profile = get_object_or_404(models.UserProfile, user=request.user) + try: + profile = request.user.profile + except: + raise Http404 filters = models.UserProfileFilters.objects.get_or_create_filters(user=request.user) form = form_class(data=request.POST) diff --git a/project/templates/customer/profile/as_pdf.html b/project/templates/customer/profile/as_pdf.html index 36f8fd8..e9f68ff 100644 --- a/project/templates/customer/profile/as_pdf.html +++ b/project/templates/customer/profile/as_pdf.html @@ -15,7 +15,12 @@
-

{{ profile.get_company_name }}

+

+ {% if profile.logo and filters.show_logo %} + logo + {% endif %} + {{ profile.get_company_name }}

+ {% if filters.show_profile_type %}
diff --git a/project/templates/customer/profile/view.html b/project/templates/customer/profile/view.html index 53b36c7..37b1141 100644 --- a/project/templates/customer/profile/view.html +++ b/project/templates/customer/profile/view.html @@ -16,7 +16,16 @@
Карточка компании
-

{{ profile.get_company_name }}

+

+ + {{ profile.get_company_name }} +

{% if profile.is_org %} @@ -89,6 +98,7 @@ {% if profile.email %}
Электронная почта: {{ profile.email }}
{% endif %} {% if profile.site %}
Сайт: {{ profile.site }}
{% endif %}
+
@@ -181,6 +191,13 @@ {{ filters_form.show_site }} {{ filters_form.show_site.label }} + +