parent
e5cf228a4b
commit
69494f6742
55 changed files with 1286 additions and 698 deletions
@ -1,538 +0,0 @@ |
|||||||
# -*- coding: utf-8 -*- |
|
||||||
import datetime |
|
||||||
from south.db import db |
|
||||||
from south.v2 import SchemaMigration |
|
||||||
from django.db import models |
|
||||||
|
|
||||||
|
|
||||||
class Migration(SchemaMigration): |
|
||||||
|
|
||||||
def forwards(self, orm): |
|
||||||
# Adding model 'User' |
|
||||||
db.create_table(u'accounts_user', ( |
|
||||||
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), |
|
||||||
('password', self.gf('django.db.models.fields.CharField')(max_length=128)), |
|
||||||
('last_login', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), |
|
||||||
('is_superuser', self.gf('django.db.models.fields.BooleanField')(default=False)), |
|
||||||
('email', self.gf('django.db.models.fields.EmailField')(unique=True, max_length=255, db_index=True)), |
|
||||||
('first_name', self.gf('django.db.models.fields.CharField')(max_length=255)), |
|
||||||
('last_name', self.gf('django.db.models.fields.CharField')(max_length=255)), |
|
||||||
('url', self.gf('django.db.models.fields.SlugField')(max_length=50, blank=True)), |
|
||||||
('is_active', self.gf('django.db.models.fields.BooleanField')(default=False)), |
|
||||||
('is_staff', self.gf('django.db.models.fields.BooleanField')(default=False)), |
|
||||||
('is_admin', self.gf('django.db.models.fields.BooleanField')(default=False)), |
|
||||||
('date_joined', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), |
|
||||||
('date_registered', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), |
|
||||||
('date_modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), |
|
||||||
('organiser', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['organiser.Organiser'], unique=True, null=True, on_delete=models.PROTECT, blank=True)), |
|
||||||
('translator', self.gf('django.db.models.fields.related.ForeignKey')(related_name='user', null=True, on_delete=models.PROTECT, to=orm['translator.Translator'], blank=True, unique=True)), |
|
||||||
('country', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='users', null=True, on_delete=models.PROTECT, to=orm['country.Country'])), |
|
||||||
('city', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['city.City'], null=True, on_delete=models.PROTECT, blank=True)), |
|
||||||
('company', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='users', null=True, on_delete=models.PROTECT, to=orm['company.Company'])), |
|
||||||
('phone', self.gf('django.db.models.fields.BigIntegerField')(null=True, blank=True)), |
|
||||||
('position', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), |
|
||||||
('about', self.gf('django.db.models.fields.TextField')(blank=True)), |
|
||||||
('avatar', self.gf('django.db.models.fields.files.ImageField')(max_length=100, blank=True)), |
|
||||||
('web_page', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), |
|
||||||
('social', self.gf('django.db.models.fields.TextField')(blank=True)), |
|
||||||
('skype', self.gf('django.db.models.fields.CharField')(max_length=50, blank=True)), |
|
||||||
('title', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), |
|
||||||
('descriptions', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), |
|
||||||
('keywords', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), |
|
||||||
)) |
|
||||||
db.send_create_signal(u'accounts', ['User']) |
|
||||||
|
|
||||||
# Adding M2M table for field groups on 'User' |
|
||||||
m2m_table_name = db.shorten_name(u'accounts_user_groups') |
|
||||||
db.create_table(m2m_table_name, ( |
|
||||||
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), |
|
||||||
('user', models.ForeignKey(orm[u'accounts.user'], null=False)), |
|
||||||
('group', models.ForeignKey(orm[u'auth.group'], null=False)) |
|
||||||
)) |
|
||||||
db.create_unique(m2m_table_name, ['user_id', 'group_id']) |
|
||||||
|
|
||||||
# Adding M2M table for field user_permissions on 'User' |
|
||||||
m2m_table_name = db.shorten_name(u'accounts_user_user_permissions') |
|
||||||
db.create_table(m2m_table_name, ( |
|
||||||
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), |
|
||||||
('user', models.ForeignKey(orm[u'accounts.user'], null=False)), |
|
||||||
('permission', models.ForeignKey(orm[u'auth.permission'], null=False)) |
|
||||||
)) |
|
||||||
db.create_unique(m2m_table_name, ['user_id', 'permission_id']) |
|
||||||
|
|
||||||
# Adding model 'Calendar' |
|
||||||
db.create_table(u'accounts_calendar', ( |
|
||||||
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), |
|
||||||
('user', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['accounts.User'], unique=True)), |
|
||||||
)) |
|
||||||
db.send_create_signal(u'accounts', ['Calendar']) |
|
||||||
|
|
||||||
# Adding M2M table for field expositions on 'Calendar' |
|
||||||
m2m_table_name = db.shorten_name(u'accounts_calendar_expositions') |
|
||||||
db.create_table(m2m_table_name, ( |
|
||||||
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), |
|
||||||
('calendar', models.ForeignKey(orm[u'accounts.calendar'], null=False)), |
|
||||||
('exposition', models.ForeignKey(orm[u'exposition.exposition'], null=False)) |
|
||||||
)) |
|
||||||
db.create_unique(m2m_table_name, ['calendar_id', 'exposition_id']) |
|
||||||
|
|
||||||
# Adding M2M table for field conferences on 'Calendar' |
|
||||||
m2m_table_name = db.shorten_name(u'accounts_calendar_conferences') |
|
||||||
db.create_table(m2m_table_name, ( |
|
||||||
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), |
|
||||||
('calendar', models.ForeignKey(orm[u'accounts.calendar'], null=False)), |
|
||||||
('conference', models.ForeignKey(orm[u'conference.conference'], null=False)) |
|
||||||
)) |
|
||||||
db.create_unique(m2m_table_name, ['calendar_id', 'conference_id']) |
|
||||||
|
|
||||||
# Adding M2M table for field seminars on 'Calendar' |
|
||||||
m2m_table_name = db.shorten_name(u'accounts_calendar_seminars') |
|
||||||
db.create_table(m2m_table_name, ( |
|
||||||
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), |
|
||||||
('calendar', models.ForeignKey(orm[u'accounts.calendar'], null=False)), |
|
||||||
('seminar', models.ForeignKey(orm[u'seminar.seminar'], null=False)) |
|
||||||
)) |
|
||||||
db.create_unique(m2m_table_name, ['calendar_id', 'seminar_id']) |
|
||||||
|
|
||||||
# Adding M2M table for field webinars on 'Calendar' |
|
||||||
m2m_table_name = db.shorten_name(u'accounts_calendar_webinars') |
|
||||||
db.create_table(m2m_table_name, ( |
|
||||||
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), |
|
||||||
('calendar', models.ForeignKey(orm[u'accounts.calendar'], null=False)), |
|
||||||
('webinar', models.ForeignKey(orm[u'webinar.webinar'], null=False)) |
|
||||||
)) |
|
||||||
db.create_unique(m2m_table_name, ['calendar_id', 'webinar_id']) |
|
||||||
|
|
||||||
|
|
||||||
def backwards(self, orm): |
|
||||||
# Deleting model 'User' |
|
||||||
db.delete_table(u'accounts_user') |
|
||||||
|
|
||||||
# Removing M2M table for field groups on 'User' |
|
||||||
db.delete_table(db.shorten_name(u'accounts_user_groups')) |
|
||||||
|
|
||||||
# Removing M2M table for field user_permissions on 'User' |
|
||||||
db.delete_table(db.shorten_name(u'accounts_user_user_permissions')) |
|
||||||
|
|
||||||
# Deleting model 'Calendar' |
|
||||||
db.delete_table(u'accounts_calendar') |
|
||||||
|
|
||||||
# Removing M2M table for field expositions on 'Calendar' |
|
||||||
db.delete_table(db.shorten_name(u'accounts_calendar_expositions')) |
|
||||||
|
|
||||||
# Removing M2M table for field conferences on 'Calendar' |
|
||||||
db.delete_table(db.shorten_name(u'accounts_calendar_conferences')) |
|
||||||
|
|
||||||
# Removing M2M table for field seminars on 'Calendar' |
|
||||||
db.delete_table(db.shorten_name(u'accounts_calendar_seminars')) |
|
||||||
|
|
||||||
# Removing M2M table for field webinars on 'Calendar' |
|
||||||
db.delete_table(db.shorten_name(u'accounts_calendar_webinars')) |
|
||||||
|
|
||||||
|
|
||||||
models = { |
|
||||||
u'accounts.calendar': { |
|
||||||
'Meta': {'object_name': 'Calendar'}, |
|
||||||
'conferences': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['conference.Conference']", 'null': 'True', 'symmetrical': 'False'}), |
|
||||||
'expositions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['exposition.Exposition']", 'null': 'True', 'symmetrical': 'False'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'seminars': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['seminar.Seminar']", 'null': 'True', 'symmetrical': 'False'}), |
|
||||||
'user': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['accounts.User']", 'unique': 'True'}), |
|
||||||
'webinars': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['webinar.Webinar']", 'null': 'True', 'symmetrical': 'False'}) |
|
||||||
}, |
|
||||||
u'accounts.user': { |
|
||||||
'Meta': {'object_name': 'User'}, |
|
||||||
'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
|
||||||
'avatar': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': 'True'}), |
|
||||||
'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'null': 'True', 'on_delete': 'models.PROTECT', 'blank': 'True'}), |
|
||||||
'company': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'users'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['company.Company']"}), |
|
||||||
'country': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'users'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['country.Country']"}), |
|
||||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
||||||
'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
||||||
'date_registered': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'descriptions': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
|
||||||
'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '255', 'db_index': 'True'}), |
|
||||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), |
|
||||||
'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': 'False'}), |
|
||||||
'is_admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'keywords': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
|
||||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
|
||||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), |
|
||||||
'organiser': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['organiser.Organiser']", 'unique': 'True', 'null': 'True', 'on_delete': 'models.PROTECT', 'blank': 'True'}), |
|
||||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), |
|
||||||
'phone': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'position': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
|
||||||
'skype': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}), |
|
||||||
'social': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
|
||||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
|
||||||
'translator': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['translator.Translator']", 'blank': 'True', 'unique': 'True'}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'blank': 'True'}), |
|
||||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), |
|
||||||
'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) |
|
||||||
}, |
|
||||||
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'city.city': { |
|
||||||
'Meta': {'object_name': 'City'}, |
|
||||||
'code_IATA': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['directories.Iata']", 'null': 'True', 'blank': 'True'}), |
|
||||||
'country': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cities'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['country.Country']"}), |
|
||||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
||||||
'phone_code': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'population': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'services': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}) |
|
||||||
}, |
|
||||||
u'company.company': { |
|
||||||
'Meta': {'object_name': 'Company'}, |
|
||||||
'address': ('functions.custom_fields.LocationField', [], {'blank': 'True'}), |
|
||||||
'city': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'companies'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['city.City']"}), |
|
||||||
'country': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'companies'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['country.Country']"}), |
|
||||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
||||||
'creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'created_company'", 'null': 'True', 'to': u"orm['accounts.User']"}), |
|
||||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), |
|
||||||
'fax': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'foundation': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
||||||
'phone': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'social': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
|
||||||
'staff_number': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}), |
|
||||||
'tag': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'companies'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['theme.Tag']"}), |
|
||||||
'theme': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'companies'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['theme.Theme']"}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'max_length': '50'}), |
|
||||||
'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) |
|
||||||
}, |
|
||||||
u'conference.conference': { |
|
||||||
'Meta': {'object_name': 'Conference'}, |
|
||||||
'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'canceled_by_administrator': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'on_delete': 'models.PROTECT'}), |
|
||||||
'company': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference_companies'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['company.Company']"}), |
|
||||||
'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Country']", 'on_delete': 'models.PROTECT'}), |
|
||||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
||||||
'currency': ('functions.custom_fields.EnumField', [], {'default': "'RUB'"}), |
|
||||||
'data_begin': ('django.db.models.fields.DateField', [], {}), |
|
||||||
'data_end': ('django.db.models.fields.DateField', [], {}), |
|
||||||
'discount': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'expohit': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'foundation_year': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'link': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
|
||||||
'max_price': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'members': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'min_price': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
||||||
'moved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'organiser': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference_organisers'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['organiser.Organiser']"}), |
|
||||||
'place': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference_place'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['place_conference.PlaceConference']"}), |
|
||||||
'quality_label': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
|
||||||
'services': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
|
||||||
'tag': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference_tags'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['theme.Tag']"}), |
|
||||||
'tax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
|
||||||
'theme': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'conference_themes'", 'symmetrical': 'False', 'to': u"orm['theme.Theme']"}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), |
|
||||||
'users': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference_users'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['accounts.User']"}), |
|
||||||
'views': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}), |
|
||||||
'visitors': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) |
|
||||||
}, |
|
||||||
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'country.area': { |
|
||||||
'Meta': {'object_name': 'Area'}, |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) |
|
||||||
}, |
|
||||||
u'country.country': { |
|
||||||
'Meta': {'object_name': 'Country'}, |
|
||||||
'area': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Area']"}), |
|
||||||
'big_cities': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'cities'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['city.City']"}), |
|
||||||
'capital': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'capital'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['city.City']"}), |
|
||||||
'country_code': ('django.db.models.fields.CharField', [], {'max_length': '2'}), |
|
||||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
||||||
'currency': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['directories.Currency']", 'null': 'True', 'blank': 'True'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'language': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['directories.Language']", 'null': 'True', 'blank': 'True'}), |
|
||||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
||||||
'phone_code': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'population': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'services': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
|
||||||
'teritory': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'time_delivery': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'timezone': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}) |
|
||||||
}, |
|
||||||
u'directories.currency': { |
|
||||||
'Meta': {'object_name': 'Currency'}, |
|
||||||
'currency': ('django.db.models.fields.CharField', [], {'max_length': '20'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) |
|
||||||
}, |
|
||||||
u'directories.iata': { |
|
||||||
'Meta': {'object_name': 'Iata'}, |
|
||||||
'airport': ('django.db.models.fields.CharField', [], {'max_length': '50'}), |
|
||||||
'code': ('django.db.models.fields.CharField', [], {'max_length': '5'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) |
|
||||||
}, |
|
||||||
u'directories.language': { |
|
||||||
'Meta': {'object_name': 'Language'}, |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'language': ('django.db.models.fields.CharField', [], {'max_length': '50'}) |
|
||||||
}, |
|
||||||
u'exposition.exposition': { |
|
||||||
'Meta': {'object_name': 'Exposition'}, |
|
||||||
'application_deadline': ('django.db.models.fields.DateField', [], {'null': 'True'}), |
|
||||||
'audience': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
|
||||||
'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'canceled_by_administrator': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'on_delete': 'models.PROTECT'}), |
|
||||||
'company': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'exposition_companies'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['company.Company']"}), |
|
||||||
'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Country']", 'on_delete': 'models.PROTECT'}), |
|
||||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
||||||
'currency': ('functions.custom_fields.EnumField', [], {'default': "'RUB'"}), |
|
||||||
'data_begin': ('django.db.models.fields.DateField', [], {}), |
|
||||||
'data_end': ('django.db.models.fields.DateField', [], {}), |
|
||||||
'discount': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'expohit': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'foundation_year': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'max_closed_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'max_closed_equipped_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'max_open_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'members': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'min_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'min_closed_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'min_closed_equipped_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'min_open_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'min_stand_size': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
||||||
'moved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'organiser': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'exposition_organisers'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['organiser.Organiser']"}), |
|
||||||
'periodic': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'place': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'exposition_place'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['place_exposition.PlaceExposition']"}), |
|
||||||
'price_all': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'price_all_bar': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'price_catalog': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'price_day': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'price_day_bar': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'quality_label': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
|
||||||
'registration_payment': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'services': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
|
||||||
'tag': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'exposition_tags'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['theme.Tag']"}), |
|
||||||
'tax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
|
||||||
'theme': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'exposition_themes'", 'symmetrical': 'False', 'to': u"orm['theme.Theme']"}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), |
|
||||||
'users': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'exposition_users'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['accounts.User']"}), |
|
||||||
'views': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0', 'null': 'True'}), |
|
||||||
'visitors': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) |
|
||||||
}, |
|
||||||
u'file.filemodel': { |
|
||||||
'Meta': {'object_name': 'FileModel'}, |
|
||||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']", 'null': 'True'}), |
|
||||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
||||||
'file_path': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), |
|
||||||
'file_type': ('functions.custom_fields.EnumField', [], {'default': "'PDF'", 'blank': 'True'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'img_height': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'img_width': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
||||||
'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'purpose': ('functions.custom_fields.EnumField', [], {'default': "'photo'"}) |
|
||||||
}, |
|
||||||
u'organiser.organiser': { |
|
||||||
'Meta': {'object_name': 'Organiser'}, |
|
||||||
'address': ('functions.custom_fields.LocationField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'null': 'True', 'on_delete': 'models.PROTECT', 'blank': 'True'}), |
|
||||||
'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Country']", 'null': 'True', 'on_delete': 'models.PROTECT', 'blank': 'True'}), |
|
||||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
||||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), |
|
||||||
'events_number': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'fax': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'foundation': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
||||||
'phone': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'place_conference': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'organiser_place_conference'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['place_conference.PlaceConference']"}), |
|
||||||
'place_exposition': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'organiser_place_exposition'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['place_exposition.PlaceExposition']"}), |
|
||||||
'social': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
|
||||||
'staff_number': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'tag': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['theme.Tag']", 'null': 'True', 'blank': 'True'}), |
|
||||||
'theme': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['theme.Theme']", 'null': 'True', 'blank': 'True'}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'blank': 'True'}), |
|
||||||
'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) |
|
||||||
}, |
|
||||||
u'place_conference.placeconference': { |
|
||||||
'Meta': {'object_name': 'PlaceConference'}, |
|
||||||
'address': ('functions.custom_fields.LocationField', [], {}), |
|
||||||
'amount_halls': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'banquet_hall': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'catering': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'on_delete': 'models.PROTECT'}), |
|
||||||
'conference_call': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Country']", 'on_delete': 'models.PROTECT'}), |
|
||||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
||||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), |
|
||||||
'exp_hall_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'exposition_hall': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'fax': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'foundation_year': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'hotel': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
||||||
'multimedia_equipment': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'phone': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'total_capacity': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'translate_equipment': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'type': ('functions.custom_fields.EnumField', [], {'default': "'Convention centre'"}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), |
|
||||||
'video_link': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
|
||||||
'views': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}), |
|
||||||
'web_page': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), |
|
||||||
'wifi': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) |
|
||||||
}, |
|
||||||
u'place_exposition.placeexposition': { |
|
||||||
'Meta': {'ordering': "['translations__name']", 'object_name': 'PlaceExposition'}, |
|
||||||
'address': ('functions.custom_fields.LocationField', [], {}), |
|
||||||
'bank': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'business_centre': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'cafe': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'children_room': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'on_delete': 'models.PROTECT'}), |
|
||||||
'closed_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'conference_centre': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Country']", 'on_delete': 'models.PROTECT'}), |
|
||||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
||||||
'disabled_service': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), |
|
||||||
'fax': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'foundation_year': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'mobile_application': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
||||||
'online_registration': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'open_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'parking': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'phone': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'press_centre': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'terminals': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'total_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'total_halls': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'total_pavilions': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'type': ('functions.custom_fields.EnumField', [], {'default': "'Exposition complex'"}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), |
|
||||||
'video_link': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
|
||||||
'views': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}), |
|
||||||
'web_page': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), |
|
||||||
'wifi': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) |
|
||||||
}, |
|
||||||
u'seminar.seminar': { |
|
||||||
'Meta': {'object_name': 'Seminar'}, |
|
||||||
'address': ('functions.custom_fields.LocationField', [], {'blank': 'True'}), |
|
||||||
'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'canceled_by_administrator': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'on_delete': 'models.PROTECT'}), |
|
||||||
'company': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar_companies'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['company.Company']"}), |
|
||||||
'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Country']", 'on_delete': 'models.PROTECT'}), |
|
||||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
||||||
'currency': ('functions.custom_fields.EnumField', [], {'default': "'RUB'"}), |
|
||||||
'data_begin': ('django.db.models.fields.DateTimeField', [], {}), |
|
||||||
'data_end': ('django.db.models.fields.DateTimeField', [], {}), |
|
||||||
'discount': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'expohit': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'foundation_year': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'link': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
|
||||||
'max_price': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'members': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'min_price': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
||||||
'moved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'organiser': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar_organisers'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['organiser.Organiser']"}), |
|
||||||
'quality_label': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
|
||||||
'services': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
|
||||||
'tag': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar_tags'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['theme.Tag']"}), |
|
||||||
'tax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
|
||||||
'theme': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'seminar_themes'", 'symmetrical': 'False', 'to': u"orm['theme.Theme']"}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), |
|
||||||
'users': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar_users'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['accounts.User']"}), |
|
||||||
'views': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}), |
|
||||||
'visitors': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) |
|
||||||
}, |
|
||||||
u'theme.tag': { |
|
||||||
'Meta': {'object_name': 'Tag'}, |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'theme': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tags'", 'on_delete': 'models.PROTECT', 'to': u"orm['theme.Theme']"}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}) |
|
||||||
}, |
|
||||||
u'theme.theme': { |
|
||||||
'Meta': {'ordering': "['translations__name']", 'object_name': 'Theme'}, |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'types': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}) |
|
||||||
}, |
|
||||||
u'translator.translator': { |
|
||||||
'Meta': {'object_name': 'Translator'}, |
|
||||||
'birth': ('django.db.models.fields.DateField', [], {}), |
|
||||||
'car': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'gender': ('functions.custom_fields.EnumField', [], {'default': "'male'"}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) |
|
||||||
}, |
|
||||||
u'webinar.webinar': { |
|
||||||
'Meta': {'object_name': 'Webinar'}, |
|
||||||
'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'canceled_by_administrator': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'company': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'webinar_companies'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['company.Company']"}), |
|
||||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
|
||||||
'currency': ('functions.custom_fields.EnumField', [], {'default': "'RUB'"}), |
|
||||||
'data_begin': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}), |
|
||||||
'discount': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'expohit': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'foundation_year': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
|
||||||
'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'link': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
|
||||||
'max_price': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'members': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'min_price': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
|
||||||
'moved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
|
||||||
'organiser': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'webinar_organisers'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['organiser.Organiser']"}), |
|
||||||
'quality_label': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
|
||||||
'services': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
|
||||||
'tag': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'webinar_tags'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['theme.Tag']"}), |
|
||||||
'tax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
|
||||||
'theme': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'webinar_themes'", 'symmetrical': 'False', 'to': u"orm['theme.Theme']"}), |
|
||||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), |
|
||||||
'users': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'webinar_users'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['accounts.User']"}), |
|
||||||
'views': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}), |
|
||||||
'visitors': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
|
||||||
'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
complete_apps = ['accounts'] |
|
||||||
@ -0,0 +1 @@ |
|||||||
|
|
||||||
@ -0,0 +1 @@ |
|||||||
|
|
||||||
@ -0,0 +1,95 @@ |
|||||||
|
from django.core.management.base import BaseCommand, CommandError |
||||||
|
from company.models import Company |
||||||
|
from theme.models import Theme, Tag |
||||||
|
from accounts.models import User |
||||||
|
from functions.form_check import translit_with_separator |
||||||
|
import datetime |
||||||
|
|
||||||
|
import MySQLdb |
||||||
|
from MySQLdb.cursors import DictCursor |
||||||
|
|
||||||
|
def convert_to_int(st): |
||||||
|
if not st: |
||||||
|
return None |
||||||
|
deduct = ('-','(',')','.',' ') |
||||||
|
for elem in deduct: |
||||||
|
st = st.replace(elem, '') |
||||||
|
if st.isdigit(): |
||||||
|
return int(st) |
||||||
|
else: |
||||||
|
return None |
||||||
|
|
||||||
|
class Command(BaseCommand): |
||||||
|
def handle(self, *args, **options): |
||||||
|
db = MySQLdb.connect(host="localhost", |
||||||
|
user="root", |
||||||
|
passwd="qazedc", |
||||||
|
db="expomap_ru", |
||||||
|
charset='utf8', |
||||||
|
cursorclass=DictCursor) |
||||||
|
|
||||||
|
cursor = db.cursor() |
||||||
|
sql = "select * from customers_company" |
||||||
|
cursor.execute(sql) |
||||||
|
|
||||||
|
res = cursor.fetchall() |
||||||
|
|
||||||
|
|
||||||
|
for c in res: |
||||||
|
|
||||||
|
phone = convert_to_int(c.get('phone')) |
||||||
|
fax = convert_to_int(c.get('fax')) |
||||||
|
url = c['url'] |
||||||
|
if not url: |
||||||
|
url = translit_with_separator(c.get('title')) |
||||||
|
|
||||||
|
|
||||||
|
company = Company(id=c['company_id'], url=url, phone=phone, fax=fax, |
||||||
|
email=c.get('email'), web_page=c.get('website'), twitter=c.get('twitter', '')) |
||||||
|
|
||||||
|
company.translate('ru') |
||||||
|
company.name = c.get('title') |
||||||
|
company.specialization = c.get('specialize') |
||||||
|
company.description = c.get('about') |
||||||
|
company.address_inf = c.get('adress') |
||||||
|
print('not_saved: %s'%c['title']) |
||||||
|
company.save() |
||||||
|
user_id = c['customers_id'] |
||||||
|
print('saved: %s'%str(company)) |
||||||
|
user = User.objects.safe_get(id=user_id) |
||||||
|
if user: |
||||||
|
user.company = company |
||||||
|
if not user.last_login: |
||||||
|
now = datetime.datetime.now() |
||||||
|
user.last_login = now |
||||||
|
|
||||||
|
user.save() |
||||||
|
|
||||||
|
theme = None |
||||||
|
theme_id = c.get('theme') |
||||||
|
if theme_id: |
||||||
|
try: |
||||||
|
theme = Theme.objects.get(id=theme_id) |
||||||
|
except Theme.DoesNotExist: |
||||||
|
continue |
||||||
|
company.theme.add(theme) |
||||||
|
|
||||||
|
if not theme: |
||||||
|
continue |
||||||
|
|
||||||
|
tags = c.get('tags') |
||||||
|
if tags: |
||||||
|
tags = tags.split(',') |
||||||
|
if tags: |
||||||
|
for tag_id in tags: |
||||||
|
try: |
||||||
|
tag = Tag.objects.get(id=tag_id) |
||||||
|
except Tag.DoesNotExist: |
||||||
|
continue |
||||||
|
if tag.theme == theme: |
||||||
|
company.tag.add(tag) |
||||||
|
else: |
||||||
|
continue |
||||||
|
|
||||||
|
#print(str(type(res[0]['phone']))) |
||||||
|
print('success') |
||||||
@ -0,0 +1,19 @@ |
|||||||
|
from haystack import indexes |
||||||
|
from models import Company |
||||||
|
|
||||||
|
class PlaceExpositionIndex(indexes.SearchIndex, indexes.Indexable): |
||||||
|
text = indexes.CharField(document=True, use_template=True) |
||||||
|
where = indexes.MultiValueField() |
||||||
|
def prepare_where(self, obj): |
||||||
|
country = [tr.name for tr in obj.country.translations.all()] |
||||||
|
city = [tr.name for tr in obj.city.translations.all()] |
||||||
|
|
||||||
|
return country + city |
||||||
|
|
||||||
|
def get_model(self): |
||||||
|
return Company |
||||||
|
|
||||||
|
def index_queryset(self, using=None): |
||||||
|
|
||||||
|
return self.get_model().objects.filter() |
||||||
|
|
||||||
@ -0,0 +1,20 @@ |
|||||||
|
from haystack import indexes |
||||||
|
from models import Conference |
||||||
|
|
||||||
|
|
||||||
|
class PlaceExpositionIndex(indexes.SearchIndex, indexes.Indexable): |
||||||
|
text = indexes.CharField(document=True, use_template=True) |
||||||
|
where = indexes.MultiValueField() |
||||||
|
def prepare_where(self, obj): |
||||||
|
country = [tr.name for tr in obj.country.translations.all()] |
||||||
|
city = [tr.name for tr in obj.city.translations.all()] |
||||||
|
|
||||||
|
return country + city |
||||||
|
|
||||||
|
def get_model(self): |
||||||
|
return Conference |
||||||
|
|
||||||
|
def index_queryset(self, using=None): |
||||||
|
|
||||||
|
return self.get_model().objects.filter(is_published=True) |
||||||
|
|
||||||
@ -1,15 +1,20 @@ |
|||||||
""" |
|
||||||
from haystack import indexes |
from haystack import indexes |
||||||
from models import Exposition |
from models import Exposition |
||||||
|
|
||||||
|
|
||||||
class ExpositionIndex(indexes.SearchIndex, indexes.Indexable): |
class PlaceExpositionIndex(indexes.SearchIndex, indexes.Indexable): |
||||||
text = indexes.CharField(document=True) |
text = indexes.CharField(document=True, use_template=True) |
||||||
|
where = indexes.MultiValueField() |
||||||
|
def prepare_where(self, obj): |
||||||
|
country = [tr.name for tr in obj.country.translations.all()] |
||||||
|
city = [tr.name for tr in obj.city.translations.all()] |
||||||
|
|
||||||
|
return country + city |
||||||
|
|
||||||
def get_model(self): |
def get_model(self): |
||||||
return Exposition |
return Exposition |
||||||
|
|
||||||
def index_queryset(self, using=None): |
def index_queryset(self, using=None): |
||||||
return self.get_model().objects.filter() |
|
||||||
""" |
return self.get_model().objects.filter(is_published=True) |
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,32 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
from django import forms |
||||||
|
from django.utils.translation import ugettext_lazy as _ |
||||||
|
from haystack.query import EmptySearchQuerySet, SearchQuerySet |
||||||
|
|
||||||
|
from exposition.models import Exposition |
||||||
|
from conference.models import Conference |
||||||
|
from seminar.models import Seminar |
||||||
|
from webinar.models import Webinar |
||||||
|
|
||||||
|
class EventSearchForm(forms.Form): |
||||||
|
q = forms.CharField(label=_(u'Поиск'), required=False) |
||||||
|
w = forms.CharField(label=_(u'Где'), required=False) |
||||||
|
|
||||||
|
def search(self): |
||||||
|
|
||||||
|
if not self.is_valid(): |
||||||
|
return EmptySearchQuerySet() |
||||||
|
q = self.cleaned_data.get('q') |
||||||
|
w = self.cleaned_data.get('w') |
||||||
|
|
||||||
|
if not q and not w: |
||||||
|
return EmptySearchQuerySet() |
||||||
|
sqs = SearchQuerySet().models(Exposition, Conference, Seminar, Webinar) |
||||||
|
|
||||||
|
if q: |
||||||
|
sqs = sqs.auto_query(q) |
||||||
|
if w: |
||||||
|
sqs = sqs.filter(where__contains=w) |
||||||
|
|
||||||
|
return sqs |
||||||
|
|
||||||
@ -0,0 +1,108 @@ |
|||||||
|
from django.core.management.base import BaseCommand, CommandError |
||||||
|
from organiser.models import Organiser |
||||||
|
from theme.models import Theme, Tag |
||||||
|
from functions.form_check import translit_with_separator |
||||||
|
|
||||||
|
import MySQLdb |
||||||
|
from MySQLdb.cursors import DictCursor |
||||||
|
|
||||||
|
def convert_to_int(st): |
||||||
|
if not st: |
||||||
|
return None |
||||||
|
deduct = ('-','(',')','.',' ') |
||||||
|
for elem in deduct: |
||||||
|
st = st.replace(elem, '') |
||||||
|
if st.isdigit(): |
||||||
|
return int(st) |
||||||
|
else: |
||||||
|
return None |
||||||
|
|
||||||
|
|
||||||
|
class Command(BaseCommand): |
||||||
|
def handle(self, *args, **options): |
||||||
|
db = MySQLdb.connect(host="localhost", |
||||||
|
user="root", |
||||||
|
passwd="qazedc", |
||||||
|
db="expomap_ru", |
||||||
|
charset='utf8', |
||||||
|
cursorclass=DictCursor) |
||||||
|
|
||||||
|
cursor = db.cursor() |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
sql = """SELECT DISTINCT(customers_company) as name, specialize, otrasly as theme, tags, adress, |
||||||
|
phone, fax, email, website, twitter, about, customers_company.url |
||||||
|
FROM customers |
||||||
|
LEFT JOIN customers_company |
||||||
|
ON customers.customers_company=customers_company.title |
||||||
|
WHERE customers_status = 4 |
||||||
|
""" |
||||||
|
|
||||||
|
cursor.execute(sql) |
||||||
|
|
||||||
|
res = cursor.fetchall() |
||||||
|
|
||||||
|
|
||||||
|
for o in res: |
||||||
|
if not o.get('name'): |
||||||
|
continue |
||||||
|
phone = convert_to_int(o.get('phone')) |
||||||
|
fax = convert_to_int(o.get('fax')) |
||||||
|
url = o['url'] |
||||||
|
if not url: |
||||||
|
url = translit_with_separator(o.get('name')) |
||||||
|
|
||||||
|
if isinstance(o['email'], unicode): |
||||||
|
|
||||||
|
organiser = Organiser(url=url, phone=phone, fax=fax, email=o.get('email', ''), |
||||||
|
twitter=o.get('twitter', '') |
||||||
|
) |
||||||
|
|
||||||
|
organiser.translate('ru') |
||||||
|
organiser.name = o.get('name') |
||||||
|
organiser.specialization = o.get('specialize') |
||||||
|
organiser.address_inf = o.get('adress') |
||||||
|
organiser.description = o.get('about') |
||||||
|
|
||||||
|
if organiser.name: |
||||||
|
print('not_saved: %s'%o['name']) |
||||||
|
organiser.save() |
||||||
|
print('saved: %s'%str(organiser)) |
||||||
|
|
||||||
|
theme = None |
||||||
|
theme_id = o.get('theme') |
||||||
|
if theme_id: |
||||||
|
try: |
||||||
|
theme = Theme.objects.get(id=theme_id) |
||||||
|
except Theme.DoesNotExist: |
||||||
|
continue |
||||||
|
organiser.theme.add(theme) |
||||||
|
|
||||||
|
if not theme: |
||||||
|
continue |
||||||
|
|
||||||
|
tags = o.get('tags') |
||||||
|
if tags: |
||||||
|
tags = tags.split(',') |
||||||
|
if tags: |
||||||
|
for tag_id in tags: |
||||||
|
try: |
||||||
|
tag = Tag.objects.get(id=tag_id) |
||||||
|
except Tag.DoesNotExist: |
||||||
|
continue |
||||||
|
if tag.theme == theme: |
||||||
|
organiser.tag.add(tag) |
||||||
|
else: |
||||||
|
continue |
||||||
|
|
||||||
|
else: |
||||||
|
organiser = Organiser(url=translit_with_separator(o['name'])) |
||||||
|
organiser.translate('ru') |
||||||
|
organiser.name = o['name'] |
||||||
|
if organiser.name: |
||||||
|
organiser.save() |
||||||
|
print(organiser) |
||||||
|
|
||||||
|
print('success') |
||||||
|
|
||||||
@ -0,0 +1,20 @@ |
|||||||
|
from haystack import indexes |
||||||
|
from models import PlaceConference |
||||||
|
|
||||||
|
|
||||||
|
class PlaceExpositionIndex(indexes.SearchIndex, indexes.Indexable): |
||||||
|
text = indexes.CharField(document=True, use_template=True) |
||||||
|
where = indexes.MultiValueField() |
||||||
|
def prepare_where(self, obj): |
||||||
|
country = [tr.name for tr in obj.country.translations.all()] |
||||||
|
city = [tr.name for tr in obj.city.translations.all()] |
||||||
|
|
||||||
|
return country + city |
||||||
|
|
||||||
|
def get_model(self): |
||||||
|
return PlaceConference |
||||||
|
|
||||||
|
def index_queryset(self, using=None): |
||||||
|
|
||||||
|
return self.get_model().objects.filter() |
||||||
|
|
||||||
@ -0,0 +1,20 @@ |
|||||||
|
from haystack import indexes |
||||||
|
from models import Seminar |
||||||
|
|
||||||
|
|
||||||
|
class PlaceExpositionIndex(indexes.SearchIndex, indexes.Indexable): |
||||||
|
text = indexes.CharField(document=True, use_template=True) |
||||||
|
where = indexes.MultiValueField() |
||||||
|
def prepare_where(self, obj): |
||||||
|
country = [tr.name for tr in obj.country.translations.all()] |
||||||
|
city = [tr.name for tr in obj.city.translations.all()] |
||||||
|
|
||||||
|
return country + city |
||||||
|
|
||||||
|
def get_model(self): |
||||||
|
return Seminar |
||||||
|
|
||||||
|
def index_queryset(self, using=None): |
||||||
|
|
||||||
|
return self.get_model().objects.filter() |
||||||
|
|
||||||
@ -0,0 +1,30 @@ |
|||||||
|
{% extends 'base_catalog.html' %} |
||||||
|
{% load i18n %} |
||||||
|
{% load template_filters %} |
||||||
|
|
||||||
|
{% block bread_scrumbs %} |
||||||
|
<div class="bread-crumbs"> |
||||||
|
<a href="/">{% trans 'Главная страница' %}</a> |
||||||
|
<strong>{% trans 'Поиск' %}</strong> |
||||||
|
</div> |
||||||
|
{% endblock %} |
||||||
|
|
||||||
|
{% block page_title %} |
||||||
|
<div class="page-title"> |
||||||
|
<h1>{% trans 'Поиск' %}:</h1> |
||||||
|
</div> |
||||||
|
{% endblock %} |
||||||
|
|
||||||
|
{% block content_list %} |
||||||
|
{% with query=object_list %} |
||||||
|
{% include 'includes/exposition/search_result.html' %} |
||||||
|
{% endwith %} |
||||||
|
{% endblock %} |
||||||
|
|
||||||
|
{% block paginator %} |
||||||
|
|
||||||
|
{% with page_obj=page_obj queries=queries %} |
||||||
|
{% include 'includes/search_paginator.html' %} |
||||||
|
{% endwith %} |
||||||
|
|
||||||
|
{% endblock %} |
||||||
@ -0,0 +1,120 @@ |
|||||||
|
{% load static %} |
||||||
|
{% load i18n %} |
||||||
|
{% load template_filters %} |
||||||
|
|
||||||
|
|
||||||
|
<ul class="cat-list cl-exhibitions"> |
||||||
|
|
||||||
|
{% for result in query %} |
||||||
|
|
||||||
|
<li class="cl-item {% if result.object.canceled %}canceled{% endif %}"> |
||||||
|
<div class="cl-item-wrap clearfix"> |
||||||
|
<a href="{{ result.object.get_permanent_url }}"> |
||||||
|
{% if result.object.canceled %} |
||||||
|
<div class="cancel"></div> |
||||||
|
{% else %} |
||||||
|
{% if result.object.expohit %} |
||||||
|
<div class="hit"></div> |
||||||
|
{% endif %} |
||||||
|
{% endif %} |
||||||
|
<div class="cli-pict"> |
||||||
|
{% with obj=result.object %} |
||||||
|
{% include 'client/includes/show_logo.html' %} |
||||||
|
{% endwith %} |
||||||
|
</div> |
||||||
|
</a> |
||||||
|
<div class="cli-info"> |
||||||
|
<div class="cli-top clearfix"> |
||||||
|
{% if user.is_staff %} |
||||||
|
{% if result.object.is_published %} |
||||||
|
<div class="cli-status"><div class="status active">Активная</div></div> |
||||||
|
{% else %} |
||||||
|
<div class="cli-status"><div class="status canceled">Неактивная</div></div> |
||||||
|
{% endif %} |
||||||
|
{% else %} |
||||||
|
|
||||||
|
{% if result.object.quality_label.ufi.is_set %} |
||||||
|
<div class="cli-approved"> |
||||||
|
<img src="{% static 'client/img/approved-logo.png' %}" alt="" title="Approved Event" /> |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
{% endif %} |
||||||
|
|
||||||
|
<header> |
||||||
|
<div class="cli-title"><a href="{{ result.object.get_permanent_url }}">{{ result.object.name|safe }}</a></div> |
||||||
|
</header> |
||||||
|
<div class="cli-descr"> |
||||||
|
|
||||||
|
<!--{{ result.object.main_title|safe }}--> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="cli-bot clearfix"> |
||||||
|
|
||||||
|
<div class="cli-date"> |
||||||
|
{% with obj=result.object %} |
||||||
|
{% include 'client/includes/show_date_block.html' %} |
||||||
|
{% endwith %} |
||||||
|
</div> |
||||||
|
{% if result.object.country %} |
||||||
|
<div class="cli-place"> |
||||||
|
<a href="#">{{ result.object.country }}</a>, <a href="#">{{ result.object.city }}</a>, |
||||||
|
|
||||||
|
{% if result.object.place %} |
||||||
|
<a href="{{ result.object.place.get_permanent_url }}">{{ result.object.place }}</a> |
||||||
|
{% endif %} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="cli-buttons clearfix"> |
||||||
|
<div class="cli-m-buttons"> |
||||||
|
<div class="cli-services"> |
||||||
|
<a class="button icon-sm" href="#">{% trans 'услуги' %}</a> |
||||||
|
<div class="cli-services-sm"> |
||||||
|
<ul> |
||||||
|
{% for service in result.object.get_services %} |
||||||
|
<li><a href="#">{{ service.name }}</a></li> |
||||||
|
{% endfor %} |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<a class="button blue icon-calendar" href="#"> |
||||||
|
{% if user.is_authenticated %} |
||||||
|
{% if result.object|in_calendar:user %} |
||||||
|
{% trans 'из расписания' %} |
||||||
|
{% else %} |
||||||
|
{% trans 'в расписание' %} |
||||||
|
{% endif %} |
||||||
|
{% else %} |
||||||
|
{% trans 'в расписание' %} |
||||||
|
{% endif %} |
||||||
|
</a> |
||||||
|
<a class="button green icon-note" href="#">{% trans 'заметка' %}</a> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="cli-s-buttons"> |
||||||
|
<a class="button blue2 lc" href="#">{% trans 'Лучшие цены на отели на' %} <i>Booking</i>.com</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<footer class="clearfix"> |
||||||
|
<div class="cli-stats"> |
||||||
|
{% if result.object.visitors %} |
||||||
|
<span class="visitors" title="Посетители">{{ result.object.visitors }}</span> |
||||||
|
{% endif %} |
||||||
|
{% if result.object.members %} |
||||||
|
<span class="participants" title="Участники">{{ result.object.members }}</span> |
||||||
|
{% endif %} |
||||||
|
</div> |
||||||
|
<div class="cli-tags"> |
||||||
|
{% with obj=result.object filter=filter %} |
||||||
|
{% include 'includes/show_tags.html' %} |
||||||
|
{% endwith %} |
||||||
|
</div> |
||||||
|
</footer> |
||||||
|
</li> |
||||||
|
{% endfor %} |
||||||
|
</ul> |
||||||
@ -0,0 +1,45 @@ |
|||||||
|
{% load i18n %} |
||||||
|
{% load template_filters %} |
||||||
|
|
||||||
|
{% if page_obj.paginator.num_pages > 1 %} |
||||||
|
<div class="pagination clearfix"> |
||||||
|
<div class="pg-info"> {% trans 'Показано' %} {{ page_obj.start_index }} - {{ page_obj.end_index }} <i>({% trans 'всего' %} {{ page_obj.paginator.count }} {% trans 'позиций' %})</i></div> |
||||||
|
<div class="pg-body"> |
||||||
|
{% if page_obj.has_previous %} |
||||||
|
<a class="pg-prev" href="?page={{ page_obj.previous_page_number }}&{{ queries.urlencode }}">{% trans 'Предыдущая' %}</a> |
||||||
|
{% else %} |
||||||
|
<a class="pg-prev disabled" href="#">{% trans 'Предыдущая' %}</a> |
||||||
|
{% endif %} |
||||||
|
|
||||||
|
<ul> |
||||||
|
{% if page_obj.number > 2 %} |
||||||
|
<li><a href="?page={{ 1 }}&{{ queries.urlencode }} ">{{ 1 }}</a></li> |
||||||
|
{% if page_obj.number > 3 %} |
||||||
|
<li>...</li> |
||||||
|
{% endif %} |
||||||
|
{% endif %} |
||||||
|
{% if page_obj.has_previous %} |
||||||
|
<li><a href="?page={{ page_obj.previous_page_number }}&{{ queries.urlencode }}">{{ page_obj.previous_page_number }}</a></li> |
||||||
|
{% endif %} |
||||||
|
|
||||||
|
<li><b>{{ page_obj.number }}</b></li> |
||||||
|
|
||||||
|
{% if page_obj.has_next %} |
||||||
|
<li><a href="?page={{ page_obj.next_page_number }}&{{ queries.urlencode }}">{{ page_obj.next_page_number }}</a></li> |
||||||
|
{% endif %} |
||||||
|
{% if page_obj.paginator.num_pages|subtract:page_obj.number > 1 %} |
||||||
|
{% if page_obj.paginator.num_pages|subtract:page_obj.number > 2 %} |
||||||
|
<li>...</li> |
||||||
|
{% endif %} |
||||||
|
<li><a href="?page={{ page_obj.paginator.num_pages }}&{{ queries.urlencode }}">{{ page_obj.paginator.num_pages }}</a></li> |
||||||
|
{% endif %} |
||||||
|
</ul> |
||||||
|
{% if page_obj.has_next %} |
||||||
|
<a class="pg-next" href="?page={{ page_obj.next_page_number }}&{{ queries.urlencode }}">{% trans 'Следующая' %}</a> |
||||||
|
{% else %} |
||||||
|
<a class="pg-next disabled" href="#">{% trans 'Следующая' %}</a> |
||||||
|
{% endif %} |
||||||
|
|
||||||
|
</div> |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
@ -0,0 +1,3 @@ |
|||||||
|
{% for text in object.get_index_text %} |
||||||
|
{{ text }} |
||||||
|
{% endfor %} |
||||||
@ -0,0 +1,3 @@ |
|||||||
|
{% for text in object.get_index_text %} |
||||||
|
{{ text }} |
||||||
|
{% endfor %} |
||||||
@ -0,0 +1,3 @@ |
|||||||
|
{% for text in object.get_index_text %} |
||||||
|
{{ text }} |
||||||
|
{% endfor %} |
||||||
@ -0,0 +1,3 @@ |
|||||||
|
{% for text in object.get_index_text %} |
||||||
|
{{ text }} |
||||||
|
{% endfor %} |
||||||
@ -0,0 +1,3 @@ |
|||||||
|
{% for text in object.get_index_text %} |
||||||
|
{{ text }} |
||||||
|
{% endfor %} |
||||||
@ -0,0 +1,55 @@ |
|||||||
|
from django.core.management.base import BaseCommand, CommandError |
||||||
|
from theme.models import Tag, Theme |
||||||
|
|
||||||
|
import MySQLdb |
||||||
|
from MySQLdb.cursors import DictCursor |
||||||
|
|
||||||
|
class Command(BaseCommand): |
||||||
|
def handle(self, *args, **options): |
||||||
|
db = MySQLdb.connect(host="localhost", |
||||||
|
user="root", |
||||||
|
passwd="qazedc", |
||||||
|
db="expomap_ru", |
||||||
|
charset='utf8', |
||||||
|
cursorclass=DictCursor) |
||||||
|
|
||||||
|
cursor = db.cursor() |
||||||
|
# id 3732 duplicate tag with bad name(2 spaces) |
||||||
|
sql = "SELECT * FROM tags WHERE id != 3732" |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cursor.execute(sql) |
||||||
|
res = cursor.fetchall() |
||||||
|
|
||||||
|
for t in res: |
||||||
|
theme_id=t['category_id'] |
||||||
|
|
||||||
|
# check if theme id exist |
||||||
|
try: |
||||||
|
Theme.objects.get(id=theme_id) |
||||||
|
except Theme.DoesNotExist: |
||||||
|
continue |
||||||
|
|
||||||
|
# check duplicate name |
||||||
|
ex_tags = Tag.objects.language('ru').filter(name=t['title']) |
||||||
|
if ex_tags: |
||||||
|
# track if tag with current theme exist |
||||||
|
find_theme = False |
||||||
|
for ex_tag in ex_tags: |
||||||
|
if ex_tag.theme_id == theme_id: |
||||||
|
find_theme = True |
||||||
|
if find_theme: |
||||||
|
continue |
||||||
|
|
||||||
|
tag = Tag(id=t['id'], theme_id=theme_id) |
||||||
|
tag.translate('ru') |
||||||
|
tag.name = t.get('title', '') |
||||||
|
tag.main_title = t.get('title', '') |
||||||
|
|
||||||
|
tag.save() |
||||||
|
print(tag) |
||||||
|
|
||||||
|
print('success') |
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,47 @@ |
|||||||
|
from django.core.management.base import BaseCommand, CommandError |
||||||
|
from theme.models import Theme |
||||||
|
|
||||||
|
import MySQLdb |
||||||
|
from MySQLdb.cursors import DictCursor |
||||||
|
|
||||||
|
|
||||||
|
class Command(BaseCommand): |
||||||
|
def handle(self, *args, **options): |
||||||
|
db = MySQLdb.connect(host="localhost", |
||||||
|
user="root", |
||||||
|
passwd="qazedc", |
||||||
|
db="expomap_ru", |
||||||
|
charset='utf8', |
||||||
|
cursorclass=DictCursor) |
||||||
|
|
||||||
|
cursor = db.cursor() |
||||||
|
|
||||||
|
sql = """SELECT * FROM categories |
||||||
|
LEFT JOIN categories_description |
||||||
|
ON categories.categories_id=categories_description.categories_id |
||||||
|
""" |
||||||
|
|
||||||
|
cursor.execute(sql) |
||||||
|
res = cursor.fetchall() |
||||||
|
|
||||||
|
|
||||||
|
for th in res: |
||||||
|
theme = Theme(id=th['categories_id'], url=th['url'], types=0) |
||||||
|
if th['expo']: |
||||||
|
theme.types.exposition = True |
||||||
|
if th['conference']: |
||||||
|
theme.types.conference = True |
||||||
|
|
||||||
|
theme.translate('ru') |
||||||
|
theme.name = th.get('categories_name', '') |
||||||
|
theme.main_title = th.get('categories_heading_title', '') |
||||||
|
theme.description = th.get('categories_description', '') |
||||||
|
theme.title = th.get('categories_meta_title', '') |
||||||
|
theme.descriptions = th.get('categories_meta_description', '') |
||||||
|
theme.keywords = th.get('categories_meta_keywords', '') |
||||||
|
if theme.name: |
||||||
|
theme.save() |
||||||
|
print(theme) |
||||||
|
|
||||||
|
|
||||||
|
print('success') |
||||||
@ -0,0 +1,20 @@ |
|||||||
|
from haystack import indexes |
||||||
|
from models import Webinar |
||||||
|
|
||||||
|
|
||||||
|
class PlaceExpositionIndex(indexes.SearchIndex, indexes.Indexable): |
||||||
|
text = indexes.CharField(document=True, use_template=True) |
||||||
|
where = indexes.MultiValueField() |
||||||
|
def prepare_where(self, obj): |
||||||
|
country = [tr.name for tr in obj.country.translations.all()] |
||||||
|
city = [tr.name for tr in obj.city.translations.all()] |
||||||
|
|
||||||
|
return country + city |
||||||
|
|
||||||
|
def get_model(self): |
||||||
|
return Webinar |
||||||
|
|
||||||
|
def index_queryset(self, using=None): |
||||||
|
|
||||||
|
return self.get_model().objects.filter() |
||||||
|
|
||||||
Loading…
Reference in new issue