Created
May 10, 2011 04:43
-
-
Save razum2um/963909 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| commit ce951e47a176ed6d460231e4f4606af443096b37 | |
| Author: Vlad Bokov <[email protected]> | |
| Date: Mon May 9 21:56:12 2011 +0700 | |
| banners block | |
| diff --git a/.gitignore b/.gitignore | |
| index 5f2338a..0235339 100644 | |
| --- a/.gitignore | |
| +++ b/.gitignore | |
| @@ -5,3 +5,4 @@ | |
| /media/cms/* | |
| /media/uploads/* | |
| /search_index/* | |
| +testproject | |
| diff --git a/cms/admin.py b/cms/admin.py | |
| index e2ac1bf..7e84d77 100644 | |
| --- a/cms/admin.py | |
| +++ b/cms/admin.py | |
| @@ -227,3 +227,7 @@ if "gallery" in getattr(settings, 'CMS_ENABLED_TYPES', []): | |
| admin.site.register(Image, ImageAdmin) | |
| cms.settings.CMS_ADMIN_MATERIALS.append('cms.models.Image') | |
| +if "Banner" not in getattr(settings, 'CMS_EXCLUDE_BLOCKS', ["Banner"]): | |
| + cms.settings.CMS_ADMIN_STRUCTURE.append('cms.models.Banner') | |
| + admin.site.register(Banner) | |
| + | |
| diff --git a/cms/blocks/Banner/forms.py b/cms/blocks/Banner/forms.py | |
| index 4838910..551376c 100644 | |
| --- a/cms/blocks/Banner/forms.py | |
| +++ b/cms/blocks/Banner/forms.py | |
| @@ -4,11 +4,14 @@ from django import forms | |
| from django.contrib.admin.widgets import AdminFileWidget | |
| from django.utils.translation import ugettext_lazy as _ | |
| +from cms.models import Banner | |
| -class BannerConfigForm(forms.Form): | |
| - banner_title = forms.CharField(label=_('Title'), max_length=180, required=True) | |
| - image = forms.ImageField(label=_('Image'), widget=AdminFileWidget()) | |
| - link = forms.URLField(label=_('Link'), max_length=180, required=True) | |
| - size = forms.CharField(label=_('Size'), max_length=50, required=False, help_text=_('Image\'ll resize to this values. Example: 100x100 or 100x0')) | |
| +class BannerConfigForm(forms.ModelForm): | |
| + class Meta: | |
| + model = Banner | |
| + #banner_title = forms.CharField(label=_('Title'), max_length=180, required=True) | |
| + #image = forms.ImageField(label=_('Image'), widget=AdminFileWidget()) | |
| + #link = forms.URLField(label=_('Link'), max_length=180, required=True) | |
| + #size = forms.CharField(label=_('Size'), max_length=50, required=False, help_text=_('Image\'ll resize to this values. Example: 100x100 or 100x0')) | |
| diff --git a/cms/blocks/Banner/views.py b/cms/blocks/Banner/views.py | |
| index 1b443e7..ad916ac 100644 | |
| --- a/cms/blocks/Banner/views.py | |
| +++ b/cms/blocks/Banner/views.py | |
| @@ -1,37 +1,69 @@ | |
| # -*- coding: utf-8 -*- | |
| -from sugar.views.decorators import render_from, render_to | |
| -from cms.blocks.Banner.forms import BannerConfigForm | |
| -from django.http import HttpResponseRedirect | |
| import os.path | |
| +from datetime import datetime | |
| + | |
| +from django.http import HttpResponseRedirect | |
| from django.conf import settings | |
| from django.core.files import File | |
| from django.core.files.storage import default_storage | |
| +from django.db.models import Q | |
| +from django.utils.safestring import mark_safe | |
| + | |
| +from sugar.views.decorators import render_from, render_to | |
| + | |
| +from cms.models import Banner | |
| +from cms.blocks.Banner.forms import BannerConfigForm | |
| -@render_from('cms/banner_block.html') | |
| def default(request, block): | |
| - if isinstance(block.data, dict): | |
| - block.data['title'] = block.title | |
| - return block.data | |
| - return "" | |
| + ''' | |
| + no rendering template, get html from db | |
| + sad and not true | |
| + ''' | |
| + now = datetime.now() | |
| + | |
| + weekday = now.date().weekday() # int | |
| + weekday_regexp = ['.']*7 | |
| + weekday_regexp[weekday] = '1' | |
| + weekday_regexp = ''.join(weekday_regexp) | |
| + | |
| + hour = now.hour # int | |
| + hours_regexp = ['.']*24 | |
| + hours_regexp[hour] = '1' | |
| + hours_regexp = ''.join(hours_regexp) | |
| + | |
| + blocks = Banner.objects.all() | |
| + blocks = blocks.filter(Q(num_shows_left=None)|Q(num_shows_left__gt=0)) | |
| + blocks = blocks.filter(start_dt__lte=now.date()).filter(stop_dt__gte=now.date()) | |
| + # no regex in sqlite? | |
| + blocks = blocks.filter(mode_hours__regex=hours_regexp).filter(mode_weekday__regex=weekday_regexp) | |
| + blocks = blocks.order_by('?') | |
| + block = blocks[0] # db-hit here | |
| + if block.num_shows_left: | |
| + block.num_shows_left -= 1 | |
| + # TODO: wtf?? forced saving needed, | |
| + # otherwise got no '/banners/' into path | |
| + block.save() | |
| + resp = block.html | |
| + return mark_safe(resp) | |
| @render_to('admin/cms/block_config.html') | |
| def configure(request, block): | |
| - if request.method == 'POST': | |
| - form = BannerConfigForm(request.POST, request.FILES) | |
| - if form.is_valid(): | |
| - image = form.files['image'] | |
| - path = default_storage.save(os.path.join("cms/banners/", image.name), image) | |
| - block.data = form.cleaned_data | |
| - block.data['image'] = path | |
| - block.save() | |
| - return HttpResponseRedirect('../') | |
| - else: | |
| - if not block.data == '': | |
| - files = {} | |
| - if block.data.has_key('image'): | |
| - files['image'] = default_storage.open(block.data['image']) | |
| - form = BannerConfigForm(block.data, files) | |
| - else: | |
| - form = BannerConfigForm() | |
| + form = BannerConfigForm(request.POST or None, request.FILES or None) | |
| + if form.is_valid(): | |
| + #image = form.files['image'] | |
| + #path = default_storage.save(os.path.join("cms/banners/", image.name), image) | |
| + #block.data = form.cleaned_data | |
| + #block.data['image'] = path | |
| + #block.save() | |
| + form.save() | |
| + return HttpResponseRedirect('../') | |
| + | |
| + #if not block.data == '': | |
| + #files = {} | |
| + #if block.data.has_key('image'): | |
| + #files['image'] = default_storage.open(block.data['image']) | |
| + #form = BannerConfigForm(block.data, files) | |
| + #else: | |
| + #form = BannerConfigForm() | |
| return {'block_obj': block, 'form': form} | |
| diff --git a/cms/context_processors.py b/cms/context_processors.py | |
| index fa741d9..830d522 100644 | |
| --- a/cms/context_processors.py | |
| +++ b/cms/context_processors.py | |
| @@ -1,5 +1,7 @@ | |
| # -*- coding: utf-8 -*- | |
| +from datetime import datetime | |
| + | |
| from django.core.context_processors import request | |
| from django.conf import settings | |
| from cms.models import MenuItem, Link | |
| @@ -28,3 +30,6 @@ def mitem_by_url(request): | |
| return {'menu_item':mitem, 'breadcrumb_mitem':breadcrumb_mitem} | |
| else: | |
| return {} | |
| + | |
| +def now_sec(request): | |
| + return {'now_sec': datetime.now().strftime('%s')} | |
| diff --git a/cms/migrations/0018_auto__add_banner.py b/cms/migrations/0018_auto__add_banner.py | |
| new file mode 100644 | |
| index 0000000..0643f9a | |
| --- /dev/null | |
| +++ b/cms/migrations/0018_auto__add_banner.py | |
| @@ -0,0 +1,158 @@ | |
| +# encoding: utf-8 | |
| +import datetime | |
| +from south.db import db | |
| +from south.v2 import SchemaMigration | |
| +from django.db import models | |
| + | |
| +class Migration(SchemaMigration): | |
| + | |
| + def forwards(self, orm): | |
| + | |
| + # Adding model 'Banner' | |
| + db.create_table('cms_banner', ( | |
| + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| + ('num_shows_left', self.gf('django.db.models.fields.IntegerField')(null=True)), | |
| + ('start_dt', self.gf('django.db.models.fields.DateTimeField')()), | |
| + ('stop_dt', self.gf('django.db.models.fields.DateTimeField')()), | |
| + ('banner', self.gf('django.db.models.fields.files.FileField')(max_length=100, null=True, blank=True)), | |
| + ('alt_text', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)), | |
| + ('html', self.gf('django.db.models.fields.CharField')(max_length=255)), | |
| + ('mode_hours', self.gf('django.db.models.fields.CharField')(default='111111111111111111111111', max_length=24)), | |
| + ('mode_weekday', self.gf('django.db.models.fields.CharField')(default='1111111', max_length=7)), | |
| + ('referals', self.gf('django.db.models.fields.IntegerField')(default=0)), | |
| + )) | |
| + db.send_create_signal('cms', ['Banner']) | |
| + | |
| + | |
| + def backwards(self, orm): | |
| + | |
| + # Deleting model 'Banner' | |
| + db.delete_table('cms_banner') | |
| + | |
| + | |
| + models = { | |
| + 'cms.article': { | |
| + 'Meta': {'object_name': 'Article'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'list_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cms_article_type'", 'to': "orm['cms.ListType']"}), | |
| + 'menu_items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'cms_article_items'", 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.banner': { | |
| + 'Meta': {'object_name': 'Banner'}, | |
| + 'alt_text': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), | |
| + 'banner': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| + 'html': ('django.db.models.fields.CharField', [], {'max_length': '255'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'mode_hours': ('django.db.models.fields.CharField', [], {'default': "'111111111111111111111111'", 'max_length': '24'}), | |
| + 'mode_weekday': ('django.db.models.fields.CharField', [], {'default': "'1111111'", 'max_length': '7'}), | |
| + 'num_shows_left': ('django.db.models.fields.IntegerField', [], {'null': 'True'}), | |
| + 'referals': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| + 'start_dt': ('django.db.models.fields.DateTimeField', [], {}), | |
| + 'stop_dt': ('django.db.models.fields.DateTimeField', [], {}) | |
| + }, | |
| + 'cms.block': { | |
| + 'Meta': {'object_name': 'Block'}, | |
| + 'data': ('cms.fields.PickledObjectField', [], {'default': "''", 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'region': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'view': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'visible_on': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'blocks'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'weight': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) | |
| + }, | |
| + 'cms.gallery': { | |
| + 'Meta': {'object_name': 'Gallery'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['cms.Gallery']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) | |
| + }, | |
| + 'cms.image': { | |
| + 'Meta': {'object_name': 'Image'}, | |
| + 'gallery': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'images'", 'to': "orm['cms.Gallery']"}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}) | |
| + }, | |
| + 'cms.link': { | |
| + 'Meta': {'object_name': 'Link'}, | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'redirect': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'url': ('django.db.models.fields.CharField', [], {'max_length': '200'}) | |
| + }, | |
| + 'cms.listtype': { | |
| + 'Meta': {'object_name': 'ListType'}, | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.menuitem': { | |
| + 'Meta': {'object_name': 'MenuItem'}, | |
| + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}), | |
| + 'full_url': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['cms.MenuItem']"}), | |
| + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) | |
| + }, | |
| + 'cms.news': { | |
| + 'Meta': {'object_name': 'News'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'date': ('django.db.models.fields.DateTimeField', [], {}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'list_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cms_news_type'", 'to': "orm['cms.ListType']"}), | |
| + 'menu_items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'cms_news_items'", 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.page': { | |
| + 'Meta': {'object_name': 'Page'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + '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'}), | |
| + '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'}) | |
| + } | |
| + } | |
| + | |
| + complete_apps = ['cms'] | |
| diff --git a/cms/migrations/0019_auto__chg_field_banner_referals.py b/cms/migrations/0019_auto__chg_field_banner_referals.py | |
| new file mode 100644 | |
| index 0000000..9022873 | |
| --- /dev/null | |
| +++ b/cms/migrations/0019_auto__chg_field_banner_referals.py | |
| @@ -0,0 +1,146 @@ | |
| +# encoding: utf-8 | |
| +import datetime | |
| +from south.db import db | |
| +from south.v2 import SchemaMigration | |
| +from django.db import models | |
| + | |
| +class Migration(SchemaMigration): | |
| + | |
| + def forwards(self, orm): | |
| + | |
| + # Changing field 'Banner.referals' | |
| + db.alter_column('cms_banner', 'referals', self.gf('django.db.models.fields.IntegerField')(null=True)) | |
| + | |
| + | |
| + def backwards(self, orm): | |
| + | |
| + # Changing field 'Banner.referals' | |
| + db.alter_column('cms_banner', 'referals', self.gf('django.db.models.fields.IntegerField')()) | |
| + | |
| + | |
| + models = { | |
| + 'cms.article': { | |
| + 'Meta': {'object_name': 'Article'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'list_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cms_article_type'", 'to': "orm['cms.ListType']"}), | |
| + 'menu_items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'cms_article_items'", 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.banner': { | |
| + 'Meta': {'object_name': 'Banner'}, | |
| + 'alt_text': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), | |
| + 'banner': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| + 'html': ('django.db.models.fields.CharField', [], {'max_length': '255'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'mode_hours': ('django.db.models.fields.CharField', [], {'default': "'111111111111111111111111'", 'max_length': '24'}), | |
| + 'mode_weekday': ('django.db.models.fields.CharField', [], {'default': "'1111111'", 'max_length': '7'}), | |
| + 'num_shows_left': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'referals': ('django.db.models.fields.IntegerField', [], {'default': '0', 'null': 'True', 'blank': 'True'}), | |
| + 'start_dt': ('django.db.models.fields.DateTimeField', [], {}), | |
| + 'stop_dt': ('django.db.models.fields.DateTimeField', [], {}) | |
| + }, | |
| + 'cms.block': { | |
| + 'Meta': {'object_name': 'Block'}, | |
| + 'data': ('cms.fields.PickledObjectField', [], {'default': "''", 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'region': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'view': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'visible_on': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'blocks'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'weight': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) | |
| + }, | |
| + 'cms.gallery': { | |
| + 'Meta': {'object_name': 'Gallery'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['cms.Gallery']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) | |
| + }, | |
| + 'cms.image': { | |
| + 'Meta': {'object_name': 'Image'}, | |
| + 'gallery': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'images'", 'to': "orm['cms.Gallery']"}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}) | |
| + }, | |
| + 'cms.link': { | |
| + 'Meta': {'object_name': 'Link'}, | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'redirect': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'url': ('django.db.models.fields.CharField', [], {'max_length': '200'}) | |
| + }, | |
| + 'cms.listtype': { | |
| + 'Meta': {'object_name': 'ListType'}, | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.menuitem': { | |
| + 'Meta': {'object_name': 'MenuItem'}, | |
| + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}), | |
| + 'full_url': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['cms.MenuItem']"}), | |
| + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) | |
| + }, | |
| + 'cms.news': { | |
| + 'Meta': {'object_name': 'News'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'date': ('django.db.models.fields.DateTimeField', [], {}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'list_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cms_news_type'", 'to': "orm['cms.ListType']"}), | |
| + 'menu_items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'cms_news_items'", 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.page': { | |
| + 'Meta': {'object_name': 'Page'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + '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'}), | |
| + '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'}) | |
| + } | |
| + } | |
| + | |
| + complete_apps = ['cms'] | |
| diff --git a/cms/migrations/0020_auto__chg_field_banner_html.py b/cms/migrations/0020_auto__chg_field_banner_html.py | |
| new file mode 100644 | |
| index 0000000..414fa7e | |
| --- /dev/null | |
| +++ b/cms/migrations/0020_auto__chg_field_banner_html.py | |
| @@ -0,0 +1,146 @@ | |
| +# encoding: utf-8 | |
| +import datetime | |
| +from south.db import db | |
| +from south.v2 import SchemaMigration | |
| +from django.db import models | |
| + | |
| +class Migration(SchemaMigration): | |
| + | |
| + def forwards(self, orm): | |
| + | |
| + # Changing field 'Banner.html' | |
| + db.alter_column('cms_banner', 'html', self.gf('django.db.models.fields.TextField')(max_length=255, null=True)) | |
| + | |
| + | |
| + def backwards(self, orm): | |
| + | |
| + # User chose to not deal with backwards NULL issues for 'Banner.html' | |
| + raise RuntimeError("Cannot reverse this migration. 'Banner.html' and its values cannot be restored.") | |
| + | |
| + | |
| + models = { | |
| + 'cms.article': { | |
| + 'Meta': {'object_name': 'Article'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'list_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cms_article_type'", 'to': "orm['cms.ListType']"}), | |
| + 'menu_items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'cms_article_items'", 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.banner': { | |
| + 'Meta': {'object_name': 'Banner'}, | |
| + 'alt_text': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), | |
| + 'banner': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| + 'html': ('django.db.models.fields.TextField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'mode_hours': ('django.db.models.fields.CharField', [], {'default': "'111111111111111111111111'", 'max_length': '24'}), | |
| + 'mode_weekday': ('django.db.models.fields.CharField', [], {'default': "'1111111'", 'max_length': '7'}), | |
| + 'num_shows_left': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'referals': ('django.db.models.fields.IntegerField', [], {'default': '0', 'null': 'True', 'blank': 'True'}), | |
| + 'start_dt': ('django.db.models.fields.DateTimeField', [], {}), | |
| + 'stop_dt': ('django.db.models.fields.DateTimeField', [], {}) | |
| + }, | |
| + 'cms.block': { | |
| + 'Meta': {'object_name': 'Block'}, | |
| + 'data': ('cms.fields.PickledObjectField', [], {'default': "''", 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'region': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'view': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'visible_on': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'blocks'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'weight': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) | |
| + }, | |
| + 'cms.gallery': { | |
| + 'Meta': {'object_name': 'Gallery'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['cms.Gallery']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) | |
| + }, | |
| + 'cms.image': { | |
| + 'Meta': {'object_name': 'Image'}, | |
| + 'gallery': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'images'", 'to': "orm['cms.Gallery']"}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}) | |
| + }, | |
| + 'cms.link': { | |
| + 'Meta': {'object_name': 'Link'}, | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'redirect': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'url': ('django.db.models.fields.CharField', [], {'max_length': '200'}) | |
| + }, | |
| + 'cms.listtype': { | |
| + 'Meta': {'object_name': 'ListType'}, | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.menuitem': { | |
| + 'Meta': {'object_name': 'MenuItem'}, | |
| + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}), | |
| + 'full_url': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['cms.MenuItem']"}), | |
| + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) | |
| + }, | |
| + 'cms.news': { | |
| + 'Meta': {'object_name': 'News'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'date': ('django.db.models.fields.DateTimeField', [], {}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'list_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cms_news_type'", 'to': "orm['cms.ListType']"}), | |
| + 'menu_items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'cms_news_items'", 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.page': { | |
| + 'Meta': {'object_name': 'Page'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + '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'}), | |
| + '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'}) | |
| + } | |
| + } | |
| + | |
| + complete_apps = ['cms'] | |
| diff --git a/cms/migrations/0021_auto__chg_field_banner_html.py b/cms/migrations/0021_auto__chg_field_banner_html.py | |
| new file mode 100644 | |
| index 0000000..12b97fc | |
| --- /dev/null | |
| +++ b/cms/migrations/0021_auto__chg_field_banner_html.py | |
| @@ -0,0 +1,146 @@ | |
| +# encoding: utf-8 | |
| +import datetime | |
| +from south.db import db | |
| +from south.v2 import SchemaMigration | |
| +from django.db import models | |
| + | |
| +class Migration(SchemaMigration): | |
| + | |
| + def forwards(self, orm): | |
| + | |
| + # Changing field 'Banner.html' | |
| + db.alter_column('cms_banner', 'html', self.gf('django.db.models.fields.TextField')(null=True)) | |
| + | |
| + | |
| + def backwards(self, orm): | |
| + | |
| + # Changing field 'Banner.html' | |
| + db.alter_column('cms_banner', 'html', self.gf('django.db.models.fields.TextField')(max_length=255, null=True)) | |
| + | |
| + | |
| + models = { | |
| + 'cms.article': { | |
| + 'Meta': {'object_name': 'Article'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'list_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cms_article_type'", 'to': "orm['cms.ListType']"}), | |
| + 'menu_items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'cms_article_items'", 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.banner': { | |
| + 'Meta': {'object_name': 'Banner'}, | |
| + 'alt_text': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), | |
| + 'banner': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| + 'html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'mode_hours': ('django.db.models.fields.CharField', [], {'default': "'111111111111111111111111'", 'max_length': '24'}), | |
| + 'mode_weekday': ('django.db.models.fields.CharField', [], {'default': "'1111111'", 'max_length': '7'}), | |
| + 'num_shows_left': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'referals': ('django.db.models.fields.IntegerField', [], {'default': '0', 'null': 'True', 'blank': 'True'}), | |
| + 'start_dt': ('django.db.models.fields.DateTimeField', [], {}), | |
| + 'stop_dt': ('django.db.models.fields.DateTimeField', [], {}) | |
| + }, | |
| + 'cms.block': { | |
| + 'Meta': {'object_name': 'Block'}, | |
| + 'data': ('cms.fields.PickledObjectField', [], {'default': "''", 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'region': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'view': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'visible_on': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'blocks'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'weight': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) | |
| + }, | |
| + 'cms.gallery': { | |
| + 'Meta': {'object_name': 'Gallery'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['cms.Gallery']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) | |
| + }, | |
| + 'cms.image': { | |
| + 'Meta': {'object_name': 'Image'}, | |
| + 'gallery': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'images'", 'to': "orm['cms.Gallery']"}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}) | |
| + }, | |
| + 'cms.link': { | |
| + 'Meta': {'object_name': 'Link'}, | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'redirect': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'url': ('django.db.models.fields.CharField', [], {'max_length': '200'}) | |
| + }, | |
| + 'cms.listtype': { | |
| + 'Meta': {'object_name': 'ListType'}, | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.menuitem': { | |
| + 'Meta': {'object_name': 'MenuItem'}, | |
| + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}), | |
| + 'full_url': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['cms.MenuItem']"}), | |
| + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) | |
| + }, | |
| + 'cms.news': { | |
| + 'Meta': {'object_name': 'News'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'date': ('django.db.models.fields.DateTimeField', [], {}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'list_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cms_news_type'", 'to': "orm['cms.ListType']"}), | |
| + 'menu_items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'cms_news_items'", 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.page': { | |
| + 'Meta': {'object_name': 'Page'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + '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'}), | |
| + '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'}) | |
| + } | |
| + } | |
| + | |
| + complete_apps = ['cms'] | |
| diff --git a/cms/migrations/0022_auto__add_field_banner_link.py b/cms/migrations/0022_auto__add_field_banner_link.py | |
| new file mode 100644 | |
| index 0000000..2d6d7fe | |
| --- /dev/null | |
| +++ b/cms/migrations/0022_auto__add_field_banner_link.py | |
| @@ -0,0 +1,147 @@ | |
| +# encoding: utf-8 | |
| +import datetime | |
| +from south.db import db | |
| +from south.v2 import SchemaMigration | |
| +from django.db import models | |
| + | |
| +class Migration(SchemaMigration): | |
| + | |
| + def forwards(self, orm): | |
| + | |
| + # Adding field 'Banner.link' | |
| + db.add_column('cms_banner', 'link', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True), keep_default=False) | |
| + | |
| + | |
| + def backwards(self, orm): | |
| + | |
| + # Deleting field 'Banner.link' | |
| + db.delete_column('cms_banner', 'link') | |
| + | |
| + | |
| + models = { | |
| + 'cms.article': { | |
| + 'Meta': {'object_name': 'Article'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'list_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cms_article_type'", 'to': "orm['cms.ListType']"}), | |
| + 'menu_items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'cms_article_items'", 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.banner': { | |
| + 'Meta': {'object_name': 'Banner'}, | |
| + 'alt_text': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), | |
| + 'banner': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| + 'html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'link': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), | |
| + 'mode_hours': ('django.db.models.fields.CharField', [], {'default': "'111111111111111111111111'", 'max_length': '24'}), | |
| + 'mode_weekday': ('django.db.models.fields.CharField', [], {'default': "'1111111'", 'max_length': '7'}), | |
| + 'num_shows_left': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'referals': ('django.db.models.fields.IntegerField', [], {'default': '0', 'null': 'True', 'blank': 'True'}), | |
| + 'start_dt': ('django.db.models.fields.DateTimeField', [], {}), | |
| + 'stop_dt': ('django.db.models.fields.DateTimeField', [], {}) | |
| + }, | |
| + 'cms.block': { | |
| + 'Meta': {'object_name': 'Block'}, | |
| + 'data': ('cms.fields.PickledObjectField', [], {'default': "''", 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'region': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'view': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'visible_on': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'blocks'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'weight': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) | |
| + }, | |
| + 'cms.gallery': { | |
| + 'Meta': {'object_name': 'Gallery'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['cms.Gallery']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) | |
| + }, | |
| + 'cms.image': { | |
| + 'Meta': {'object_name': 'Image'}, | |
| + 'gallery': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'images'", 'to': "orm['cms.Gallery']"}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}) | |
| + }, | |
| + 'cms.link': { | |
| + 'Meta': {'object_name': 'Link'}, | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'redirect': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'url': ('django.db.models.fields.CharField', [], {'max_length': '200'}) | |
| + }, | |
| + 'cms.listtype': { | |
| + 'Meta': {'object_name': 'ListType'}, | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.menuitem': { | |
| + 'Meta': {'object_name': 'MenuItem'}, | |
| + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}), | |
| + 'full_url': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['cms.MenuItem']"}), | |
| + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) | |
| + }, | |
| + 'cms.news': { | |
| + 'Meta': {'object_name': 'News'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'date': ('django.db.models.fields.DateTimeField', [], {}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'list_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cms_news_type'", 'to': "orm['cms.ListType']"}), | |
| + 'menu_items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'cms_news_items'", 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.page': { | |
| + 'Meta': {'object_name': 'Page'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + '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'}), | |
| + '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'}) | |
| + } | |
| + } | |
| + | |
| + complete_apps = ['cms'] | |
| diff --git a/cms/migrations/0023_auto__chg_field_banner_stop_dt__chg_field_banner_start_dt.py b/cms/migrations/0023_auto__chg_field_banner_stop_dt__chg_field_banner_start_dt.py | |
| new file mode 100644 | |
| index 0000000..be69f8b | |
| --- /dev/null | |
| +++ b/cms/migrations/0023_auto__chg_field_banner_stop_dt__chg_field_banner_start_dt.py | |
| @@ -0,0 +1,153 @@ | |
| +# encoding: utf-8 | |
| +import datetime | |
| +from south.db import db | |
| +from south.v2 import SchemaMigration | |
| +from django.db import models | |
| + | |
| +class Migration(SchemaMigration): | |
| + | |
| + def forwards(self, orm): | |
| + | |
| + # Changing field 'Banner.stop_dt' | |
| + db.alter_column('cms_banner', 'stop_dt', self.gf('django.db.models.fields.DateField')()) | |
| + | |
| + # Changing field 'Banner.start_dt' | |
| + db.alter_column('cms_banner', 'start_dt', self.gf('django.db.models.fields.DateField')()) | |
| + | |
| + | |
| + def backwards(self, orm): | |
| + | |
| + # Changing field 'Banner.stop_dt' | |
| + db.alter_column('cms_banner', 'stop_dt', self.gf('django.db.models.fields.DateTimeField')()) | |
| + | |
| + # Changing field 'Banner.start_dt' | |
| + db.alter_column('cms_banner', 'start_dt', self.gf('django.db.models.fields.DateTimeField')()) | |
| + | |
| + | |
| + models = { | |
| + 'cms.article': { | |
| + 'Meta': {'object_name': 'Article'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'list_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cms_article_type'", 'to': "orm['cms.ListType']"}), | |
| + 'menu_items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'cms_article_items'", 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.banner': { | |
| + 'Meta': {'object_name': 'Banner'}, | |
| + 'alt_text': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), | |
| + 'banner': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| + 'html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'link': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), | |
| + 'mode_hours': ('django.db.models.fields.CharField', [], {'default': "'111111111111111111111111'", 'max_length': '24'}), | |
| + 'mode_weekday': ('django.db.models.fields.CharField', [], {'default': "'1111111'", 'max_length': '7'}), | |
| + 'num_shows_left': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'referals': ('django.db.models.fields.IntegerField', [], {'default': '0', 'null': 'True', 'blank': 'True'}), | |
| + 'start_dt': ('django.db.models.fields.DateField', [], {}), | |
| + 'stop_dt': ('django.db.models.fields.DateField', [], {}) | |
| + }, | |
| + 'cms.block': { | |
| + 'Meta': {'object_name': 'Block'}, | |
| + 'data': ('cms.fields.PickledObjectField', [], {'default': "''", 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'region': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'view': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'visible_on': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'blocks'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'weight': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) | |
| + }, | |
| + 'cms.gallery': { | |
| + 'Meta': {'object_name': 'Gallery'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['cms.Gallery']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) | |
| + }, | |
| + 'cms.image': { | |
| + 'Meta': {'object_name': 'Image'}, | |
| + 'gallery': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'images'", 'to': "orm['cms.Gallery']"}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}) | |
| + }, | |
| + 'cms.link': { | |
| + 'Meta': {'object_name': 'Link'}, | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'redirect': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'url': ('django.db.models.fields.CharField', [], {'max_length': '200'}) | |
| + }, | |
| + 'cms.listtype': { | |
| + 'Meta': {'object_name': 'ListType'}, | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.menuitem': { | |
| + 'Meta': {'object_name': 'MenuItem'}, | |
| + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']", 'null': 'True', 'blank': 'True'}), | |
| + 'full_url': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['cms.MenuItem']"}), | |
| + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}), | |
| + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) | |
| + }, | |
| + 'cms.news': { | |
| + 'Meta': {'object_name': 'News'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'date': ('django.db.models.fields.DateTimeField', [], {}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'list_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cms_news_type'", 'to': "orm['cms.ListType']"}), | |
| + 'menu_items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'cms_news_items'", 'symmetrical': 'False', 'to': "orm['cms.MenuItem']"}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + 'cms.page': { | |
| + 'Meta': {'object_name': 'Page'}, | |
| + 'body': ('django.db.models.fields.TextField', [], {}), | |
| + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| + 'image': ('cms.fields.RemovableImageField', [], {'max_length': '100', 'blank': 'True'}), | |
| + 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| + 'short': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), | |
| + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '250', 'blank': 'True'}), | |
| + 'template': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}), | |
| + 'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}) | |
| + }, | |
| + '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'}), | |
| + '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'}) | |
| + } | |
| + } | |
| + | |
| + complete_apps = ['cms'] | |
| diff --git a/cms/models.py b/cms/models.py | |
| index 9db8312..e50bd02 100644 | |
| --- a/cms/models.py | |
| +++ b/cms/models.py | |
| @@ -1,5 +1,8 @@ | |
| # -*- coding: utf-8 -*- | |
| +import os | |
| +import re | |
| + | |
| # Main Imports | |
| from django.db import models | |
| from django.db.models.base import ModelBase | |
| @@ -28,6 +31,8 @@ from fields import RemovableImageField | |
| from easy_thumbnails.files import get_thumbnailer | |
| +RE_IMAGE_FMT = re.compile(r'(%s)$' % '|'.join(settings.IMAGE_FORMATS)) | |
| +RE_FLASH_FMT = re.compile(r'(%s)$' % '|'.join(settings.FLASH_FORMATS)) | |
| class BaseMovedModel(object): | |
| """ Базовый класс упорядоченной модели """ | |
| @@ -539,3 +544,66 @@ def gallery_connect(sender): | |
| sender.gallery = property(gallery) | |
| post_save.connect(Gallery._gallery_handler, sender=sender) | |
| + | |
| +class Banner(models.Model): | |
| + num_shows_left = models.IntegerField(_('show times left'), | |
| + null=True, blank=True, | |
| + help_text=_('Leave blank to infinite')) # null=infinite, 0=stop | |
| + start_dt = models.DateField(_('start show at')) | |
| + stop_dt = models.DateField(_('stop show at')) | |
| + banner = models.FileField(_('upload banner'), upload_to='banners', null=True, blank=True) | |
| + alt_text = models.CharField(_('alt-text for image'), max_length=255, null=True, blank=True) | |
| + html = models.TextField(_('raw html shown'), | |
| + null=True, | |
| + blank=True, | |
| + help_text = _('Plain html shown. Requiered if no banner. Ignored otherwise')) | |
| + # TODO: do spec. fields-rendering with checkboxes later | |
| + mode_hours = models.CharField(_('show at daytimes'), | |
| + max_length=24, | |
| + default='111111111111111111111111', | |
| + help_text=_('bit-wise array, "1" is "on": "[0-1][1-2]...[23-24]"')) | |
| + mode_weekday = models.CharField(_('show at weekdays'), | |
| + max_length=7, | |
| + default='1111111', | |
| + help_text=_('bit-wise array, "1" in "on": "[Mon],[Tue]...[Sun]"')) | |
| + referals = models.IntegerField(null=True, blank=True, default=0) # just statictics | |
| + link = models.CharField(max_length=255, | |
| + null=True, blank=True, | |
| + help_text=_('If no link given -> no link in output')) | |
| + | |
| + def __unicode__(self): | |
| + if self.banner: | |
| + basename = os.path.basename(self.banner.name) | |
| + else: | |
| + basename = self.alt_text | |
| + return basename | |
| + | |
| + def save(self, *args, **kwargs): | |
| + if not self.banner and not self.html: | |
| + raise Exception('Provide eiher `html` or `file`') | |
| + if self.banner: | |
| + basename = os.path.basename(self.banner.name) | |
| + if RE_IMAGE_FMT.search(basename): | |
| + self.html = '<img src="%s" alt="%s">' % (self.banner.url, self.alt_text) | |
| + elif RE_FLASH_FMT.search(basename): | |
| + self.html = ''' | |
| + <object> | |
| + <param name="nobanner" value="%s"> | |
| + <embed src="%s" width="550" height="400"> | |
| + </embed> | |
| + </object>''' % (basename, self.banner.url) | |
| + else: | |
| + raise Exception('Unknown file format') | |
| + if self.link: | |
| + self.html = '<a href="%s">%s</a>' % (self.link, self.html) | |
| + | |
| + # hanlde some input errors | |
| + if len(self.mode_weekday)!=7: | |
| + mode_weekday = self.mode_weekday[:7] | |
| + mode_weekday.extend((7-len(mode_weekday))*['1']) | |
| + self.mode_weekday = mode_weekday | |
| + if len(self.mode_hours)!=24: | |
| + mode_hours = self.mode_hours[:24] | |
| + mode_hours.extend((24-len(mode_hours))*['1']) | |
| + self.mode_hours = mode_hours | |
| + super(Banner, self).save(*args, **kwargs) | |
| diff --git a/cms/settings.py b/cms/settings.py | |
| index c36e9bf..c22a8c5 100644 | |
| --- a/cms/settings.py | |
| +++ b/cms/settings.py | |
| @@ -115,3 +115,4 @@ CMS_ADMIN_LINKS = [ | |
| [_('Sites'), '/admin/sites/site/'], | |
| [_('File Browser'), '/admin/filebrowser/browse/'], | |
| ] | |
| + | |
| diff --git a/cms_admin/project_template/settings.py b/cms_admin/project_template/settings.py | |
| index fced37a..b506161 100644 | |
| --- a/cms_admin/project_template/settings.py | |
| +++ b/cms_admin/project_template/settings.py | |
| @@ -201,6 +201,9 @@ CMS_EXCLUDE_BLOCKS = ['News', 'Menu', 'Banner'] | |
| REGIONS = () | |
| +IMAGE_FORMATS = ['jpg', 'gif', 'png'] | |
| +FLASH_FORMATS = ['swf'] | |
| + | |
| ### Import local settings ### | |
| try: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment