commit
5355c34362
68 changed files with 1371 additions and 1400 deletions
@ -1,9 +1,6 @@ |
||||
# -*- coding: utf-8 -*- |
||||
from django.conf.urls import patterns, url |
||||
from views import CityView |
||||
|
||||
urlpatterns = patterns('', |
||||
url(r'get-city/', 'city.views.get_city'), |
||||
# commented for good times |
||||
#url(r'(?P<slug>.*)', CityView.as_view()), |
||||
) |
||||
|
||||
@ -1,6 +0,0 @@ |
||||
# -*- coding: utf-8 -*- |
||||
from django.db.models.signals import post_save |
||||
from models import Company |
||||
from functions.signal_handlers import post_save_handler |
||||
|
||||
#post_save.connect(post_save_handler, sender=Company) |
||||
@ -1,16 +0,0 @@ |
||||
""" |
||||
This file demonstrates writing tests using the unittest module. These will pass |
||||
when you run "manage.py test". |
||||
|
||||
Replace this with more appropriate tests for your application. |
||||
""" |
||||
|
||||
from django.test import TestCase |
||||
|
||||
|
||||
class SimpleTest(TestCase): |
||||
def test_basic_addition(self): |
||||
""" |
||||
Tests that 1 + 1 always equals 2. |
||||
""" |
||||
self.assertEqual(1 + 1, 2) |
||||
@ -0,0 +1,2 @@ |
||||
# from .test_models import * |
||||
from .test_views import * |
||||
@ -0,0 +1,292 @@ |
||||
import datetime |
||||
|
||||
from accounts.models import User |
||||
from django.contrib.contenttypes.models import ContentType |
||||
from django.core.urlresolvers import reverse, NoReverseMatch |
||||
from django.test import TestCase |
||||
from expobanner.models import Paid, Banner |
||||
from note.models import Note |
||||
from service.models import Service |
||||
from stats_collector.models import ObjectStats |
||||
from theme.models import Tag, Theme |
||||
|
||||
from ..models import Conference, Speaker, Statistic, TimeTable |
||||
from city.models import City |
||||
from country.models import Country |
||||
from events.models import TargetAudience |
||||
|
||||
|
||||
class ConferenceTest(TestCase): |
||||
def setUp(self): |
||||
self.conference = Conference.objects.create( |
||||
name='New Conference', |
||||
data_begin=datetime.datetime.now(), |
||||
data_end=datetime.timedelta(24)+datetime.datetime.now(), |
||||
country=Country.objects.all()[0], |
||||
city=City.objects.all()[0], |
||||
|
||||
url='new-conference', |
||||
services=b'0001000' |
||||
) |
||||
|
||||
def test_a_conference_create(self): |
||||
conference_count = Conference.objects.all().count() |
||||
Conference.objects.create( |
||||
name='New Conference', |
||||
data_begin=datetime.datetime.now(), |
||||
data_end=datetime.timedelta(24)+datetime.datetime.now(), |
||||
country=Country.objects.all()[0], |
||||
city=City.objects.all()[0] |
||||
) |
||||
new_conference_count = Conference.objects.all().count() |
||||
|
||||
self.assertEqual(conference_count + 1, new_conference_count) |
||||
|
||||
def test_save_conference_info(self): |
||||
name = 'New Conference' |
||||
datetime_now = datetime.datetime.now() |
||||
data_begin = datetime_now |
||||
data_end = datetime.timedelta(24) + datetime_now |
||||
country = Country.objects.all()[0] |
||||
city = City.objects.all()[0] |
||||
|
||||
new_conference = Conference.objects.create( |
||||
name=name, |
||||
data_begin=data_begin, |
||||
data_end=data_end, |
||||
country=country, |
||||
city=city |
||||
|
||||
) |
||||
|
||||
self.assertEqual(name, new_conference.name) |
||||
self.assertEqual(data_begin, new_conference.data_begin) |
||||
self.assertEqual(data_end, new_conference.data_end) |
||||
self.assertEqual(country, new_conference.country) |
||||
self.assertEqual(city, new_conference.city) |
||||
|
||||
def test_method_unicode(self): |
||||
self.assertEqual( |
||||
str(self.conference), |
||||
self.conference.lazy_translation_getter( |
||||
'name', unicode(self.conference.pk)) |
||||
) |
||||
|
||||
def test_method_get_services(self): |
||||
services = [item for item, bool in self.conference.services if bool] |
||||
qs = Service.objects.language() |
||||
qs = qs.filter(url__in=services) |
||||
|
||||
self.assertEqual( |
||||
sorted(self.conference.get_services(), key=lambda x: x.pk), |
||||
sorted(list(qs), key=lambda x: x.pk) |
||||
) |
||||
|
||||
def test_method_get_news_url(self): |
||||
self.assertEqual( |
||||
self.conference.get_news_url(), |
||||
reverse('news_conference', kwargs={'slug': self.conference.url}) |
||||
) |
||||
|
||||
def test_method_get_audience(self): |
||||
self.assertFalse(self.conference.get_audience()) |
||||
|
||||
self.conference.audience.add( |
||||
TargetAudience.objects.create(title='All')) |
||||
audience = TargetAudience.objects.filter(title='All')[0] |
||||
|
||||
self.assertIn(audience, self.conference.get_audience()) |
||||
|
||||
def test_method_get_calendar_url(self): |
||||
self.assertEqual( |
||||
self.conference.get_calendar_url(), |
||||
reverse('conference_add_calendar', args=[self.conference.id]) |
||||
) |
||||
|
||||
def test_method_get_visit_url(self): |
||||
self.assertEqual( |
||||
self.conference.get_visit_url(), |
||||
reverse( |
||||
'events:event_visit', |
||||
args=['conference', self.conference.id] |
||||
) |
||||
) |
||||
|
||||
def test_method_get_note_url(self): |
||||
self.assertEqual( |
||||
self.conference.get_note_url(), |
||||
reverse('conference_add_note', args=[self.conference.url]) |
||||
) |
||||
|
||||
def test_method_get_note_by_user(self): |
||||
user = User.objects.all()[0] |
||||
|
||||
self.assertEqual(self.conference.get_note_by_user(user.id), '') |
||||
|
||||
text = 'Great' |
||||
ct = ContentType.objects.get_for_model(self.conference) |
||||
object_id = self.conference.id |
||||
Note.objects.create( |
||||
content_type=ct, object_id=object_id, |
||||
user=user, text=text |
||||
) |
||||
|
||||
self.assertEqual(self.conference.get_note_by_user(user.id), text) |
||||
|
||||
def test_method_tags(self): |
||||
self.assertFalse(self.conference.tags()) |
||||
|
||||
theme = Theme.objects.create( |
||||
name='Theme name', main_title='Theme title' |
||||
) |
||||
tag = Tag.objects.create( |
||||
name='Tag name', main_title='Tag title', theme=theme |
||||
) |
||||
self.conference.tag.add(tag) |
||||
|
||||
self.assertIn(tag, self.conference.tags()) |
||||
|
||||
def test_method_get_index_text(self): |
||||
self.assertIn( |
||||
self.conference.name, |
||||
self.conference.get_index_text() |
||||
) |
||||
|
||||
title = 'Conf Title' |
||||
self.conference.main_title = title |
||||
self.conference.save() |
||||
|
||||
self.assertIn(title, self.conference.get_index_text()) |
||||
|
||||
theme_name = 'Theme name' |
||||
theme = Theme.objects.create( |
||||
name=theme_name, main_title='Theme title' |
||||
) |
||||
tag_name = 'Tag name' |
||||
tag = Tag.objects.create( |
||||
name=tag_name, main_title='Tag title', theme=theme |
||||
) |
||||
self.conference.tag.add(tag) |
||||
|
||||
self.assertIn(tag_name, self.conference.get_index_text()) |
||||
|
||||
self.conference.theme.add(theme) |
||||
|
||||
self.assertIn(theme_name, self.conference.get_index_text()) |
||||
|
||||
def test_method_upload_photo_url(self): |
||||
self.assertEqual( |
||||
reverse('conference_upload_photo', args=[self.conference.id]), |
||||
self.conference.upload_photo_url() |
||||
) |
||||
|
||||
def test_method_clicks(self): |
||||
with self.assertRaises(AttributeError): |
||||
self.conference.clicks() |
||||
|
||||
ticket_url = 'ticket_url/' |
||||
ticket = Banner.objects.create_for_paid( |
||||
self.conference, ticket_url, 'tickets') |
||||
official_url = 'official_url/' |
||||
official = Banner.objects.create_for_paid( |
||||
self.conference, official_url, 'official') |
||||
paid = Paid.objects.create( |
||||
tickets=ticket, official=official, catalog=ticket) |
||||
|
||||
self.conference.paid_new = paid |
||||
self.conference.save() |
||||
|
||||
self.assertEqual(self.conference.clicks(), 0) |
||||
|
||||
self.client.get(ticket.get_click_link()) |
||||
|
||||
self.assertEqual(self.conference.clicks(), 1) |
||||
|
||||
self.client.get(official.get_click_link()) |
||||
|
||||
self.assertEqual(self.conference.clicks(), 2) |
||||
|
||||
def test_method_get_paid_change_url(self): |
||||
try: |
||||
self.conference.get_paid_change_url() |
||||
except NoReverseMatch: |
||||
pass |
||||
|
||||
ticket = Banner.objects.create_for_paid( |
||||
self.conference, 'ticket_url', 'tickets') |
||||
official = Banner.objects.create_for_paid( |
||||
self.conference, 'official_url', 'official') |
||||
paid = Paid.objects.create( |
||||
tickets=ticket, official=official, catalog=official) |
||||
|
||||
self.conference.paid_new = paid |
||||
self.conference.save() |
||||
|
||||
self.assertEqual( |
||||
self.conference.get_paid_change_url(), |
||||
reverse('confbanner-update_paid', |
||||
args=[self.conference.paid_new.id]) |
||||
) |
||||
|
||||
def test_method_get_objectstat_views(self): |
||||
self.assertEqual( |
||||
self.conference.get_objectstat_views(), |
||||
sum(ObjectStats.objects.filter( |
||||
conference=self.conference).values_list('value', flat=True)) |
||||
) |
||||
|
||||
|
||||
class SpeakerTest(TestCase): |
||||
def test_create_speaker(self): |
||||
speacers = Speaker.objects.all().count() |
||||
Speaker.objects.create(fullname='Hgangu Piter') |
||||
speacers_plus_one = Speaker.objects.all().count() |
||||
|
||||
self.assertEqual(speacers + 1, speacers_plus_one) |
||||
|
||||
def test_method_unicode(self): |
||||
fullname = 'Hgangu Piter' |
||||
speaker = Speaker.objects.create(fullname=fullname) |
||||
self.assertEqual(str(speaker), fullname) |
||||
|
||||
|
||||
class StatisticTest(TestCase): |
||||
def test_create_statistic(self): |
||||
stats = Statistic.objects.all().count() |
||||
conf = Conference.objects.create( |
||||
name='New Conference', |
||||
data_begin=datetime.datetime.now(), |
||||
data_end=datetime.timedelta(24)+datetime.datetime.now(), |
||||
country=Country.objects.all()[0], |
||||
city=City.objects.all()[0] |
||||
) |
||||
Statistic.objects.create( |
||||
conference=conf, |
||||
year=datetime.datetime.now().year, |
||||
countries='Monaco' |
||||
) |
||||
stats_plus_one = Statistic.objects.all().count() |
||||
|
||||
self.assertEqual(stats + 1, stats_plus_one) |
||||
|
||||
|
||||
class TimeTableTest(TestCase): |
||||
def test_create_timetable(self): |
||||
tables = TimeTable.objects.all().count() |
||||
conf = Conference.objects.create( |
||||
name='New Conference', |
||||
data_begin=datetime.datetime.now(), |
||||
data_end=datetime.timedelta(24) + datetime.datetime.now(), |
||||
country=Country.objects.all()[0], |
||||
city=City.objects.all()[0] |
||||
) |
||||
TimeTable.objects.create( |
||||
conference=conf, |
||||
begin=datetime.datetime.now(), |
||||
end=datetime.timedelta(24) + datetime.datetime.now(), |
||||
name='All times' |
||||
) |
||||
tables_plus_one = TimeTable.objects.all().count() |
||||
self.assertEqual( |
||||
tables + 1, tables_plus_one |
||||
) |
||||
@ -0,0 +1,100 @@ |
||||
# -*- coding: utf-8 -*- |
||||
from city.models import City |
||||
from country.models import Country |
||||
from django.core.urlresolvers import reverse |
||||
from django.test import TestCase |
||||
from django.utils.translation import ugettext as _ |
||||
from functions.views_help import get_side_items |
||||
|
||||
|
||||
class ConferenceByTest(object): |
||||
"""Функционал 'абстрактного' класса ConferenceBy""" |
||||
def setUp(self): |
||||
self.response = self.client.get(self.url) |
||||
|
||||
def test_template(self): |
||||
self.assertTemplateUsed( |
||||
self.response, |
||||
'client/conference/conference_by.html' |
||||
) |
||||
|
||||
def test_is_available(self): |
||||
self.assertEqual(self.response.status_code, 200) |
||||
|
||||
def test_titles(self): |
||||
self.assertContains(self.response, self.title1) |
||||
self.assertContains(self.response, self.title2) |
||||
|
||||
def test_link(self): |
||||
link = '/conference/%s' % (self.catalog, ) |
||||
self.assertContains(self.response, link) |
||||
|
||||
def test_queryset(self): |
||||
obj_list = self.response.context[-1].get('object_list') |
||||
for obj in obj_list: |
||||
self.assertContains( |
||||
self.response, obj.name |
||||
) |
||||
self.assertContains( |
||||
self.response, obj.url |
||||
) |
||||
|
||||
class CanFilterAndSidePopular(object): |
||||
"""Функционал can_filter and side_popular in get_context_data""" |
||||
def test_can_filter(self): |
||||
text = 'ВЫБРАТЬ ПО КРИТЕРИЯМ:' |
||||
can_filter = self.response.context[-1].get('can_filter', None) |
||||
if can_filter is False: |
||||
self.assertNotContains(self.response, text) |
||||
elif can_filter is True: |
||||
self.assertContains(self.response, text) |
||||
|
||||
def test_side_popular(self): |
||||
side_popular = get_side_items('conf', self.model) |
||||
for popular in side_popular: |
||||
self.assertContains(self.response, popular.get('url')) |
||||
self.assertContains(self.response, popular.get('name')) |
||||
|
||||
|
||||
class ConferenceByCountryTest(ConferenceByTest, CanFilterAndSidePopular, TestCase): |
||||
url = reverse('conference_country') |
||||
title1 = _(u'По странам') |
||||
title2 = _(u'Коференции мира по странам') |
||||
catalog = 'country/' |
||||
model = Country |
||||
|
||||
|
||||
class ConferenceByThemeTest(ConferenceByTest, TestCase): |
||||
url = reverse('conference_theme') |
||||
title1 = _(u'По тематикам') |
||||
title2 = _(u'Коференции мира по тематикам') |
||||
catalog = 'theme/' |
||||
|
||||
|
||||
class ConferenceByTagTest(ConferenceByTest, TestCase): |
||||
url = reverse('conference_tag') |
||||
title1 = _(u'По тегам') |
||||
title2 = _(u'Коференции мира по тегам') |
||||
catalog = 'tag/' |
||||
|
||||
|
||||
class ConferenceByCityTest(ConferenceByTest, CanFilterAndSidePopular, TestCase): |
||||
url = reverse('conference_city') |
||||
title1 = _(u'По городам') |
||||
title2 = _(u'Коференции мира по городам') |
||||
catalog = 'city/' |
||||
model = City |
||||
|
||||
|
||||
class ConferenceCatalogTest(object): |
||||
def test_template(self): |
||||
self.assertTemplateUsed( |
||||
self.response, |
||||
'client/conference/catalog.html' |
||||
) |
||||
|
||||
|
||||
# class ConferenceCountryCatalogTest(ConferenceCatalogTest, TestCase): |
||||
# def setUp(self): |
||||
# url = reverse('conference_country_catalog', args=[]) |
||||
# self.response = self.client.get(url) |
||||
@ -0,0 +1,631 @@ |
||||
# -*- 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): |
||||
# Deleting field 'Exposition.audience' |
||||
db.delete_column(u'exposition_exposition', 'audience') |
||||
|
||||
# Adding M2M table for field audience on 'Exposition' |
||||
m2m_table_name = db.shorten_name(u'exposition_exposition_audience') |
||||
db.create_table(m2m_table_name, ( |
||||
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), |
||||
('exposition', models.ForeignKey(orm[u'exposition.exposition'], null=False)), |
||||
('targetaudience', models.ForeignKey(orm[u'events.targetaudience'], null=False)) |
||||
)) |
||||
db.create_unique(m2m_table_name, ['exposition_id', 'targetaudience_id']) |
||||
|
||||
|
||||
def backwards(self, orm): |
||||
# Adding field 'Exposition.audience' |
||||
db.add_column(u'exposition_exposition', 'audience', |
||||
self.gf('django.db.models.fields.BigIntegerField')(default=1), |
||||
keep_default=False) |
||||
|
||||
# Removing M2M table for field audience on 'Exposition' |
||||
db.delete_table(db.shorten_name(u'exposition_exposition_audience')) |
||||
|
||||
|
||||
models = { |
||||
u'accounts.user': { |
||||
'Meta': {'ordering': "['-rating']", 'object_name': 'User'}, |
||||
'blocked': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
||||
'company': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'users'", 'null': 'True', 'to': u"orm['company.Company']"}), |
||||
'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'}), |
||||
'email': ('django.db.models.fields.EmailField', [], {'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'}), |
||||
'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'}), |
||||
'position': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'rating': ('django.db.models.fields.IntegerField', [], {'default': '100'}), |
||||
'readonly': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
||||
'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'}), |
||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255', 'db_index': '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': {'unique_together': '()', 'object_name': 'City', 'index_together': '()'}, |
||||
'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'}), |
||||
'inflect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'logo': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
||||
'old_url': ('django.db.models.fields.CharField', [], {'max_length': '55'}), |
||||
'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': {'ordering': "['-rating', 'id']", 'unique_together': '()', 'object_name': 'Company', 'index_together': '()'}, |
||||
'address': ('functions.custom_fields.LocationField', [], {'blank': 'True'}), |
||||
'blocked': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
||||
'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'}), |
||||
'facebook': ('django.db.models.fields.URLField', [], {'max_length': '200', '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'}), |
||||
'linkedin': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), |
||||
'logo': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': 'True'}), |
||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
||||
'phone': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), |
||||
'rating': ('django.db.models.fields.IntegerField', [], {'default': '100'}), |
||||
'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']"}), |
||||
'twitter': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), |
||||
'url': ('django.db.models.fields.SlugField', [], {'max_length': '255'}), |
||||
'vk': ('django.db.models.fields.URLField', [], {'max_length': '200', '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': {'ordering': "['translations__name']", 'unique_together': '()', 'object_name': 'Area', 'index_together': '()'}, |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) |
||||
}, |
||||
u'country.country': { |
||||
'Meta': {'ordering': "['translations__name']", 'unique_together': '()', 'object_name': 'Country', 'index_together': '()'}, |
||||
'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'}), |
||||
'inflect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'language': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['directories.Language']", 'null': 'True', 'blank': 'True'}), |
||||
'latitude': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), |
||||
'logo': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'longitude': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), |
||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
||||
'old_url': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '55'}), |
||||
'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': {'unique_together': '()', 'object_name': 'Currency', 'index_together': '()'}, |
||||
'code': ('django.db.models.fields.CharField', [], {'max_length': '3'}), |
||||
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': '255'}), |
||||
'code': ('django.db.models.fields.CharField', [], {'max_length': '4'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) |
||||
}, |
||||
u'directories.language': { |
||||
'Meta': {'unique_together': '()', 'object_name': 'Language', 'index_together': '()'}, |
||||
'code': ('django.db.models.fields.CharField', [], {'max_length': '2'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'language': ('django.db.models.fields.CharField', [], {'max_length': '255'}) |
||||
}, |
||||
u'events.targetaudience': { |
||||
'Meta': {'ordering': "['title']", 'object_name': 'TargetAudience'}, |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}), |
||||
'title_en': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), |
||||
'title_ru': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) |
||||
}, |
||||
u'expobanner.banner': { |
||||
'Meta': {'ordering': "['sort']", 'object_name': 'Banner'}, |
||||
'alt': ('django.db.models.fields.CharField', [], {'max_length': '255'}), |
||||
'cookie': ('django.db.models.fields.CharField', [], {'default': "'expo_b_default_popup'", 'max_length': '30', 'null': 'True', 'blank': 'True'}), |
||||
'country': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['country.Country']", 'null': 'True', 'blank': 'True'}), |
||||
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
||||
'customer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['expobanner.Customer']", 'null': 'True', 'blank': 'True'}), |
||||
'flash': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
||||
'fr': ('django.db.models.fields.DateField', [], {'default': 'datetime.datetime(2017, 2, 1, 0, 0)'}), |
||||
'group': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'banners'", 'null': 'True', 'to': u"orm['expobanner.BannerGroup']"}), |
||||
'html': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'img': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), |
||||
'link': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
||||
'often': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1', 'null': 'True', 'blank': 'True'}), |
||||
'paid': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
||||
'popup': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
||||
'public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
||||
'sort': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '500'}), |
||||
'stat_pswd': ('django.db.models.fields.CharField', [], {'max_length': '16'}), |
||||
'text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), |
||||
'theme': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['theme.Theme']", 'null': 'True', 'blank': 'True'}), |
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'to': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), |
||||
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
||||
'url': ('django.db.models.fields.CharField', [], {'max_length': '1024'}), |
||||
'urls': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'url_banners'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['expobanner.URL']"}) |
||||
}, |
||||
u'expobanner.bannergroup': { |
||||
'Meta': {'ordering': "['name']", 'object_name': 'BannerGroup'}, |
||||
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
||||
'height': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), |
||||
'public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
||||
'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), |
||||
'speed': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '2000'}), |
||||
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
||||
'width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}) |
||||
}, |
||||
u'expobanner.customer': { |
||||
'Meta': {'ordering': "['name']", 'object_name': 'Customer'}, |
||||
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
||||
'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), |
||||
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) |
||||
}, |
||||
u'expobanner.mainpage': { |
||||
'Meta': {'ordering': "['-public']", 'object_name': 'MainPage'}, |
||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'link': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['expobanner.Banner']"}), |
||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
||||
'position': ('django.db.models.fields.PositiveIntegerField', [], {'default': '2', 'null': 'True', 'blank': 'True'}), |
||||
'public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
||||
'stat_pswd': ('django.db.models.fields.CharField', [], {'max_length': '16'}) |
||||
}, |
||||
u'expobanner.paid': { |
||||
'Meta': {'ordering': "['-public']", 'object_name': 'Paid'}, |
||||
'catalog': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'paid_catalog'", 'to': u"orm['expobanner.Banner']"}), |
||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'kind': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1', 'db_index': 'True'}), |
||||
'logo': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': 'True'}), |
||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
||||
'official': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'paid_official'", 'to': u"orm['expobanner.Banner']"}), |
||||
'organiser': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), |
||||
'participants_list': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'paid_participants_list'", 'null': 'True', 'to': u"orm['expobanner.Banner']"}), |
||||
'participation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'paid_participation'", 'null': 'True', 'to': u"orm['expobanner.Banner']"}), |
||||
'public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
||||
'stat_pswd': ('django.db.models.fields.CharField', [], {'max_length': '16'}), |
||||
'tickets': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'paid_tickets'", 'to': u"orm['expobanner.Banner']"}) |
||||
}, |
||||
u'expobanner.top': { |
||||
'Meta': {'ordering': "['position']", 'object_name': 'Top'}, |
||||
'base_catalog': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
||||
'catalog': ('django.db.models.fields.CharField', [], {'max_length': '16'}), |
||||
'cities': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'top_in_set'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['city.City']"}), |
||||
'country': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['country.Country']", 'null': 'True', 'blank': 'True'}), |
||||
'excluded_cities': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['city.City']", 'null': 'True', 'blank': 'True'}), |
||||
'excluded_tags': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['theme.Tag']", 'null': 'True', 'blank': 'True'}), |
||||
'fr': ('django.db.models.fields.DateField', [], {'default': 'datetime.datetime(2017, 2, 1, 0, 0)'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'link': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['expobanner.Banner']"}), |
||||
'months': ('functions.custom_fields.MonthMultiSelectField', [], {'default': 'None', 'max_length': '255', 'null': 'True', 'blank': 'True'}), |
||||
'position': ('django.db.models.fields.PositiveIntegerField', [], {'default': '2', 'null': 'True', 'blank': 'True'}), |
||||
'stat_pswd': ('django.db.models.fields.CharField', [], {'max_length': '16'}), |
||||
'theme': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['theme.Theme']", 'null': 'True', 'blank': 'True'}), |
||||
'to': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), |
||||
'years': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}) |
||||
}, |
||||
u'expobanner.url': { |
||||
'Meta': {'ordering': "['-created_at']", 'object_name': 'URL'}, |
||||
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
||||
'regex': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
||||
'sites': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'site_urls'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['sites.Site']"}), |
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '256'}), |
||||
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
||||
'url': ('django.db.models.fields.CharField', [], {'max_length': '2048'}) |
||||
}, |
||||
u'exposition.exposition': { |
||||
'Meta': {'unique_together': '()', 'object_name': 'Exposition', 'index_together': '()'}, |
||||
'application_deadline': ('django.db.models.fields.DateField', [], {'null': 'True'}), |
||||
'area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
||||
'audience': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['events.TargetAudience']", 'null': 'True', 'symmetrical': 'False'}), |
||||
'bad_url': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
||||
'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', [], {'related_name': "'exposition_city'", 'on_delete': 'models.PROTECT', 'to': u"orm['city.City']"}), |
||||
'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', [], {'related_name': "'exposition_country'", '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': "'exposition_creator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}), |
||||
'currency': ('functions.custom_fields.EnumField', [], {'default': "'RUB'", 'values': "('RUB', 'USD', 'EUR', 'RMB', 'GBP', 'AED', 'SGD', 'TRY', 'CZK', 'CHF', 'SEK', 'LKR', 'UAH', 'IDR', 'PLN', 'JPY')"}), |
||||
'data_begin': ('django.db.models.fields.DateField', [], {'db_index': 'True'}), |
||||
'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', 'db_index': 'True'}), |
||||
'logo': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': 'True'}), |
||||
'main': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['expobanner.MainPage']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}), |
||||
'main_page': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0', 'db_index': 'True'}), |
||||
'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'}), |
||||
'members_choice': ('django.db.models.fields.PositiveSmallIntegerField', [], {'db_index': 'True', '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'}), |
||||
'old_url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}), |
||||
'org': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), |
||||
'organiser': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'exposition_organisers'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['organiser.Organiser']"}), |
||||
'paid_new': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['expobanner.Paid']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}), |
||||
'periodic': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), |
||||
'photogallery': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['photologue.Gallery']", 'null': 'True', 'on_delete': 'models.SET_NULL', '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']"}), |
||||
'place_alt': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), |
||||
'price_catalog': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
||||
'price_choice': ('django.db.models.fields.PositiveSmallIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), |
||||
'price_choice_eur': ('django.db.models.fields.PositiveSmallIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), |
||||
'price_eur': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
||||
'price_rub': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
||||
'quality_label': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
||||
'rating': ('django.db.models.fields.IntegerField', [], {'default': '0'}), |
||||
'registration_link': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'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']"}), |
||||
'top': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['expobanner.Top']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}), |
||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}), |
||||
'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'}), |
||||
'visitors': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
||||
'visitors_choice': ('django.db.models.fields.PositiveSmallIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), |
||||
'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) |
||||
}, |
||||
u'exposition.expositiontranslation': { |
||||
'Meta': {'unique_together': "[('language_code', 'master')]", 'object_name': 'ExpositionTranslation', 'db_table': "u'exposition_exposition_translation'", 'index_together': '()'}, |
||||
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
||||
'descriptions': ('django.db.models.fields.CharField', [], {'max_length': '250'}), |
||||
'discount_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'keywords': ('django.db.models.fields.CharField', [], {'max_length': '250'}), |
||||
'language_code': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}), |
||||
'main_title': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
||||
'master': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'null': 'True', 'to': u"orm['exposition.Exposition']"}), |
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), |
||||
'participation_note': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
||||
'pre_condition': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'price_all': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'price_all_bar': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'price_day': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'price_day_bar': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'products': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
||||
'stand_condition': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'stat_countries': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
||||
'time': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), |
||||
'visit_note': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) |
||||
}, |
||||
u'exposition.statistic': { |
||||
'Meta': {'unique_together': '()', 'object_name': 'Statistic', 'index_together': '()'}, |
||||
'area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
||||
'countries_number': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
||||
'exposition': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'statistic'", 'to': u"orm['exposition.Exposition']"}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'members': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
||||
'visitors': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), |
||||
'year': ('django.db.models.fields.PositiveIntegerField', [], {}) |
||||
}, |
||||
u'exposition.statistictranslation': { |
||||
'Meta': {'unique_together': "[('language_code', 'master')]", 'object_name': 'StatisticTranslation', 'db_table': "u'exposition_statistic_translation'", 'index_together': '()'}, |
||||
'countries': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'language_code': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}), |
||||
'master': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'null': 'True', 'to': u"orm['exposition.Statistic']"}) |
||||
}, |
||||
u'exposition.timetable': { |
||||
'Meta': {'unique_together': '()', 'object_name': 'TimeTable', 'index_together': '()'}, |
||||
'begin': ('django.db.models.fields.DateTimeField', [], {}), |
||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
||||
'end': ('django.db.models.fields.DateTimeField', [], {}), |
||||
'exposition': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'business_program'", 'to': u"orm['exposition.Exposition']"}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
||||
'timetable_organiser': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['organiser.Organiser']", 'null': 'True', 'blank': 'True'}) |
||||
}, |
||||
u'exposition.timetabletranslation': { |
||||
'Meta': {'unique_together': "[('language_code', 'master')]", 'object_name': 'TimeTableTranslation', 'db_table': "u'exposition_timetable_translation'", 'index_together': '()'}, |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'language_code': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}), |
||||
'master': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'null': 'True', 'to': u"orm['exposition.TimeTable']"}), |
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'place': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'programe': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
||||
'speaker': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) |
||||
}, |
||||
u'exposition.tmptimetable': { |
||||
'Meta': {'unique_together': '()', 'object_name': 'TmpTimeTable', 'index_together': '()'}, |
||||
'begin': ('django.db.models.fields.DateTimeField', [], {}), |
||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
||||
'end': ('django.db.models.fields.DateTimeField', [], {}), |
||||
'exposition': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['exposition.Exposition']", 'null': 'True', 'blank': 'True'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'key': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
||||
'timetable_organiser': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['organiser.Organiser']", 'null': 'True', 'blank': 'True'}) |
||||
}, |
||||
u'exposition.tmptimetabletranslation': { |
||||
'Meta': {'unique_together': "[('language_code', 'master')]", 'object_name': 'TmpTimeTableTranslation', 'db_table': "u'exposition_tmptimetable_translation'", 'index_together': '()'}, |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'language_code': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}), |
||||
'master': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'null': 'True', 'to': u"orm['exposition.TmpTimeTable']"}), |
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'place': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'programe': ('django.db.models.fields.TextField', [], {}), |
||||
'speaker': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) |
||||
}, |
||||
u'file.filemodel': { |
||||
'Meta': {'unique_together': '()', 'object_name': 'FileModel', 'index_together': '()'}, |
||||
'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'", 'values': "('PDF', 'DOC', 'TXT', 'OTHER', 'JPG', 'BMP', 'PNG', 'GIF')", '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'", 'values': "['photo', 'flat', 'logo', 'map', 'scheme teritory', 'diplom', 'preview', 'preview2']"}) |
||||
}, |
||||
u'note.note': { |
||||
'Meta': {'object_name': 'Note'}, |
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']", 'null': 'True'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), |
||||
'text': ('django.db.models.fields.TextField', [], {}), |
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) |
||||
}, |
||||
u'organiser.organiser': { |
||||
'Meta': {'unique_together': '()', 'object_name': 'Organiser', 'index_together': '()'}, |
||||
'active': ('django.db.models.fields.NullBooleanField', [], {'default': '0', 'null': 'True', 'blank': 'True'}), |
||||
'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'}), |
||||
'facebook': ('django.db.models.fields.URLField', [], {'max_length': '200', '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'}), |
||||
'linkedin': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), |
||||
'logo': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': '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']"}), |
||||
'rating': ('django.db.models.fields.IntegerField', [], {'default': '0'}), |
||||
'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'}), |
||||
'twitter': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), |
||||
'url': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'vk': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), |
||||
'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) |
||||
}, |
||||
u'photologue.gallery': { |
||||
'Meta': {'ordering': "['-date_added']", 'unique_together': '()', 'object_name': 'Gallery', 'index_together': '()'}, |
||||
'date_added': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'is_public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
||||
'photos': ('sortedm2m.fields.SortedManyToManyField', [], {'blank': 'True', 'related_name': "'galleries'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['photologue.Photo']"}), |
||||
'sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['sites.Site']", 'null': 'True', 'blank': 'True'}), |
||||
'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '200'}), |
||||
'tags': ('photologue.models.TagField', [], {'max_length': '255', 'blank': 'True'}) |
||||
}, |
||||
u'photologue.photo': { |
||||
'Meta': {'ordering': "['sort']", 'unique_together': '()', 'object_name': 'Photo', 'index_together': '()'}, |
||||
'crop_from': ('django.db.models.fields.CharField', [], {'default': "'center'", 'max_length': '10', 'blank': 'True'}), |
||||
'date_added': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
||||
'date_taken': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), |
||||
'effect': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'photo_related'", 'null': 'True', 'to': u"orm['photologue.PhotoEffect']"}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), |
||||
'is_public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
||||
'sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['sites.Site']", 'null': 'True', 'blank': 'True'}), |
||||
'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '200'}), |
||||
'sort': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10', 'null': 'True', 'db_index': 'True'}), |
||||
'tags': ('photologue.models.TagField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'users': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['photologue.UserMark']", 'null': 'True', 'symmetrical': 'False'}), |
||||
'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) |
||||
}, |
||||
u'photologue.photoeffect': { |
||||
'Meta': {'object_name': 'PhotoEffect'}, |
||||
'background_color': ('django.db.models.fields.CharField', [], {'default': "'#FFFFFF'", 'max_length': '7'}), |
||||
'brightness': ('django.db.models.fields.FloatField', [], {'default': '1.0'}), |
||||
'color': ('django.db.models.fields.FloatField', [], {'default': '1.0'}), |
||||
'contrast': ('django.db.models.fields.FloatField', [], {'default': '1.0'}), |
||||
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
||||
'filters': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), |
||||
'reflection_size': ('django.db.models.fields.FloatField', [], {'default': '0'}), |
||||
'reflection_strength': ('django.db.models.fields.FloatField', [], {'default': '0.6'}), |
||||
'sharpness': ('django.db.models.fields.FloatField', [], {'default': '1.0'}), |
||||
'transpose_method': ('django.db.models.fields.CharField', [], {'max_length': '15', 'blank': 'True'}) |
||||
}, |
||||
u'photologue.usermark': { |
||||
'Meta': {'object_name': 'UserMark'}, |
||||
'height': ('django.db.models.fields.PositiveSmallIntegerField', [], {}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'left': ('django.db.models.fields.PositiveSmallIntegerField', [], {}), |
||||
'top': ('django.db.models.fields.PositiveSmallIntegerField', [], {}), |
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'marks'", 'to': u"orm['accounts.User']"}), |
||||
'width': ('django.db.models.fields.PositiveSmallIntegerField', [], {}) |
||||
}, |
||||
u'place_conference.placeconference': { |
||||
'Meta': {'unique_together': '()', 'object_name': 'PlaceConference', 'index_together': '()'}, |
||||
'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', [], {'related_name': "'place_conferences'", 'on_delete': 'models.PROTECT', 'to': u"orm['city.City']"}), |
||||
'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'}), |
||||
'logo': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'blank': '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'}), |
||||
'top': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['expobanner.Top']", 'null': 'True', 'on_delete': 'models.SET_NULL', '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'", 'values': "['Convention centre', 'Exposition 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', [], {'default': '0'}), |
||||
'virtual_tour': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': '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': "['-rating', 'id']", 'unique_together': '()', 'object_name': 'PlaceExposition', 'index_together': '()'}, |
||||
'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', [], {'related_name': "'place_expositions'", 'on_delete': 'models.PROTECT', 'to': u"orm['city.City']"}), |
||||
'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'}), |
||||
'event_in_year': ('django.db.models.fields.PositiveIntegerField', [], {'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'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
||||
'logo': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'blank': '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'}), |
||||
'partner': ('django.db.models.fields.NullBooleanField', [], {'default': '0', 'null': 'True', 'blank': 'True'}), |
||||
'phone': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), |
||||
'photogallery': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['photologue.Gallery']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}), |
||||
'press_centre': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
||||
'rating': ('django.db.models.fields.IntegerField', [], {'default': '0'}), |
||||
'terminals': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), |
||||
'top': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['expobanner.Top']", 'null': 'True', 'on_delete': 'models.SET_NULL', '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'", 'values': "['Exposition complex', 'Convention centre', 'Exposition centre']"}), |
||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}), |
||||
'views': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), |
||||
'virtual_tour': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), |
||||
'web_page': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), |
||||
'wifi': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) |
||||
}, |
||||
u'sites.site': { |
||||
'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"}, |
||||
'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) |
||||
}, |
||||
u'theme.tag': { |
||||
'Meta': {'unique_together': '()', 'object_name': 'Tag', 'index_together': '()'}, |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'inflect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'old_url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}), |
||||
'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': {'unique_together': '()', 'object_name': 'Theme', 'index_together': '()'}, |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'inflect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'main_page_conf': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0', 'db_index': 'True'}), |
||||
'main_page_expo': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0', 'db_index': 'True'}), |
||||
'old_url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}), |
||||
'types': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}) |
||||
}, |
||||
u'translator.translator': { |
||||
'Meta': {'unique_together': '()', 'object_name': 'Translator', 'index_together': '()'}, |
||||
'birth': ('django.db.models.fields.DateField', [], {}), |
||||
'car': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
||||
'gender': ('functions.custom_fields.EnumField', [], {'default': "'male'", 'values': "('male', 'female')"}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) |
||||
} |
||||
} |
||||
|
||||
complete_apps = ['exposition'] |
||||
@ -0,0 +1,80 @@ |
||||
# -*- 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): |
||||
# Deleting field 'ThemeTranslation.keywords' |
||||
db.delete_column(u'theme_theme_translation', 'keywords') |
||||
|
||||
# Deleting field 'ThemeTranslation.title' |
||||
db.delete_column(u'theme_theme_translation', 'title') |
||||
|
||||
# Deleting field 'ThemeTranslation.descriptions' |
||||
db.delete_column(u'theme_theme_translation', 'descriptions') |
||||
|
||||
|
||||
def backwards(self, orm): |
||||
# Adding field 'ThemeTranslation.keywords' |
||||
db.add_column(u'theme_theme_translation', 'keywords', |
||||
self.gf('django.db.models.fields.CharField')(default='', max_length=255, blank=True), |
||||
keep_default=False) |
||||
|
||||
# Adding field 'ThemeTranslation.title' |
||||
db.add_column(u'theme_theme_translation', 'title', |
||||
self.gf('django.db.models.fields.CharField')(default='', max_length=255, blank=True), |
||||
keep_default=False) |
||||
|
||||
# Adding field 'ThemeTranslation.descriptions' |
||||
db.add_column(u'theme_theme_translation', 'descriptions', |
||||
self.gf('django.db.models.fields.CharField')(default='', max_length=255, blank=True), |
||||
keep_default=False) |
||||
|
||||
|
||||
models = { |
||||
u'theme.tag': { |
||||
'Meta': {'unique_together': '()', 'object_name': 'Tag', 'index_together': '()'}, |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'inflect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'old_url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}), |
||||
'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.tagtranslation': { |
||||
'Meta': {'unique_together': "[('language_code', 'master')]", 'object_name': 'TagTranslation', 'db_table': "u'theme_tag_translation'", 'index_together': '()'}, |
||||
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
||||
'descriptions': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'keywords': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), |
||||
'language_code': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}), |
||||
'main_title': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
||||
'master': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'null': 'True', 'to': u"orm['theme.Tag']"}), |
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}) |
||||
}, |
||||
u'theme.theme': { |
||||
'Meta': {'unique_together': '()', 'object_name': 'Theme', 'index_together': '()'}, |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'inflect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), |
||||
'main_page_conf': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0', 'db_index': 'True'}), |
||||
'main_page_expo': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0', 'db_index': 'True'}), |
||||
'old_url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}), |
||||
'types': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), |
||||
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}) |
||||
}, |
||||
u'theme.themetranslation': { |
||||
'Meta': {'unique_together': "[('language_code', 'master')]", 'object_name': 'ThemeTranslation', 'db_table': "u'theme_theme_translation'", 'index_together': '()'}, |
||||
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), |
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
||||
'language_code': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}), |
||||
'main_title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), |
||||
'master': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'null': 'True', 'to': u"orm['theme.Theme']"}), |
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) |
||||
} |
||||
} |
||||
|
||||
complete_apps = ['theme'] |
||||
@ -1,16 +0,0 @@ |
||||
from functools import wraps |
||||
|
||||
from django.template import RequestContext |
||||
from django.shortcuts import render_to_response |
||||
|
||||
|
||||
def render_to(tpl): |
||||
def decorator(func): |
||||
@wraps(func) |
||||
def wrapper(request, *args, **kwargs): |
||||
out = func(request, *args, **kwargs) |
||||
if isinstance(out, dict): |
||||
out = render_to_response(tpl, out, RequestContext(request)) |
||||
return out |
||||
return wrapper |
||||
return decorator |
||||
@ -1,186 +0,0 @@ |
||||
{% extends 'base.html' %} |
||||
{% load static %} |
||||
{# Displays article form #} |
||||
|
||||
{% block scripts %} |
||||
|
||||
<script src="{% static 'ckeditor/ckeditor/ckeditor.js' %}"></script> |
||||
{# selects #} |
||||
<link href="{% static 'js/select/select2.css' %}" rel="stylesheet"/> |
||||
<script src="{% static 'js/select/select2.js' %}"></script> |
||||
{# ajax #} |
||||
<script src="{% static 'custom_js/file_post_ajax.js' %}"></script> |
||||
<script src="{% static 'custom_js/select_tag.js' %}"></script> |
||||
|
||||
{% endblock %} |
||||
|
||||
{% block body %} |
||||
|
||||
{# Uses multilang.html template for translated fields #} |
||||
<form method="post" class="form-horizontal" name="form2" id="form2"> {% csrf_token %} |
||||
<fieldset> |
||||
<legend><i class="icon-edit"></i>{% if obj_id %} Изменить {% else %} Добавить {% endif %}статью</legend> |
||||
|
||||
<div class="box span8"> |
||||
<div class="box-header well"> |
||||
<h2><i class="icon-pencil"></i> Основная информация</h2> |
||||
</div> |
||||
<div class="box-content"> |
||||
{# Hidden input uses for comparing with TmpFile objects #} |
||||
{{ form.key }} |
||||
{# Hidden input uses in clean method for checking url #} |
||||
{{ form.article_id }} |
||||
|
||||
{# main_title #} |
||||
|
||||
{% include 'c_admin/forms/multilang.html' with field='main_title' form=form languages=languages %} |
||||
{# theme #} |
||||
<div class="control-group {% if form.theme.errors %}error{% endif %}"> |
||||
<label class="control-label"><b>{{ form.theme.label }}:</b></label> |
||||
<div class="controls"> |
||||
{{ form.theme }} |
||||
<span class="help-inline">{{ form.theme.errors }}</span> |
||||
</div> |
||||
</div> |
||||
{# tag #} |
||||
<div class="control-group {% if form.tag.errors %}error{% endif %}"> |
||||
<label class="control-label">{{ form.tag.label }}:</label> |
||||
<div class="controls"> |
||||
{{ form.tag }} |
||||
<span class="help-inline">{{ form.tag.errors }}</span> |
||||
</div> |
||||
</div> |
||||
{# preview #} |
||||
|
||||
{% include 'c_admin/forms/multilang.html' with field='preview' form=form languages=languages %} |
||||
|
||||
{# author #} |
||||
<div class="control-group {% if form.author.errors %}error{% endif %}"> |
||||
<label class="control-label">{{ form.author.label }}:</label> |
||||
<div class="controls"> |
||||
{{ form.author }} |
||||
<span class="help-inline">{{ form.author.errors }}</span> |
||||
</div> |
||||
</div> |
||||
{# description #} |
||||
{% include 'c_admin/forms/multilang.html' with field='description' form=form languages=languages %} |
||||
{# keywords #} |
||||
|
||||
{% include 'c_admin/forms/multilang.html' with field='keywords' form=form languages=languages %} |
||||
|
||||
{# title #} |
||||
|
||||
{% include 'c_admin/forms/multilang.html' with field='title' form=form languages=languages %} |
||||
|
||||
{# descriptions #} |
||||
|
||||
{% include 'c_admin/forms/multilang.html' with field='descriptions' form=form languages=languages %} |
||||
|
||||
</div> |
||||
|
||||
</div> |
||||
<div class="box span8" id="file"> |
||||
<div class="box-header well"> |
||||
<h2><i class="icon-pencil"></i> Файлы</h2> |
||||
</div> |
||||
<div class="box-content"> |
||||
{# button that shows modal window with file form #} |
||||
<a href="#myModal" id="file_add" role="button" class="btn btn-info" data-toggle="modal">Добавить файл</a> |
||||
{# this div shows list of files and refreshes when new file added #} |
||||
<div id="file_list"> |
||||
<table class="table table-hover"> |
||||
|
||||
<thead> |
||||
<tr> |
||||
<td>id</td> |
||||
<td>Файл</td> |
||||
<td>Имя</td> |
||||
<td>Назначение</td> |
||||
<td></td> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
{% for file in files %} |
||||
|
||||
<tr> |
||||
<td>{{ file.id }}</td> |
||||
<td><img src="{{ file.file_path.url }}"></td> |
||||
<td>{{ file.file_name }}</td> |
||||
<td>{{ file.purpose }}</td> |
||||
<td> |
||||
<button class="btn btn-danger delete_file" value="{{ file.id }}"> |
||||
<i class="icon-trash icon-white"></i> Удалить |
||||
</button> |
||||
</td> |
||||
</tr> |
||||
|
||||
{% endfor %} |
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
|
||||
</div> |
||||
</div> |
||||
|
||||
<div class="controls"> |
||||
|
||||
<input class="btn btn-large btn-primary" type="submit" value="Добавить"> |
||||
<input class="btn btn-large" type="reset" value="Отмена"> |
||||
</div> |
||||
|
||||
</fieldset> |
||||
</form> |
||||
|
||||
|
||||
{# modal window #} |
||||
<div class="modal hide fade" id="myModal" > |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" id="close">×</button> |
||||
<h3>Добавить файл</h3> |
||||
</div> |
||||
|
||||
<div id="form_body"> |
||||
<div class="modal-body"> |
||||
<form method="post" class="form-horizontal" enctype="multipart/form-data" name="file_form" id="file_form" > {% csrf_token %} |
||||
|
||||
{# hidden inputs uses for comparing with Article form key#} |
||||
{{ file_form.key }} |
||||
{{ file_form.model }} |
||||
<input type="hidden" id="obj_id" value="{{ obj_id }}"> |
||||
{# file_path #} |
||||
<div class="control-group{% if file_form.file_path.errors %}error{% endif %}"> |
||||
<label class="control-label"><b>{{ file_form.file_path.label }}:</b></label> |
||||
<div class="controls">{{ file_form.file_path }} |
||||
<span class="help-inline">{{ file_form.file_path.errors }}</span> |
||||
</div> |
||||
</div> |
||||
{# file purpose #} |
||||
<div class="control-group{% if file_form.purpose.errors %}error{% endif %}"> |
||||
<label class="control-label"><b>{{ file_form.purpose.label }}:</b></label> |
||||
<div class="controls">{{ file_form.purpose }} |
||||
<span class="help-inline">{{ file_form.purpose.errors }}</span> |
||||
</div> |
||||
</div> |
||||
{# file_name #} |
||||
{% with field='file_name' form=file_form languages=languages %} |
||||
{% include 'c_admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
{# file_description #} |
||||
{% with field='description' form=file_form languages=languages %} |
||||
{% include 'c_admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
|
||||
</div> |
||||
|
||||
<div class="modal-footer"> |
||||
<div class="controls"> |
||||
<input class="btn btn-primary" type="submit" value="Добавить"> |
||||
<input type="reset" class="btn" value="Отменить" data-dismiss="modal"> |
||||
</form> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
</div> |
||||
|
||||
{% endblock %} |
||||
@ -1,69 +0,0 @@ |
||||
{% extends 'base.html' %} |
||||
{% block body %} |
||||
{% comment %} |
||||
Displays lists of all articles in the table |
||||
and creating buttons which can change each article |
||||
{% endcomment %} |
||||
|
||||
<div class="box span8"> |
||||
<div class="box-header well"> |
||||
<h2><i class="icon-arrow-down"></i>Список статей</h2> |
||||
</div> |
||||
<div class="box-content"> |
||||
<form class='form-search'> |
||||
{{ search_form.search_name }} |
||||
<button type="submit" class="btn">Найти</button> |
||||
</form> |
||||
<table class="table table-hover"> |
||||
<thead> |
||||
<tr> |
||||
|
||||
<th>Заголовок</th> |
||||
<th>Автор</th> |
||||
<th> </th> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
{% for item in objects %} |
||||
<tr> |
||||
|
||||
<td>{{ item.main_title }}</td> |
||||
<td>{% ifnotequal item.user None %}{{ item.user }} {% endifnotequal %}</td> |
||||
<td class="center sorting_1"> |
||||
<a class="btn-small btn-info" href="/admin/article/change/{{ item.url|lower }}"> |
||||
Изменить |
||||
</a> |
||||
</td> |
||||
|
||||
<td class="center sorting_1"> |
||||
<a class="btn-small btn-inverse" href="/admin/article/copy/{{ item.url|lower }}"> |
||||
Копировать |
||||
</a> |
||||
</td> |
||||
|
||||
<td> |
||||
<a class="btn-small btn-danger delete" href="/admin/article/delete/{{ item.url }}/"> |
||||
Удалить |
||||
</a> |
||||
</td> |
||||
</tr> |
||||
{% endfor %} |
||||
</tbody> |
||||
</table> |
||||
<a class="btn btn-success" href="/admin/article/add"><i class="icon-plus-sign icon-white"></i> Добавить статью</a> |
||||
</div> |
||||
|
||||
<div class="pagination pagination-centered"> |
||||
<ul> |
||||
{% if objects.has_previous %} |
||||
<li> <a href="?page={{ objects.previous_page_number }}">←</a></li> |
||||
{% endif %} |
||||
|
||||
{% if objects.has_next %} |
||||
<li><a href="?page={{ objects.next_page_number }}">→</a></li> |
||||
{% endif %} |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
|
||||
{% endblock %} |
||||
@ -1,31 +0,0 @@ |
||||
{% extends 'base.html' %} |
||||
{% load static %} |
||||
|
||||
{% block body %} |
||||
|
||||
<form method="post" class="form-horizontal" enctype="multipart/form-data" name="form1" id="form1"> {% csrf_token %} |
||||
<fieldset> |
||||
<legend><i class="icon-edit"></i> Настройки</legend> |
||||
<div class="box span8"> |
||||
<div class="box-header well"> |
||||
<h2><i class="icon-pencil"></i> Основные настройки</h2> |
||||
</div> |
||||
<div class="box-content"> |
||||
{# key #} |
||||
{% with field='hall_capacity_tmpl' form=form languages=languages %} |
||||
{% include 'c_admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<div class="controls"> |
||||
<input class="btn btn-large btn-primary" type="submit" value="Добавить"> |
||||
<input class="btn btn-large" type="reset" value="Отмена"> |
||||
</div> |
||||
|
||||
</fieldset> |
||||
</form> |
||||
|
||||
|
||||
{% endblock %} |
||||
@ -1,150 +0,0 @@ |
||||
{% extends 'base_catalog.html' %} |
||||
{% load static %} |
||||
{% load i18n %} |
||||
|
||||
{% block bread_scrumbs %} |
||||
<div class="bread-crumbs"> |
||||
<a href="/">{% trans 'Главная страница' %}</a> |
||||
<strong>{{ object.name }}</strong> |
||||
</div> |
||||
{% endblock %} |
||||
|
||||
{% block page_title %} |
||||
{% endblock %} |
||||
|
||||
{% if object.get_events %} |
||||
{% block head_scripts %} |
||||
{% include "client/includes/banners/tops_head_js.html" %} |
||||
{% endblock head_scripts %} |
||||
{% endif %} |
||||
|
||||
{% block content_list %} |
||||
<div class="m-article"> |
||||
<div class="item-wrap place clearfix"> |
||||
<aside> |
||||
<div class="i-pict"> |
||||
{% include 'client/includes/show_logo.html' with obj=object %} |
||||
</div> |
||||
</aside> |
||||
|
||||
<div class="i-info"> |
||||
<header> |
||||
<h1 class="i-title">{{ object.name }}</h1> |
||||
</header> |
||||
|
||||
<table class="country_table"> |
||||
<tr> |
||||
<td> |
||||
<ul> |
||||
{% if object.population %} |
||||
<li><strong>{% trans 'Население' %}:</strong><span>{{ object.population }} {% trans 'человек' %}</span></li> |
||||
{% endif %} |
||||
|
||||
{% if object.code_IATA %} |
||||
<li>Код IATA:<span>{{ object.code_IATA.code }}</span></li> |
||||
{% endif %} |
||||
|
||||
{% if object.phone_code %} |
||||
<li>{% trans 'Телефонный код' %}:<span>+{{ object.phone_code }}</span></li> |
||||
{% endif %} |
||||
{% if object.transport %} |
||||
<li><i>{% trans 'Транспорт' %}:</i><span>{{ object.transport }}</span></li> |
||||
{% endif %} |
||||
</ul> |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
|
||||
<div class="i-address map-opened country_map"> |
||||
|
||||
<div class="i-map"> |
||||
<!-- позиция для карты задается в атрибуте data-coords --> |
||||
<div class="map-canvas" id="map-canvas" data-coords="{{ object.latitude|stringformat:'f' }},{{ object.longitude|stringformat:'f' }}" ></div> |
||||
<div class="close-map"><a class="toggle-map" href="#">{% trans 'Скрыть карту' %}</a></div> |
||||
</div> |
||||
<header> |
||||
<div class="show-map show-map_1"><a class="toggle-map" href="#">{% trans 'Раскрыть карту' %}</a></div> |
||||
</header> |
||||
</div> |
||||
|
||||
</div> |
||||
</div> |
||||
<table class="map_info_block"> |
||||
{% if object.famous_places %} |
||||
<tr> |
||||
<th>{% trans 'Должны посетить' %}:</th> |
||||
<td class="width_1"> |
||||
{{ object.famous_places }} |
||||
</td> |
||||
</tr> |
||||
{% endif %} |
||||
{% if object.shoping %} |
||||
<tr> |
||||
<th>{% trans 'Шоппинг' %}:</th> |
||||
<td class="width_1"> |
||||
{{ object.shoping }} |
||||
</td> |
||||
</tr> |
||||
{% endif %} |
||||
</table> |
||||
|
||||
{% if object.description %} |
||||
<hr /> |
||||
<div class="i-services country_content"> |
||||
<h2 class="sect-title">{% trans "Описание" %}</h2> |
||||
<div class="i-descr"> |
||||
{{ object.description }} |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
|
||||
{% if object.get_photos %} |
||||
<div class="i-photo-slides i-photo-slides_1"> |
||||
<h2 class="sect-title">{% trans "Фотогалерея" %}</h2> |
||||
<div id="ps-photo-gallery" class="ps-photo-gallery swiper-container"> |
||||
<ul class="swiper-wrapper"> |
||||
|
||||
<li class="swiper-slide"><img src="img/_del-temp/place-photo-1.jpg" alt="" /></li> |
||||
<li class="swiper-slide"><img src="img/_del-temp/event-photo-1.jpg" alt="" /></li> |
||||
|
||||
</ul> |
||||
<div class="re-controls"> |
||||
<a class="prev" href="#"><</a> |
||||
<a class="next" href="#">></a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
|
||||
{% if object.get_events %} |
||||
<br> |
||||
<div class="i-events-list"> |
||||
<div class="sect-title blog_link"> |
||||
<a href="#" title="">{% trans 'События в' %} {{ object.name }}</a><a class="button more" href="{{ object.events_catalog }}">{% trans 'Все события' %}</a> |
||||
</div> |
||||
{% include 'includes/exposition/exposition_list.html' with object_list=object.get_events %} |
||||
</div> |
||||
{% endif %} |
||||
|
||||
{% if object.get_places %} |
||||
<br> |
||||
<div class="i-events-list"> |
||||
<div class="sect-title blog_link"> |
||||
<a href="#" title="">{% trans 'Места в' %} {{ object.name }}</a><a class="button more" href="{{ object.places_catalog }}">{% trans 'Все места' %}</a> |
||||
</div> |
||||
{% include 'includes/place/place_list.html' with object_list=object.get_places %} |
||||
</div> |
||||
{% endif %} |
||||
|
||||
{% if object.get_organisers %} |
||||
<br> |
||||
<div class="i-events-list"> |
||||
<div class="sect-title blog_link"> |
||||
<a href="#" title="">{% trans 'Организаторы в' %} {{ object.name }}</a><a class="button more" href="#">{% trans 'Все организаторы' %} </a> |
||||
</div> |
||||
{% include 'includes/organiser/organiser_list.html' with object_list=object.get_organisers %} |
||||
</div> |
||||
{% endif %} |
||||
|
||||
{% endblock %} |
||||
@ -1,61 +1,56 @@ |
||||
{% load static %} |
||||
{% load i18n %} |
||||
{% load static i18n %} |
||||
|
||||
{% with objects=object_list %} |
||||
{% include 'client/includes/banners/tops.html' %} |
||||
<ul class="cat-list cl-places"> |
||||
{% for object in object_list %} |
||||
<li class="cl-item"> |
||||
<div class="cl-item-wrap clearfix"> |
||||
<a target="_blank" href="{{ object.get_permanent_url }}"> |
||||
<div class="cli-pict"> |
||||
{% with obj=object %} |
||||
{% include 'client/includes/show_logo.html' %} |
||||
{% endwith %} |
||||
</div> |
||||
</a> |
||||
<div class="cli-info"> |
||||
<div class="cli-top clearfix"> |
||||
{% include 'client/includes/banners/tops.html' %} |
||||
<ul class="cat-list cl-places"> |
||||
{% for object in object_list %} |
||||
<li class="cl-item"> |
||||
<div class="cl-item-wrap clearfix"> |
||||
<a target="_blank" href="{{ object.get_permanent_url }}"> |
||||
<div class="cli-pict"> |
||||
{% include 'client/includes/show_logo.html' with obj=object %} |
||||
</div> |
||||
</a> |
||||
<div class="cli-info"> |
||||
<div class="cli-top clearfix"> |
||||
|
||||
<header> |
||||
<div class="cli-title"><a target="_blank" href="{{ object.get_permanent_url }}">{{ object.name|safe }}</a></div> |
||||
<!--<div class="cli-rate">{{ object.rating }}</div>--> |
||||
</header> |
||||
<header> |
||||
<div class="cli-title"><a target="_blank" href="{{ object.get_permanent_url }}">{{ object.name|safe }}</a></div> |
||||
{# <div class="cli-rate">{{ object.rating }}</div>#} |
||||
</header> |
||||
|
||||
<div class="cli-descr">{{ object.get_type }}</div> |
||||
</div> |
||||
<div class="cli-descr">{{ object.get_type }}</div> |
||||
</div> |
||||
|
||||
<div class="cli-bot clearfix"> |
||||
{% if object.total_area %} |
||||
<div class="cli-dim">{{ object.total_area }} м2</div> |
||||
{% endif %} |
||||
<div class="cli-place"><a href="/places/country/{{ object.country.url }}/">{{ object.country }}</a>, <a href="/places/city/{{ object.city.url }}/">{{ object.city }}</a> |
||||
</div> |
||||
</div> |
||||
<div class="cli-bot clearfix"> |
||||
{% if object.total_area %} |
||||
<div class="cli-dim">{{ object.total_area }} м2</div> |
||||
{% endif %} |
||||
<div class="cli-place"><a href="/places/country/{{ object.country.url }}/">{{ object.country }}</a>, <a href="/places/city/{{ object.city.url }}/">{{ object.city }}</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="cli-buttons clearfix"> |
||||
<div class="cli-m-buttons"> |
||||
<a class="button icon-info" href="{{ object.get_permanent_url }}">{% trans 'описание' %}</a> |
||||
{% if object.get_events_number %} |
||||
<a class="button green icon-list" href="#">{% trans 'события' %} ({{ object.get_events_number }})</a> |
||||
{% endif %} |
||||
{% if object.photogallery %} |
||||
<a class="button blue icon-photo" href="{{ object.get_permanent_url }}photo/">{% trans 'фото' %}</a> |
||||
{% endif %} |
||||
</div> |
||||
<div class="cli-s-buttons"> |
||||
<a class="button blue2 lc" target="_blank" href="http://www.booking.com/searchresults.html?aid={{ book_aid }}&city={{ object.city.id }}">{% trans 'Найти отели поблизости' %}</a> |
||||
</div> |
||||
<div class="cli-buttons clearfix"> |
||||
<div class="cli-m-buttons"> |
||||
<a class="button icon-info" href="{{ object.get_permanent_url }}">{% trans 'описание' %}</a> |
||||
{% if object.get_events_number %} |
||||
<a class="button green icon-list" href="{% url 'place_exposition_list' object.url %}">{% trans 'события' %} ({{ object.get_events_number }})</a> |
||||
{% endif %} |
||||
{% if object.photogallery %} |
||||
<a class="button blue icon-photo" href="{{ object.get_permanent_url }}photo/">{% trans 'фото' %}</a> |
||||
{% endif %} |
||||
</div> |
||||
<div class="cli-s-buttons"> |
||||
<a class="button blue2 lc" target="_blank" href="http://www.booking.com/searchresults.html?aid={{ book_aid }}&city={{ object.city.id }}">{% trans 'Найти отели поблизости' %}</a> |
||||
</div> |
||||
</li> |
||||
{% if forloop.counter == 5 or objects|length < 5 %} |
||||
{% include 'client/includes/banners/catalog_inner_2.html' %} |
||||
{% endif %} |
||||
</div> |
||||
</li> |
||||
{% if forloop.counter == 5 or object_list|length < 5 %} |
||||
{% include 'client/includes/banners/catalog_inner_2.html' %} |
||||
{% endif %} |
||||
|
||||
{% if forloop.counter == 10 %} |
||||
{% include 'client/includes/banners/catalog_inner.html' %} |
||||
{%endif %} |
||||
{% endfor %} |
||||
</ul> |
||||
{% endwith %} |
||||
{% if forloop.counter == 10 %} |
||||
{% include 'client/includes/banners/catalog_inner.html' %} |
||||
{%endif %} |
||||
{% endfor %} |
||||
</ul> |
||||
|
||||
Loading…
Reference in new issue