From f6e90a2bc6a61fc4c3071920974a22f7d0315579 Mon Sep 17 00:00:00 2001 From: Kostas Papadimitriou Date: Wed, 7 Mar 2012 21:15:25 +0200 Subject: [PATCH] Major improvements and fixes - Twitter content block - Login form improvements - New grnet styles - About block fixes - snf-common cloudbar context_processor - New migrations - IE boxsizing fix --- cloudcms/cms.py | 6 +- cloudcms/content.py | 3 +- cloudcms/context_processors.py | 1 - cloudcms/middleware.py | 47 ++ .../cloudcmsblog/0002_auto__add_blogposts.py | 204 +++++++++ .../0003_auto__add_field_blogposts_title.py | 197 ++++++++ .../0004_auto__del_blogposts__add_latestentries.py | 221 +++++++++ ...d_retweets__chg_field_twitterfeed_replies__c.py | 233 ++++++++++ cloudcms/migrate/page/0002_auto__add_blogposts.py | 222 +++++++++ .../page/0003_auto__add_field_blogposts_title.py | 215 +++++++++ .../0004_auto__del_blogposts__add_latestentries.py | 239 ++++++++++ ...d_retweets__chg_field_twitterfeed_replies__c.py | 258 +++++++++++ ..._auto__add_field_loginform_logged_in_content.py | 217 +++++++++ cloudcms/migrations/0001_initial.py | 72 +++ ...002_auto__add_field_application_extra_styles.py | 61 +++ cloudcms/models.py | 1 + cloudcms/static/cloudcms/css/boxsizing.htc | 308 +++++++++++++ cloudcms/static/cloudcms/css/styles.css | 474 +++++++++++++------- cloudcms/static/cloudcms/images/dashed_border.png | Bin 0 -> 150 bytes .../static/cloudcms/js/twitter/jquery.twitter.js | 10 +- cloudcms/static/cloudcms/less/styles.less | 194 +++++++- cloudcms/static/cloudcms/less/xtra.less | 12 + cloudcms/synnefo_settings.py | 6 +- cloudcms/templates/cms/base.html | 29 +- cloudcms/templates/cms/pages/intro.html | 16 +- cloudcms/templates/content/about_block.html | 2 +- cloudcms/templates/content/latest_blog.html | 16 + cloudcms/templates/content/login_form.html | 32 +- cloudcms/templates/content/section/block.html | 2 +- cloudcms/templates/content/template/resources.html | 76 ++++ cloudcms/templates/content/twitter_feed.html | 17 +- cloudcmsblog/models.py | 61 ++- conf/20-snf-cloudcms-settings.conf | 17 +- 33 files changed, 3244 insertions(+), 225 deletions(-) create mode 100644 cloudcms/middleware.py create mode 100644 cloudcms/migrate/cloudcmsblog/0002_auto__add_blogposts.py create mode 100644 cloudcms/migrate/cloudcmsblog/0003_auto__add_field_blogposts_title.py create mode 100644 cloudcms/migrate/cloudcmsblog/0004_auto__del_blogposts__add_latestentries.py create mode 100644 cloudcms/migrate/cloudcmsblog/0005_auto__chg_field_twitterfeed_retweets__chg_field_twitterfeed_replies__c.py create mode 100644 cloudcms/migrate/page/0002_auto__add_blogposts.py create mode 100644 cloudcms/migrate/page/0003_auto__add_field_blogposts_title.py create mode 100644 cloudcms/migrate/page/0004_auto__del_blogposts__add_latestentries.py create mode 100644 cloudcms/migrate/page/0005_auto__chg_field_twitterfeed_retweets__chg_field_twitterfeed_replies__c.py create mode 100644 cloudcms/migrate/page/0006_auto__add_field_loginform_logged_in_content.py create mode 100644 cloudcms/migrations/0001_initial.py create mode 100644 cloudcms/migrations/0002_auto__add_field_application_extra_styles.py create mode 100644 cloudcms/migrations/__init__.py create mode 100644 cloudcms/static/cloudcms/css/boxsizing.htc create mode 100644 cloudcms/static/cloudcms/images/dashed_border.png create mode 100644 cloudcms/templates/content/latest_blog.html create mode 100644 cloudcms/templates/content/template/resources.html diff --git a/cloudcms/cms.py b/cloudcms/cms.py index 0cb997a..fbc11d4 100644 --- a/cloudcms/cms.py +++ b/cloudcms/cms.py @@ -54,7 +54,7 @@ from feincms.content.template.models import TemplateContent from feincms.content.video.models import VideoContent from feincms.content.richtext.models import RichTextContent -from cloudcmsblog.models import Entry +from cloudcmsblog.models import Entry, LatestEntries from cloudcms.content import * Page.register_extensions( @@ -76,6 +76,7 @@ TEMPLATES = [{ 'regions': ( ('main', 'Main region'), ('sidebar', 'Sidebar', 'inherited'), + ('bottom', 'Bottom section', 'inherited'), ), }, { @@ -94,6 +95,7 @@ TEMPLATES = [{ 'regions': ( ('main', 'Main region'), ('sidebar', 'Sidebar', 'inherited'), + ('bottom', 'Bottom section', 'inherited'), ), }, { @@ -125,6 +127,7 @@ Page.create_content_type(TemplateContent) Page.create_content_type(TwitterFeed) Page.create_content_type(VideoContent) Page.create_content_type(VideoSection) +Page.create_content_type(LatestEntries) Page.create_content_type(ImageContent, POSITION_CHOICES=( ('default', 'Default position'), )) @@ -151,5 +154,6 @@ Entry.create_content_type(TemplateContent) Entry.create_content_type(VideoContent) Entry.create_content_type(TwitterFeed) Entry.create_content_type(RawContent) +Entry.create_content_type(LatestEntries) Entry.create_content_type(SectionContent, TYPE_CHOICES=(('block', 'Block'),)) diff --git a/cloudcms/content.py b/cloudcms/content.py index cea9494..d5715ae 100644 --- a/cloudcms/content.py +++ b/cloudcms/content.py @@ -60,7 +60,6 @@ LINKIFY_JS_URL = getattr(settings, "LINKIFY_JS_URL", JQUERY_TIMEAGO_URL = getattr(settings, "JQUERY_TIMEAGO_URL", DEFAULT_JQ_TIMEAGO_URL) - class VideoSection(models.Model): section_title = models.CharField(max_length=200, blank=True) video_title = models.CharField(max_length=200, blank=True) @@ -165,6 +164,8 @@ class LoginForm(models.Model): action_url = models.CharField(_('im url'), max_length=100, blank=False) display_forgot_password = models.BooleanField(default=False, null=False) next_url = models.CharField(max_length=255, null=True, blank=True) + bottom_content = models.TextField(blank=True) + logged_in_content = models.TextField(blank=True) class Meta: abstract = True diff --git a/cloudcms/context_processors.py b/cloudcms/context_processors.py index d4695a9..a668f34 100644 --- a/cloudcms/context_processors.py +++ b/cloudcms/context_processors.py @@ -33,7 +33,6 @@ from django.conf import settings - from cloudcms.models import Application def cloudbar(request): diff --git a/cloudcms/middleware.py b/cloudcms/middleware.py new file mode 100644 index 0000000..4bc2242 --- /dev/null +++ b/cloudcms/middleware.py @@ -0,0 +1,47 @@ +import urlparse +import urllib + +from django.contrib import messages +from django.http import HttpResponseRedirect + +class RequestMessagesMiddleware: + """ + A middleware that checks for specific get parameters in url, appends + associated messages and redirects to the same url (removing the parameter + to avoid circular redirects). + """ + + PARAMS_MAP = { + 'logged_in': ((messages.SUCCESS, 'You have successfully logged in'),), + 'logged_out': ((messages.SUCCESS, 'You have successfully logged out'),), + } + + def process_request(self, request): + qs = request.META.get('QUERY_STRING', '') + if not qs: + return + + qs = urlparse.parse_qs(qs) + + # parse query string, add messages and keep params used to remove + # them later from the redirect url + params_to_remove = [] + for param, messages_tuples in self.PARAMS_MAP.iteritems(): + if param in qs: + params_to_remove.append(param) + for message in messages_tuples: + msg_type = message[0] + msg = message[1] + messages.add_message(request, msg_type, msg) + + if not params_to_remove: + return + + for p in params_to_remove: + del qs[p] + + # create the redirect url + redirect_qs = urllib.urlencode(qs) + + return HttpResponseRedirect("/?" + redirect_qs) + diff --git a/cloudcms/migrate/cloudcmsblog/0002_auto__add_blogposts.py b/cloudcms/migrate/cloudcmsblog/0002_auto__add_blogposts.py new file mode 100644 index 0000000..bc6a8c5 --- /dev/null +++ b/cloudcms/migrate/cloudcmsblog/0002_auto__add_blogposts.py @@ -0,0 +1,204 @@ +# 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 'BlogPosts' + db.create_table('cloudcmsblog_entry_blogposts', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('limit', self.gf('django.db.models.fields.PositiveIntegerField')(default=3)), + ('display_text', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='blogposts_set', to=orm['cloudcmsblog.Entry'])), + ('region', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('ordering', self.gf('django.db.models.fields.IntegerField')(default=0)), + )) + db.send_create_signal('cloudcmsblog', ['BlogPosts']) + + + def backwards(self, orm): + + # Deleting model 'BlogPosts' + db.delete_table('cloudcmsblog_entry_blogposts') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + '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': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'cloudcms.application': { + 'Meta': {'object_name': 'Application'}, + 'app_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'facebook_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'linked_in_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'show_twitter_feed_on_top': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'cloudcmsblog.blogposts': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'BlogPosts', 'db_table': "'cloudcmsblog_entry_blogposts'"}, + 'display_text': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '3'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blogposts_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'cloudcmsblog.category': { + 'Meta': {'ordering': "['-ordering']", 'object_name': 'Category'}, + 'display_on_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}) + }, + 'cloudcmsblog.categorytranslation': { + 'Meta': {'ordering': "['title']", 'object_name': 'CategoryTranslation'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language_code': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': "orm['cloudcmsblog.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'cloudcmsblog.entry': { + 'Meta': {'ordering': "['-published_on']", 'object_name': 'Entry'}, + 'application': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'blogentries'", 'symmetrical': 'False', 'to': "orm['cloudcms.Application']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blogentries'", 'to': "orm['auth.User']"}), + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'blogentries'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['cloudcmsblog.Category']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'intro_text': ('django.db.models.fields.TextField', [], {'max_length': '255', 'blank': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_featured': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'last_changed': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'published_on': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'null': 'True', 'blank': 'True'}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'cloudcmsblog.rawcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'RawContent', 'db_table': "'cloudcmsblog_entry_rawcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'cloudcmsblog.richtextcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'RichTextContent', 'db_table': "'cloudcmsblog_entry_richtextcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'cloudcmsblog.sectioncontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'SectionContent', 'db_table': "'cloudcmsblog_entry_sectioncontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cloudcmsblog_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'}) + }, + 'cloudcmsblog.templatecontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'TemplateContent', 'db_table': "'cloudcmsblog_entry_templatecontent'"}, + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'cloudcmsblog.twitterfeed': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'TwitterFeed', 'db_table': "'cloudcmsblog_entry_twitterfeed'"}, + 'account': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'avatar': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'extra_params': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}), + 'nots': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'twitterfeed_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'query': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'replies': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'retweets': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'tag': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'cloudcmsblog.videocontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'VideoContent', 'db_table': "'cloudcmsblog_entry_videocontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videocontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'video': ('django.db.models.fields.URLField', [], {'max_length': '200'}) + }, + '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'}) + }, + 'medialibrary.category': { + 'Meta': {'ordering': "['parent__title', 'title']", 'object_name': 'Category'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'medialibrary.mediafile': { + 'Meta': {'object_name': 'MediaFile'}, + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}), + 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}), + 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}) + }, + 'sites.site': { + 'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"}, + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['cloudcmsblog'] diff --git a/cloudcms/migrate/cloudcmsblog/0003_auto__add_field_blogposts_title.py b/cloudcms/migrate/cloudcmsblog/0003_auto__add_field_blogposts_title.py new file mode 100644 index 0000000..1f4e864 --- /dev/null +++ b/cloudcms/migrate/cloudcmsblog/0003_auto__add_field_blogposts_title.py @@ -0,0 +1,197 @@ +# 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 'BlogPosts.title' + db.add_column('cloudcmsblog_entry_blogposts', 'title', self.gf('django.db.models.fields.CharField')(default='', max_length=255), keep_default=False) + + + def backwards(self, orm): + + # Deleting field 'BlogPosts.title' + db.delete_column('cloudcmsblog_entry_blogposts', 'title') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + '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': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'cloudcms.application': { + 'Meta': {'object_name': 'Application'}, + 'app_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'facebook_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'linked_in_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'show_twitter_feed_on_top': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'cloudcmsblog.blogposts': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'BlogPosts', 'db_table': "'cloudcmsblog_entry_blogposts'"}, + 'display_text': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '3'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blogposts_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'cloudcmsblog.category': { + 'Meta': {'ordering': "['-ordering']", 'object_name': 'Category'}, + 'display_on_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}) + }, + 'cloudcmsblog.categorytranslation': { + 'Meta': {'ordering': "['title']", 'object_name': 'CategoryTranslation'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language_code': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': "orm['cloudcmsblog.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'cloudcmsblog.entry': { + 'Meta': {'ordering': "['-published_on']", 'object_name': 'Entry'}, + 'application': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'blogentries'", 'symmetrical': 'False', 'to': "orm['cloudcms.Application']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blogentries'", 'to': "orm['auth.User']"}), + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'blogentries'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['cloudcmsblog.Category']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'intro_text': ('django.db.models.fields.TextField', [], {'max_length': '255', 'blank': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_featured': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'last_changed': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'published_on': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'null': 'True', 'blank': 'True'}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'cloudcmsblog.rawcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'RawContent', 'db_table': "'cloudcmsblog_entry_rawcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'cloudcmsblog.richtextcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'RichTextContent', 'db_table': "'cloudcmsblog_entry_richtextcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'cloudcmsblog.sectioncontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'SectionContent', 'db_table': "'cloudcmsblog_entry_sectioncontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cloudcmsblog_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'}) + }, + 'cloudcmsblog.templatecontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'TemplateContent', 'db_table': "'cloudcmsblog_entry_templatecontent'"}, + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'cloudcmsblog.twitterfeed': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'TwitterFeed', 'db_table': "'cloudcmsblog_entry_twitterfeed'"}, + 'account': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'avatar': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'extra_params': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}), + 'nots': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'twitterfeed_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'query': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'replies': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'retweets': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'tag': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'cloudcmsblog.videocontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'VideoContent', 'db_table': "'cloudcmsblog_entry_videocontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videocontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'video': ('django.db.models.fields.URLField', [], {'max_length': '200'}) + }, + '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'}) + }, + 'medialibrary.category': { + 'Meta': {'ordering': "['parent__title', 'title']", 'object_name': 'Category'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'medialibrary.mediafile': { + 'Meta': {'object_name': 'MediaFile'}, + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}), + 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}), + 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}) + }, + 'sites.site': { + 'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"}, + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['cloudcmsblog'] diff --git a/cloudcms/migrate/cloudcmsblog/0004_auto__del_blogposts__add_latestentries.py b/cloudcms/migrate/cloudcmsblog/0004_auto__del_blogposts__add_latestentries.py new file mode 100644 index 0000000..b3f8a19 --- /dev/null +++ b/cloudcms/migrate/cloudcmsblog/0004_auto__del_blogposts__add_latestentries.py @@ -0,0 +1,221 @@ +# 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): + + # Deleting model 'BlogPosts' + db.delete_table('cloudcmsblog_entry_blogposts') + + # Adding model 'LatestEntries' + db.create_table('cloudcmsblog_entry_latestentries', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('limit', self.gf('django.db.models.fields.PositiveIntegerField')(default=3)), + ('display_text', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='latestentries_set', to=orm['cloudcmsblog.Entry'])), + ('region', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('ordering', self.gf('django.db.models.fields.IntegerField')(default=0)), + )) + db.send_create_signal('cloudcmsblog', ['LatestEntries']) + + + def backwards(self, orm): + + # Adding model 'BlogPosts' + db.create_table('cloudcmsblog_entry_blogposts', ( + ('display_text', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('limit', self.gf('django.db.models.fields.PositiveIntegerField')(default=3)), + ('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='blogposts_set', to=orm['cloudcmsblog.Entry'])), + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('ordering', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('region', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('cloudcmsblog', ['BlogPosts']) + + # Deleting model 'LatestEntries' + db.delete_table('cloudcmsblog_entry_latestentries') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + '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': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'cloudcms.application': { + 'Meta': {'object_name': 'Application'}, + 'app_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'facebook_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'linked_in_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'show_twitter_feed_on_top': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'cloudcmsblog.category': { + 'Meta': {'ordering': "['-ordering']", 'object_name': 'Category'}, + 'display_on_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}) + }, + 'cloudcmsblog.categorytranslation': { + 'Meta': {'ordering': "['title']", 'object_name': 'CategoryTranslation'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language_code': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': "orm['cloudcmsblog.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'cloudcmsblog.entry': { + 'Meta': {'ordering': "['-published_on']", 'object_name': 'Entry'}, + 'application': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'blogentries'", 'symmetrical': 'False', 'to': "orm['cloudcms.Application']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blogentries'", 'to': "orm['auth.User']"}), + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'blogentries'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['cloudcmsblog.Category']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'intro_text': ('django.db.models.fields.TextField', [], {'max_length': '255', 'blank': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_featured': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'last_changed': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'published_on': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'null': 'True', 'blank': 'True'}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'cloudcmsblog.latestentries': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'LatestEntries', 'db_table': "'cloudcmsblog_entry_latestentries'"}, + 'display_text': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '3'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'latestentries_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'cloudcmsblog.rawcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'RawContent', 'db_table': "'cloudcmsblog_entry_rawcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'cloudcmsblog.richtextcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'RichTextContent', 'db_table': "'cloudcmsblog_entry_richtextcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'cloudcmsblog.sectioncontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'SectionContent', 'db_table': "'cloudcmsblog_entry_sectioncontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cloudcmsblog_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'}) + }, + 'cloudcmsblog.templatecontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'TemplateContent', 'db_table': "'cloudcmsblog_entry_templatecontent'"}, + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'cloudcmsblog.twitterfeed': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'TwitterFeed', 'db_table': "'cloudcmsblog_entry_twitterfeed'"}, + 'account': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'avatar': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'extra_params': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}), + 'nots': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'twitterfeed_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'query': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'replies': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'retweets': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'tag': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'cloudcmsblog.videocontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'VideoContent', 'db_table': "'cloudcmsblog_entry_videocontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videocontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'video': ('django.db.models.fields.URLField', [], {'max_length': '200'}) + }, + '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'}) + }, + 'medialibrary.category': { + 'Meta': {'ordering': "['parent__title', 'title']", 'object_name': 'Category'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'medialibrary.mediafile': { + 'Meta': {'object_name': 'MediaFile'}, + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}), + 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}), + 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}) + }, + 'sites.site': { + 'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"}, + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['cloudcmsblog'] diff --git a/cloudcms/migrate/cloudcmsblog/0005_auto__chg_field_twitterfeed_retweets__chg_field_twitterfeed_replies__c.py b/cloudcms/migrate/cloudcmsblog/0005_auto__chg_field_twitterfeed_retweets__chg_field_twitterfeed_replies__c.py new file mode 100644 index 0000000..0a50739 --- /dev/null +++ b/cloudcms/migrate/cloudcmsblog/0005_auto__chg_field_twitterfeed_retweets__chg_field_twitterfeed_replies__c.py @@ -0,0 +1,233 @@ +# 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 'TwitterFeed.retweets' + db.alter_column('cloudcmsblog_entry_twitterfeed', 'retweets', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + # Changing field 'TwitterFeed.replies' + db.alter_column('cloudcmsblog_entry_twitterfeed', 'replies', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + # Changing field 'TwitterFeed.avatar' + db.alter_column('cloudcmsblog_entry_twitterfeed', 'avatar', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + # Changing field 'Category.display_on_menu' + db.alter_column('cloudcmsblog_category', 'display_on_menu', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + # Changing field 'LatestEntries.display_text' + db.alter_column('cloudcmsblog_entry_latestentries', 'display_text', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + # Changing field 'Entry.is_featured' + db.alter_column('cloudcmsblog_entry', 'is_featured', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + # Changing field 'Entry.is_active' + db.alter_column('cloudcmsblog_entry', 'is_active', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + + def backwards(self, orm): + + # Changing field 'TwitterFeed.retweets' + db.alter_column('cloudcmsblog_entry_twitterfeed', 'retweets', self.gf('django.db.models.fields.BooleanField')()) + + # Changing field 'TwitterFeed.replies' + db.alter_column('cloudcmsblog_entry_twitterfeed', 'replies', self.gf('django.db.models.fields.BooleanField')()) + + # Changing field 'TwitterFeed.avatar' + db.alter_column('cloudcmsblog_entry_twitterfeed', 'avatar', self.gf('django.db.models.fields.BooleanField')()) + + # Changing field 'Category.display_on_menu' + db.alter_column('cloudcmsblog_category', 'display_on_menu', self.gf('django.db.models.fields.BooleanField')()) + + # Changing field 'LatestEntries.display_text' + db.alter_column('cloudcmsblog_entry_latestentries', 'display_text', self.gf('django.db.models.fields.BooleanField')()) + + # Changing field 'Entry.is_featured' + db.alter_column('cloudcmsblog_entry', 'is_featured', self.gf('django.db.models.fields.BooleanField')()) + + # Changing field 'Entry.is_active' + db.alter_column('cloudcmsblog_entry', 'is_active', self.gf('django.db.models.fields.BooleanField')()) + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + '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': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'cloudcms.application': { + 'Meta': {'object_name': 'Application'}, + 'app_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'facebook_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'linked_in_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'show_twitter_feed_on_top': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'cloudcmsblog.category': { + 'Meta': {'object_name': 'Category'}, + 'display_on_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}) + }, + 'cloudcmsblog.categorytranslation': { + 'Meta': {'object_name': 'CategoryTranslation'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language_code': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': "orm['cloudcmsblog.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'cloudcmsblog.entry': { + 'Meta': {'object_name': 'Entry'}, + 'application': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'blogentries'", 'symmetrical': 'False', 'to': "orm['cloudcms.Application']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blogentries'", 'to': "orm['auth.User']"}), + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'blogentries'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['cloudcmsblog.Category']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'intro_text': ('django.db.models.fields.TextField', [], {'max_length': '255', 'blank': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_featured': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'last_changed': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'published_on': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'null': 'True', 'blank': 'True'}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'cloudcmsblog.latestentries': { + 'Meta': {'object_name': 'LatestEntries', 'db_table': "'cloudcmsblog_entry_latestentries'"}, + 'display_text': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '3'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'latestentries_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'cloudcmsblog.rawcontent': { + 'Meta': {'object_name': 'RawContent', 'db_table': "'cloudcmsblog_entry_rawcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'cloudcmsblog.richtextcontent': { + 'Meta': {'object_name': 'RichTextContent', 'db_table': "'cloudcmsblog_entry_richtextcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'cloudcmsblog.sectioncontent': { + 'Meta': {'object_name': 'SectionContent', 'db_table': "'cloudcmsblog_entry_sectioncontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cloudcmsblog_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'}) + }, + 'cloudcmsblog.templatecontent': { + 'Meta': {'object_name': 'TemplateContent', 'db_table': "'cloudcmsblog_entry_templatecontent'"}, + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'cloudcmsblog.twitterfeed': { + 'Meta': {'object_name': 'TwitterFeed', 'db_table': "'cloudcmsblog_entry_twitterfeed'"}, + 'account': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'avatar': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'extra_params': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}), + 'nots': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'twitterfeed_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'query': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'replies': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'retweets': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'tag': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'cloudcmsblog.videocontent': { + 'Meta': {'object_name': 'VideoContent', 'db_table': "'cloudcmsblog_entry_videocontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videocontent_set'", 'to': "orm['cloudcmsblog.Entry']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'video': ('django.db.models.fields.URLField', [], {'max_length': '200'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'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'}) + }, + 'medialibrary.category': { + 'Meta': {'object_name': 'Category'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'medialibrary.mediafile': { + 'Meta': {'object_name': 'MediaFile'}, + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}), + 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}), + 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}) + }, + 'sites.site': { + 'Meta': {'object_name': 'Site', 'db_table': "'django_site'"}, + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['cloudcmsblog'] diff --git a/cloudcms/migrate/page/0002_auto__add_blogposts.py b/cloudcms/migrate/page/0002_auto__add_blogposts.py new file mode 100644 index 0000000..bd9f52d --- /dev/null +++ b/cloudcms/migrate/page/0002_auto__add_blogposts.py @@ -0,0 +1,222 @@ +# 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 'BlogPosts' + db.create_table('page_page_blogposts', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('limit', self.gf('django.db.models.fields.PositiveIntegerField')(default=3)), + ('display_text', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='blogposts_set', to=orm['page.Page'])), + ('region', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('ordering', self.gf('django.db.models.fields.IntegerField')(default=0)), + )) + db.send_create_signal('page', ['BlogPosts']) + + + def backwards(self, orm): + + # Deleting model 'BlogPosts' + db.delete_table('page_page_blogposts') + + + models = { + 'medialibrary.category': { + 'Meta': {'ordering': "['parent__title', 'title']", 'object_name': 'Category'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'medialibrary.mediafile': { + 'Meta': {'object_name': 'MediaFile'}, + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}), + 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}), + 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}) + }, + 'page.aboutblock': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'AboutBlock', 'db_table': "'page_page_aboutblock'"}, + 'color': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'image_position': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'offset_left': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'offset_top': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aboutblock_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'page.applicationcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'ApplicationContent', 'db_table': "'page_page_applicationcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parameters': ('feincms.contrib.fields.JSONField', [], {'null': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'applicationcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'urlconf_path': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'page.blogposts': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'BlogPosts', 'db_table': "'page_page_blogposts'"}, + 'display_text': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '3'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blogposts_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.imagecontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'ImageContent', 'db_table': "'page_page_imagecontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'imagecontent_set'", 'to': "orm['page.Page']"}), + 'position': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '10'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.loginform': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'LoginForm', 'db_table': "'page_page_loginform'"}, + 'action_url': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'display_forgot_password': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'next_url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'loginform_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'page.mediafilecontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'MediaFileContent', 'db_table': "'page_page_mediafilecontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'related_name': "'+'", 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mediafilecontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'lightbox'", 'max_length': '20'}) + }, + 'page.page': { + 'Meta': {'ordering': "['tree_id', 'lft']", 'object_name': 'Page'}, + '_cached_url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '300', 'db_index': 'True', 'blank': 'True'}), + '_content_title': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + '_page_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'in_navigation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}), + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'meta_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'meta_keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'modification_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'navigation_extension': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'override_url': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['page.Page']"}), + 'publication_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 2, 28, 11, 40)'}), + 'publication_end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'redirect_to': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'default': '1', 'to': "orm['sites.Site']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'symlinked_page': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_page_symlinks'", 'null': 'True', 'to': "orm['page.Page']"}), + 'template_key': ('django.db.models.fields.CharField', [], {'default': "'basic'", 'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'translation_of': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'translations'", 'null': 'True', 'to': "orm['page.Page']"}), + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) + }, + 'page.rawcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'RawContent', 'db_table': "'page_page_rawcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'page.richtextcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'RichTextContent', 'db_table': "'page_page_richtextcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'page.sectioncontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'SectionContent', 'db_table': "'page_page_sectioncontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'}) + }, + 'page.templatecontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'TemplateContent', 'db_table': "'page_page_templatecontent'"}, + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.twitterfeed': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'TwitterFeed', 'db_table': "'page_page_twitterfeed'"}, + 'account': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'avatar': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'extra_params': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}), + 'nots': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'twitterfeed_set'", 'to': "orm['page.Page']"}), + 'query': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'replies': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'retweets': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'tag': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'page.videocontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'VideoContent', 'db_table': "'page_page_videocontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videocontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'video': ('django.db.models.fields.URLField', [], {'max_length': '200'}) + }, + 'page.videosection': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'VideoSection', 'db_table': "'page_page_videosection'"}, + 'alt_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'extra_url_params': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'image_hover': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_hover_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videosection_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'section_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_height': ('django.db.models.fields.PositiveIntegerField', [], {'default': '550'}), + 'video_link': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_width': ('django.db.models.fields.PositiveIntegerField', [], {'default': '700'}) + }, + 'sites.site': { + 'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"}, + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['page'] diff --git a/cloudcms/migrate/page/0003_auto__add_field_blogposts_title.py b/cloudcms/migrate/page/0003_auto__add_field_blogposts_title.py new file mode 100644 index 0000000..ed01298 --- /dev/null +++ b/cloudcms/migrate/page/0003_auto__add_field_blogposts_title.py @@ -0,0 +1,215 @@ +# 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 'BlogPosts.title' + db.add_column('page_page_blogposts', 'title', self.gf('django.db.models.fields.CharField')(default='', max_length=255), keep_default=False) + + + def backwards(self, orm): + + # Deleting field 'BlogPosts.title' + db.delete_column('page_page_blogposts', 'title') + + + models = { + 'medialibrary.category': { + 'Meta': {'ordering': "['parent__title', 'title']", 'object_name': 'Category'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'medialibrary.mediafile': { + 'Meta': {'object_name': 'MediaFile'}, + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}), + 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}), + 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}) + }, + 'page.aboutblock': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'AboutBlock', 'db_table': "'page_page_aboutblock'"}, + 'color': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'image_position': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'offset_left': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'offset_top': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aboutblock_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'page.applicationcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'ApplicationContent', 'db_table': "'page_page_applicationcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parameters': ('feincms.contrib.fields.JSONField', [], {'null': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'applicationcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'urlconf_path': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'page.blogposts': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'BlogPosts', 'db_table': "'page_page_blogposts'"}, + 'display_text': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '3'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blogposts_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.imagecontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'ImageContent', 'db_table': "'page_page_imagecontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'imagecontent_set'", 'to': "orm['page.Page']"}), + 'position': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '10'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.loginform': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'LoginForm', 'db_table': "'page_page_loginform'"}, + 'action_url': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'display_forgot_password': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'next_url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'loginform_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'page.mediafilecontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'MediaFileContent', 'db_table': "'page_page_mediafilecontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'related_name': "'+'", 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mediafilecontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'lightbox'", 'max_length': '20'}) + }, + 'page.page': { + 'Meta': {'ordering': "['tree_id', 'lft']", 'object_name': 'Page'}, + '_cached_url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '300', 'db_index': 'True', 'blank': 'True'}), + '_content_title': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + '_page_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'in_navigation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}), + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'meta_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'meta_keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'modification_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'navigation_extension': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'override_url': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['page.Page']"}), + 'publication_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 2, 28, 11, 50)'}), + 'publication_end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'redirect_to': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'default': '1', 'to': "orm['sites.Site']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'symlinked_page': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_page_symlinks'", 'null': 'True', 'to': "orm['page.Page']"}), + 'template_key': ('django.db.models.fields.CharField', [], {'default': "'basic'", 'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'translation_of': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'translations'", 'null': 'True', 'to': "orm['page.Page']"}), + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) + }, + 'page.rawcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'RawContent', 'db_table': "'page_page_rawcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'page.richtextcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'RichTextContent', 'db_table': "'page_page_richtextcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'page.sectioncontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'SectionContent', 'db_table': "'page_page_sectioncontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'}) + }, + 'page.templatecontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'TemplateContent', 'db_table': "'page_page_templatecontent'"}, + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.twitterfeed': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'TwitterFeed', 'db_table': "'page_page_twitterfeed'"}, + 'account': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'avatar': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'extra_params': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}), + 'nots': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'twitterfeed_set'", 'to': "orm['page.Page']"}), + 'query': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'replies': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'retweets': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'tag': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'page.videocontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'VideoContent', 'db_table': "'page_page_videocontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videocontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'video': ('django.db.models.fields.URLField', [], {'max_length': '200'}) + }, + 'page.videosection': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'VideoSection', 'db_table': "'page_page_videosection'"}, + 'alt_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'extra_url_params': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'image_hover': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_hover_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videosection_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'section_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_height': ('django.db.models.fields.PositiveIntegerField', [], {'default': '550'}), + 'video_link': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_width': ('django.db.models.fields.PositiveIntegerField', [], {'default': '700'}) + }, + 'sites.site': { + 'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"}, + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['page'] diff --git a/cloudcms/migrate/page/0004_auto__del_blogposts__add_latestentries.py b/cloudcms/migrate/page/0004_auto__del_blogposts__add_latestentries.py new file mode 100644 index 0000000..4cd75db --- /dev/null +++ b/cloudcms/migrate/page/0004_auto__del_blogposts__add_latestentries.py @@ -0,0 +1,239 @@ +# 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): + + # Deleting model 'BlogPosts' + db.delete_table('page_page_blogposts') + + # Adding model 'LatestEntries' + db.create_table('page_page_latestentries', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('limit', self.gf('django.db.models.fields.PositiveIntegerField')(default=3)), + ('display_text', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='latestentries_set', to=orm['page.Page'])), + ('region', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('ordering', self.gf('django.db.models.fields.IntegerField')(default=0)), + )) + db.send_create_signal('page', ['LatestEntries']) + + + def backwards(self, orm): + + # Adding model 'BlogPosts' + db.create_table('page_page_blogposts', ( + ('display_text', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('limit', self.gf('django.db.models.fields.PositiveIntegerField')(default=3)), + ('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='blogposts_set', to=orm['page.Page'])), + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('ordering', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('region', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('page', ['BlogPosts']) + + # Deleting model 'LatestEntries' + db.delete_table('page_page_latestentries') + + + models = { + 'medialibrary.category': { + 'Meta': {'ordering': "['parent__title', 'title']", 'object_name': 'Category'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'medialibrary.mediafile': { + 'Meta': {'object_name': 'MediaFile'}, + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}), + 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}), + 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}) + }, + 'page.aboutblock': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'AboutBlock', 'db_table': "'page_page_aboutblock'"}, + 'color': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'image_position': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'offset_left': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'offset_top': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aboutblock_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'page.applicationcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'ApplicationContent', 'db_table': "'page_page_applicationcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parameters': ('feincms.contrib.fields.JSONField', [], {'null': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'applicationcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'urlconf_path': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'page.imagecontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'ImageContent', 'db_table': "'page_page_imagecontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'imagecontent_set'", 'to': "orm['page.Page']"}), + 'position': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '10'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.latestentries': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'LatestEntries', 'db_table': "'page_page_latestentries'"}, + 'display_text': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '3'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'latestentries_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.loginform': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'LoginForm', 'db_table': "'page_page_loginform'"}, + 'action_url': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'display_forgot_password': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'next_url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'loginform_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'page.mediafilecontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'MediaFileContent', 'db_table': "'page_page_mediafilecontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'related_name': "'+'", 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mediafilecontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'lightbox'", 'max_length': '20'}) + }, + 'page.page': { + 'Meta': {'ordering': "['tree_id', 'lft']", 'object_name': 'Page'}, + '_cached_url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '300', 'db_index': 'True', 'blank': 'True'}), + '_content_title': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + '_page_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'in_navigation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}), + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'meta_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'meta_keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'modification_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'navigation_extension': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'override_url': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['page.Page']"}), + 'publication_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 2, 28, 12, 20)'}), + 'publication_end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'redirect_to': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'default': '1', 'to': "orm['sites.Site']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'symlinked_page': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_page_symlinks'", 'null': 'True', 'to': "orm['page.Page']"}), + 'template_key': ('django.db.models.fields.CharField', [], {'default': "'basic'", 'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'translation_of': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'translations'", 'null': 'True', 'to': "orm['page.Page']"}), + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) + }, + 'page.rawcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'RawContent', 'db_table': "'page_page_rawcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'page.richtextcontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'RichTextContent', 'db_table': "'page_page_richtextcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'page.sectioncontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'SectionContent', 'db_table': "'page_page_sectioncontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'}) + }, + 'page.templatecontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'TemplateContent', 'db_table': "'page_page_templatecontent'"}, + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.twitterfeed': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'TwitterFeed', 'db_table': "'page_page_twitterfeed'"}, + 'account': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'avatar': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'extra_params': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}), + 'nots': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'twitterfeed_set'", 'to': "orm['page.Page']"}), + 'query': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'replies': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'retweets': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'tag': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'page.videocontent': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'VideoContent', 'db_table': "'page_page_videocontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videocontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'video': ('django.db.models.fields.URLField', [], {'max_length': '200'}) + }, + 'page.videosection': { + 'Meta': {'ordering': "['ordering']", 'object_name': 'VideoSection', 'db_table': "'page_page_videosection'"}, + 'alt_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'extra_url_params': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'image_hover': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_hover_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videosection_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'section_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_height': ('django.db.models.fields.PositiveIntegerField', [], {'default': '550'}), + 'video_link': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_width': ('django.db.models.fields.PositiveIntegerField', [], {'default': '700'}) + }, + 'sites.site': { + 'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"}, + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['page'] diff --git a/cloudcms/migrate/page/0005_auto__chg_field_twitterfeed_retweets__chg_field_twitterfeed_replies__c.py b/cloudcms/migrate/page/0005_auto__chg_field_twitterfeed_retweets__chg_field_twitterfeed_replies__c.py new file mode 100644 index 0000000..574fa7a --- /dev/null +++ b/cloudcms/migrate/page/0005_auto__chg_field_twitterfeed_retweets__chg_field_twitterfeed_replies__c.py @@ -0,0 +1,258 @@ +# 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 'TwitterFeed.retweets' + db.alter_column('page_page_twitterfeed', 'retweets', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + # Changing field 'TwitterFeed.replies' + db.alter_column('page_page_twitterfeed', 'replies', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + # Changing field 'TwitterFeed.avatar' + db.alter_column('page_page_twitterfeed', 'avatar', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + # Adding field 'LoginForm.bottom_content' + db.add_column('page_page_loginform', 'bottom_content', self.gf('django.db.models.fields.TextField')(default='', blank=True), keep_default=False) + + # Changing field 'LoginForm.display_forgot_password' + db.alter_column('page_page_loginform', 'display_forgot_password', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + # Changing field 'LatestEntries.display_text' + db.alter_column('page_page_latestentries', 'display_text', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + # Changing field 'Page.in_navigation' + db.alter_column('page_page', 'in_navigation', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + # Changing field 'Page.active' + db.alter_column('page_page', 'active', self.gf('django.db.models.fields.BooleanField')(blank=True)) + + + def backwards(self, orm): + + # Changing field 'TwitterFeed.retweets' + db.alter_column('page_page_twitterfeed', 'retweets', self.gf('django.db.models.fields.BooleanField')()) + + # Changing field 'TwitterFeed.replies' + db.alter_column('page_page_twitterfeed', 'replies', self.gf('django.db.models.fields.BooleanField')()) + + # Changing field 'TwitterFeed.avatar' + db.alter_column('page_page_twitterfeed', 'avatar', self.gf('django.db.models.fields.BooleanField')()) + + # Deleting field 'LoginForm.bottom_content' + db.delete_column('page_page_loginform', 'bottom_content') + + # Changing field 'LoginForm.display_forgot_password' + db.alter_column('page_page_loginform', 'display_forgot_password', self.gf('django.db.models.fields.BooleanField')()) + + # Changing field 'LatestEntries.display_text' + db.alter_column('page_page_latestentries', 'display_text', self.gf('django.db.models.fields.BooleanField')()) + + # Changing field 'Page.in_navigation' + db.alter_column('page_page', 'in_navigation', self.gf('django.db.models.fields.BooleanField')()) + + # Changing field 'Page.active' + db.alter_column('page_page', 'active', self.gf('django.db.models.fields.BooleanField')()) + + + models = { + 'medialibrary.category': { + 'Meta': {'object_name': 'Category'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'medialibrary.mediafile': { + 'Meta': {'object_name': 'MediaFile'}, + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}), + 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}), + 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}) + }, + 'page.aboutblock': { + 'Meta': {'object_name': 'AboutBlock', 'db_table': "'page_page_aboutblock'"}, + 'color': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'image_position': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'offset_left': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'offset_top': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aboutblock_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'page.applicationcontent': { + 'Meta': {'object_name': 'ApplicationContent', 'db_table': "'page_page_applicationcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parameters': ('feincms.contrib.fields.JSONField', [], {'null': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'applicationcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'urlconf_path': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'page.imagecontent': { + 'Meta': {'object_name': 'ImageContent', 'db_table': "'page_page_imagecontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'imagecontent_set'", 'to': "orm['page.Page']"}), + 'position': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '10'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.latestentries': { + 'Meta': {'object_name': 'LatestEntries', 'db_table': "'page_page_latestentries'"}, + 'display_text': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '3'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'latestentries_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.loginform': { + 'Meta': {'object_name': 'LoginForm', 'db_table': "'page_page_loginform'"}, + 'action_url': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'bottom_content': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'display_forgot_password': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'next_url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'loginform_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'page.mediafilecontent': { + 'Meta': {'object_name': 'MediaFileContent', 'db_table': "'page_page_mediafilecontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'related_name': "'+'", 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mediafilecontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'lightbox'", 'max_length': '20'}) + }, + 'page.page': { + 'Meta': {'object_name': 'Page'}, + '_cached_url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '300', 'db_index': 'True', 'blank': 'True'}), + '_content_title': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + '_page_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'in_navigation': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}), + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'meta_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'meta_keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'modification_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'navigation_extension': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'override_url': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['page.Page']"}), + 'publication_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 3, 6, 13, 35)'}), + 'publication_end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'redirect_to': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'default': '1', 'to': "orm['sites.Site']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'symlinked_page': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_page_symlinks'", 'null': 'True', 'to': "orm['page.Page']"}), + 'template_key': ('django.db.models.fields.CharField', [], {'default': "'basic'", 'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'translation_of': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'translations'", 'null': 'True', 'to': "orm['page.Page']"}), + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) + }, + 'page.rawcontent': { + 'Meta': {'object_name': 'RawContent', 'db_table': "'page_page_rawcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'page.richtextcontent': { + 'Meta': {'object_name': 'RichTextContent', 'db_table': "'page_page_richtextcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'page.sectioncontent': { + 'Meta': {'object_name': 'SectionContent', 'db_table': "'page_page_sectioncontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'}) + }, + 'page.templatecontent': { + 'Meta': {'object_name': 'TemplateContent', 'db_table': "'page_page_templatecontent'"}, + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.twitterfeed': { + 'Meta': {'object_name': 'TwitterFeed', 'db_table': "'page_page_twitterfeed'"}, + 'account': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'avatar': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'extra_params': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}), + 'nots': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'twitterfeed_set'", 'to': "orm['page.Page']"}), + 'query': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'replies': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'retweets': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'tag': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'page.videocontent': { + 'Meta': {'object_name': 'VideoContent', 'db_table': "'page_page_videocontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videocontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'video': ('django.db.models.fields.URLField', [], {'max_length': '200'}) + }, + 'page.videosection': { + 'Meta': {'object_name': 'VideoSection', 'db_table': "'page_page_videosection'"}, + 'alt_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'extra_url_params': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'image_hover': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_hover_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videosection_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'section_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_height': ('django.db.models.fields.PositiveIntegerField', [], {'default': '550'}), + 'video_link': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_width': ('django.db.models.fields.PositiveIntegerField', [], {'default': '700'}) + }, + 'sites.site': { + 'Meta': {'object_name': 'Site', 'db_table': "'django_site'"}, + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['page'] diff --git a/cloudcms/migrate/page/0006_auto__add_field_loginform_logged_in_content.py b/cloudcms/migrate/page/0006_auto__add_field_loginform_logged_in_content.py new file mode 100644 index 0000000..7109022 --- /dev/null +++ b/cloudcms/migrate/page/0006_auto__add_field_loginform_logged_in_content.py @@ -0,0 +1,217 @@ +# 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 'LoginForm.logged_in_content' + db.add_column('page_page_loginform', 'logged_in_content', self.gf('django.db.models.fields.TextField')(default='', blank=True), keep_default=False) + + + def backwards(self, orm): + + # Deleting field 'LoginForm.logged_in_content' + db.delete_column('page_page_loginform', 'logged_in_content') + + + models = { + 'medialibrary.category': { + 'Meta': {'object_name': 'Category'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'medialibrary.mediafile': { + 'Meta': {'object_name': 'MediaFile'}, + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}), + 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}), + 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}) + }, + 'page.aboutblock': { + 'Meta': {'object_name': 'AboutBlock', 'db_table': "'page_page_aboutblock'"}, + 'color': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'image_position': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'offset_left': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'offset_top': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aboutblock_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'page.applicationcontent': { + 'Meta': {'object_name': 'ApplicationContent', 'db_table': "'page_page_applicationcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parameters': ('feincms.contrib.fields.JSONField', [], {'null': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'applicationcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'urlconf_path': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'page.imagecontent': { + 'Meta': {'object_name': 'ImageContent', 'db_table': "'page_page_imagecontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'imagecontent_set'", 'to': "orm['page.Page']"}), + 'position': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '10'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.latestentries': { + 'Meta': {'object_name': 'LatestEntries', 'db_table': "'page_page_latestentries'"}, + 'display_text': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '3'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'latestentries_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.loginform': { + 'Meta': {'object_name': 'LoginForm', 'db_table': "'page_page_loginform'"}, + 'action_url': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'bottom_content': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'display_forgot_password': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'logged_in_content': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'next_url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'loginform_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'page.mediafilecontent': { + 'Meta': {'object_name': 'MediaFileContent', 'db_table': "'page_page_mediafilecontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'related_name': "'+'", 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mediafilecontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'lightbox'", 'max_length': '20'}) + }, + 'page.page': { + 'Meta': {'object_name': 'Page'}, + '_cached_url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '300', 'db_index': 'True', 'blank': 'True'}), + '_content_title': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + '_page_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'in_navigation': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}), + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'meta_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'meta_keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'modification_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'navigation_extension': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'override_url': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['page.Page']"}), + 'publication_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 3, 6, 14, 15)'}), + 'publication_end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'redirect_to': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'default': '1', 'to': "orm['sites.Site']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'symlinked_page': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_page_symlinks'", 'null': 'True', 'to': "orm['page.Page']"}), + 'template_key': ('django.db.models.fields.CharField', [], {'default': "'basic'", 'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'translation_of': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'translations'", 'null': 'True', 'to': "orm['page.Page']"}), + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) + }, + 'page.rawcontent': { + 'Meta': {'object_name': 'RawContent', 'db_table': "'page_page_rawcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'page.richtextcontent': { + 'Meta': {'object_name': 'RichTextContent', 'db_table': "'page_page_richtextcontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'page.sectioncontent': { + 'Meta': {'object_name': 'SectionContent', 'db_table': "'page_page_sectioncontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'}) + }, + 'page.templatecontent': { + 'Meta': {'object_name': 'TemplateContent', 'db_table': "'page_page_templatecontent'"}, + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'page.twitterfeed': { + 'Meta': {'object_name': 'TwitterFeed', 'db_table': "'page_page_twitterfeed'"}, + 'account': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'avatar': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'extra_params': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}), + 'nots': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'twitterfeed_set'", 'to': "orm['page.Page']"}), + 'query': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'replies': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'retweets': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'tag': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'page.videocontent': { + 'Meta': {'object_name': 'VideoContent', 'db_table': "'page_page_videocontent'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videocontent_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'video': ('django.db.models.fields.URLField', [], {'max_length': '200'}) + }, + 'page.videosection': { + 'Meta': {'object_name': 'VideoSection', 'db_table': "'page_page_videosection'"}, + 'alt_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'extra_url_params': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'image_hover': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_hover_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}), + 'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videosection_set'", 'to': "orm['page.Page']"}), + 'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'section_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_height': ('django.db.models.fields.PositiveIntegerField', [], {'default': '550'}), + 'video_link': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'video_width': ('django.db.models.fields.PositiveIntegerField', [], {'default': '700'}) + }, + 'sites.site': { + 'Meta': {'object_name': 'Site', 'db_table': "'django_site'"}, + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['page'] diff --git a/cloudcms/migrations/0001_initial.py b/cloudcms/migrations/0001_initial.py new file mode 100644 index 0000000..72a8429 --- /dev/null +++ b/cloudcms/migrations/0001_initial.py @@ -0,0 +1,72 @@ +# 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 'Application' + db.create_table('cloudcms_application', ( + ('app_url', self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True)), + ('code', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('linked_in_username', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), + ('site', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sites.Site'])), + ('facebook_username', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), + ('twitter_username', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), + ('logo', self.gf('feincms.module.medialibrary.fields.MediaFileForeignKey')(to=orm['medialibrary.MediaFile'], null=True, blank=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('show_twitter_feed_on_top', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + )) + db.send_create_signal('cloudcms', ['Application']) + + + def backwards(self, orm): + + # Deleting model 'Application' + db.delete_table('cloudcms_application') + + + models = { + 'cloudcms.application': { + 'Meta': {'object_name': 'Application'}, + 'app_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'facebook_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'linked_in_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'show_twitter_feed_on_top': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'medialibrary.category': { + 'Meta': {'object_name': 'Category'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'medialibrary.mediafile': { + 'Meta': {'object_name': 'MediaFile'}, + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}), + 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}), + 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}) + }, + 'sites.site': { + 'Meta': {'object_name': 'Site', 'db_table': "'django_site'"}, + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['cloudcms'] diff --git a/cloudcms/migrations/0002_auto__add_field_application_extra_styles.py b/cloudcms/migrations/0002_auto__add_field_application_extra_styles.py new file mode 100644 index 0000000..0c43d48 --- /dev/null +++ b/cloudcms/migrations/0002_auto__add_field_application_extra_styles.py @@ -0,0 +1,61 @@ +# 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 'Application.extra_styles' + db.add_column('cloudcms_application', 'extra_styles', self.gf('django.db.models.fields.TextField')(default='', blank=True), keep_default=False) + + + def backwards(self, orm): + + # Deleting field 'Application.extra_styles' + db.delete_column('cloudcms_application', 'extra_styles') + + + models = { + 'cloudcms.application': { + 'Meta': {'object_name': 'Application'}, + 'app_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'extra_styles': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}), + 'facebook_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'linked_in_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}), + 'show_twitter_feed_on_top': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'medialibrary.category': { + 'Meta': {'object_name': 'Category'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'medialibrary.mediafile': { + 'Meta': {'object_name': 'MediaFile'}, + 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}), + 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}), + 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}) + }, + 'sites.site': { + 'Meta': {'object_name': 'Site', 'db_table': "'django_site'"}, + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['cloudcms'] diff --git a/cloudcms/migrations/__init__.py b/cloudcms/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/cloudcms/models.py b/cloudcms/models.py index c787883..206f71e 100644 --- a/cloudcms/models.py +++ b/cloudcms/models.py @@ -58,6 +58,7 @@ class Application(models.Model): facebook_username = models.CharField(max_length=255, blank=True) show_twitter_feed_on_top = models.BooleanField(default=False) + extra_styles = models.TextField(default="", blank=True) @classmethod def current(cls): diff --git a/cloudcms/static/cloudcms/css/boxsizing.htc b/cloudcms/static/cloudcms/css/boxsizing.htc new file mode 100644 index 0000000..6d2e835 --- /dev/null +++ b/cloudcms/static/cloudcms/css/boxsizing.htc @@ -0,0 +1,308 @@ +/** +* CSS-JS-BOOSTER +* +* A polyfill for box-sizing: border-box for IE6 & IE7. +* +* JScript +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License as published +* by the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License for more details. +* +* See +* +* @category JScript +* @package box-sizing-polyfill +* @author Christian Schepp Schaefer +* @copyright 2010 Christian Schepp Schaefer +* @license http://www.gnu.org/copyleft/lesser.html The GNU LESSER GENERAL PUBLIC LICENSE, Version 3.0 +* @link http://github.com/Schepp/box-sizing-polyfill +* +* PREFACE: +* +* This box-sizing polyfill is based on previous work done by Erik Arvidsson, +* which he published in 2002 on http://webfx.eae.net/dhtml/boxsizing/boxsizing.html. +* +* USAGE: +* +* Add the behavior/HTC after every `box-sizing: border-box;` that you assign: +* +* box-sizing: border-box; +* *behavior: url(/scripts/boxsizing.htc);` +* +* If you prefix the `behavior` property with a star, like seen above, it will only be seen by +* IE6 & IE7, not by IE8+ (it's a hack) which is better for the performance on those newer browsers. +* +* The URL to the HTC file must be relative to your HTML(!) document, not relative to your CSS. +* That's why I'd advise you to use absolute paths like in the example. +* +*/ + + + + + + \ No newline at end of file diff --git a/cloudcms/static/cloudcms/css/styles.css b/cloudcms/static/cloudcms/css/styles.css index 8006685..ec261b4 100644 --- a/cloudcms/static/cloudcms/css/styles.css +++ b/cloudcms/static/cloudcms/css/styles.css @@ -194,6 +194,11 @@ textarea { font-weight: normal; line-height: 22px; letter-spacing: 1px; + font-family: 'Antic', sans-serif; + font-size: 14px; + font-weight: normal; + line-height: 22px; + letter-spacing: 1px; background-color: #3582ac; color: #ffffff; border: none; @@ -203,6 +208,15 @@ textarea { .button:hover { background-color: #f89a1c; } +a.button { + text-align: center !important; + color: #fff !important; + border: none !important; + display: block !important; +} +a.button:hover { + color: #fff !important; +} /*addon to style django forms rendered with as_p filter*/ /* * Tables.less @@ -405,170 +419,64 @@ table .purple { table .headerSortUp.purple, table .headerSortDown.purple { background-color: #e2d5f0; } -/* - ColorBox Core Style: - The following CSS is consistent between example themes and should not be altered. -*/ -#colorbox, #cboxOverlay, #cboxWrapper { - position: absolute; - top: 0; - left: 0; - z-index: 9999; - overflow: hidden; -} -#cboxOverlay { - position: fixed; - width: 100%; - height: 100%; -} -#cboxMiddleLeft, #cboxBottomLeft { - clear: left; -} -#cboxContent { - position: relative; -} -#cboxLoadedContent { - overflow: auto; -} -#cboxTitle { - margin: 0; -} -#cboxLoadingOverlay, #cboxLoadingGraphic { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -#cboxPrevious, -#cboxNext, -#cboxClose, -#cboxSlideshow { - cursor: pointer; -} -.cboxPhoto { - float: left; - margin: auto; - border: 0; - display: block; -} -.cboxIframe { - width: 100%; - height: 100%; - display: block; - border: 0; -} -/* - User Style: - Change the following styles to modify the appearance of ColorBox. They are - ordered & tabbed in a way that represents the nesting of the generated HTML. -*/ -#cboxOverlay { - background: #222; -} -#cboxTopLeft { - width: 25px; - height: 25px; - background: url(../images/colorbox/border1.png) no-repeat 0 0; -} -#cboxTopCenter { - height: 25px; - background: url(../images/colorbox/border1.png) repeat-x 0 -50px; -} -#cboxTopRight { - width: 25px; - height: 25px; - background: url(../images/colorbox/border1.png) no-repeat -25px 0; -} -#cboxBottomLeft { - width: 25px; - height: 25px; - background: url(../images/colorbox/border1.png) no-repeat 0 -25px; -} -#cboxBottomCenter { - height: 25px; - background: url(../images/colorbox/border1.png) repeat-x 0 -75px; -} -#cboxBottomRight { - width: 25px; - height: 25px; - background: url(../images/colorbox/border1.png) no-repeat -25px -25px; -} -#cboxMiddleLeft { - width: 25px; - background: url(../images/colorbox/border2.png) repeat-y 0 0; -} -#cboxMiddleRight { - width: 25px; - background: url(../images/colorbox/border2.png) repeat-y -25px 0; -} -#cboxContent { - background: #fff; - overflow: hidden; -} -.cboxIframe { - background: #fff; -} -#cboxError { - padding: 50px; - border: 1px solid #ccc; -} -#cboxLoadedContent { - margin-bottom: 20px; +.makeRow { + zoom: 1; + margin-left: -22px; } -#cboxTitle { - position: absolute; - bottom: 0px; - left: 0; - text-align: center; - width: 100%; - color: #999; +.makeRow:before, .makeRow:after { + display: table; + content: ""; + zoom: 1; } -#cboxCurrent { - position: absolute; - bottom: 0px; - left: 100px; - color: #999; +.makeRow:after { + clear: both; } -#cboxSlideshow { - position: absolute; - bottom: 0px; - right: 42px; - color: #444; +.button { + font-family: 'Antic', sans-serif; + font-size: 14px; + font-weight: normal; + line-height: 22px; + letter-spacing: 1px; + font-family: 'Antic', sans-serif; + font-size: 14px; + font-weight: normal; + line-height: 22px; + letter-spacing: 1px; + background-color: #3582ac; + color: #ffffff; + border: none; + padding: 0.8em 22px; + font-size: 1em; } -#cboxPrevious { - position: absolute; - bottom: 0px; - left: 0; - color: #444; +.button:hover { + background-color: #f89a1c; } -#cboxNext { - position: absolute; - bottom: 0px; - left: 63px; - color: #444; +a.button { + text-align: center !important; + color: #fff !important; + border: none !important; + display: block !important; } -#cboxLoadingOverlay { - background: #ffffff url(../images/colorbox/loading.gif) no-repeat 5px 5px; +a.button:hover { + color: #fff !important; } -#cboxClose { - position: absolute; - bottom: 0; - right: 0; - display: block; - color: #444; +.border-box { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + *behavior: url(boxsizing.htc); } -/* - The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill - when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9. - See: http://jacklmoore.com/notes/ie-transparency-problems/ -*/ body { font-family: 'Antic', sans-serif; font-size: 14px; font-weight: normal; line-height: 22px; letter-spacing: 1px; + font-family: 'Antic', sans-serif; + font-size: 14px; + font-weight: normal; + line-height: 22px; + letter-spacing: 1px; } .topbar { background-color: #cfcdc7; @@ -604,7 +512,8 @@ body { section a, p a, form a, -.section a { +.section a, +.styledlinks a { color: #000000; text-decoration: none; border-bottom: 1px solid #f89a1c; @@ -612,19 +521,22 @@ form a, section a:hover, p a:hover, form a:hover, -.section a:hover { +.section a:hover, +.styledlinks a:hover { color: #f89a1c; } section a.noborder, p a.noborder, form a.noborder, -.section a.noborder { +.section a.noborder, +.styledlinks a.noborder { border: none; } section a em, p a em, form a em, -.section a em { +.section a em, +.styledlinks a em { color: #3582ac; } a.simple { @@ -682,6 +594,12 @@ div.header h1 { border-bottom: 1px solid #cfcdc7; padding-bottom: 3px; } +.mainlogo { + height: 36px; +} +.mainlogo h1 { + height: 36px; +} .mainlogo img { margin-left: -10px; } @@ -717,6 +635,9 @@ ul.inline li { margin-right: 0; margin-left: 1em; } +.navigation { + height: 83px; +} .mainnav { font-size: 1.2em; } @@ -746,21 +667,56 @@ ul.inline li { border-bottom: 1px solid #f89a1c; color: #f89a1c; } -.page { +.bottom-section { + zoom: 1; +} +.bottom-section:before, .bottom-section:after { + display: table; + content: ""; + zoom: 1; +} +.bottom-section:after { + clear: both; +} +.bottom-section .section img { + width: 200px; +} +.top-section { + zoom: 1; +} +.top-section:before, .top-section:after { + display: table; + content: ""; + zoom: 1; +} +.top-section:after { + clear: both; +} +div.page { + zoom: 1; + margin-left: -22px; zoom: 1; margin-left: -22px; margin-top: 132px; font-size: 1.1em; } -.page:before, .page:after { +div.page:before, div.page:after { display: table; content: ""; zoom: 1; } -.page:after { +div.page:after { clear: both; } -.page .page-inner { +div.page:before, div.page:after { + display: table; + content: ""; + zoom: 1; +} +div.page:after { + clear: both; +} +div.page .page-inner { position: relative; } .maincol { @@ -778,6 +734,8 @@ ul.inline li { .maincol.full { zoom: 1; margin-left: -22px; + zoom: 1; + margin-left: -22px; margin-left: 0; display: inline; float: left; @@ -792,6 +750,14 @@ ul.inline li { .maincol.full:after { clear: both; } +.maincol.full:before, .maincol.full:after { + display: table; + content: ""; + zoom: 1; +} +.maincol.full:after { + clear: both; +} .appbar { height: 30px; background-color: #3582ac; @@ -808,7 +774,7 @@ ul.inline li { width: 273px; } /* generic form styles */ -input, textarea { +input, textarea, .form-widget { background-color: #ffffff; color: #808080; border-color: #000000; @@ -819,7 +785,14 @@ input, textarea { font-weight: normal; line-height: 22px; letter-spacing: 1px; + font-family: 'Antic', sans-serif; + font-size: 14px; + font-weight: normal; + line-height: 22px; + letter-spacing: 1px; border: 1px solid #808080; + height: 21px; + display: inline-block; margin-bottom: -1px; padding: 0.8em; padding-left: 1.5em; @@ -842,6 +815,9 @@ input, textarea { .section { margin-bottom: 66px; } +.section em { + color: #3582ac; +} .section.positioned { margin-bottom: 0; } @@ -904,8 +880,23 @@ form.withlabels input[type=text], form.withlabels input[type=password], form.wit form.withlabels input[type=text].long, form.withlabels input[type=password].long, form.withlabels textarea.long { width: 224px; } +.login-section a.button { + margin-bottom: 12px; +} +.login-section a.button:last-child { + margin-bottom: none; +} +.login-section a.button.withicon { + background-repeat: no-repeat; + background-position: 15px 50%; + padding-left: 40px; +} +.login-section.loggedin { + padding-bottom: 0 !important; + background-image: none !important; +} form.login { - margin-bottom: 3em; + margin-bottom: 33px; } form h2 { color: #000000; @@ -916,10 +907,11 @@ form h2 span { padding-bottom: 3px; } form .form-row { + min-height: 44px; position: relative; } form .form-row.submit { - margin-top: 22px; + margin-top: 33px; } form .form-row .extra-link { color: #808080; @@ -947,7 +939,14 @@ form input[type="password"] { font-weight: normal; line-height: 22px; letter-spacing: 1px; + font-family: 'Antic', sans-serif; + font-size: 14px; + font-weight: normal; + line-height: 22px; + letter-spacing: 1px; border: 1px solid #808080; + height: 21px; + display: inline-block; margin-bottom: -1px; padding: 0.8em; padding-left: 1.5em; @@ -973,11 +972,34 @@ form input.submit, form input[type="submit"] { font-weight: normal; line-height: 22px; letter-spacing: 1px; + font-family: 'Antic', sans-serif; + font-size: 14px; + font-weight: normal; + line-height: 22px; + letter-spacing: 1px; background-color: #3582ac; color: #ffffff; border: none; padding: 0.8em 22px; font-size: 1em; + font-family: 'Antic', sans-serif; + font-size: 14px; + font-weight: normal; + line-height: 22px; + letter-spacing: 1px; + font-family: 'Antic', sans-serif; + font-size: 14px; + font-weight: normal; + line-height: 22px; + letter-spacing: 1px; + background-color: #3582ac; + color: #ffffff; + border: none; + padding: 0.8em 22px; + font-size: 1em; +} +form input.submit:hover, form input[type="submit"]:hover { + background-color: #f89a1c; } form input.submit:hover, form input[type="submit"]:hover { background-color: #f89a1c; @@ -1003,8 +1025,16 @@ form .with-errors label { div.form-stacked { margin-bottom: 4em; } +.rightcol .section { + background-image: url("../images/dashed_border.png"); + background-repeat: repeat-x; + background-position: left bottom; + padding-bottom: 44px; + margin-bottom: 44px; +} .section h2 { font-size: 1.1em; + line-height: 1.3em; margin-bottom: 33px; } .section h2 a { @@ -1012,16 +1042,25 @@ div.form-stacked { border: none; line-height: 1.3em; } +.section h3 { + font-size: 1.1em; + line-height: 1.3em; + margin-bottom: 33px; +} .section p { line-height: 1.7em; } +.section .section-img { + margin-bottom: 22px; +} .messages { display: inline; float: left; margin-left: 22px; width: 798px; - margin-bottom: 2em; + margin: 2em 0; background-color: #ddd; + margin-left: 0; } .messages li { padding: 1em; @@ -1050,6 +1089,16 @@ table tr.consumed td.consumed { .row { zoom: 1; margin-left: -22px; + zoom: 1; + margin-left: -22px; +} +.row:before, .row:after { + display: table; + content: ""; + zoom: 1; +} +.row:after { + clear: both; } .row:before, .row:after { display: table; @@ -1063,11 +1112,15 @@ table tr.consumed td.consumed { color: #808080 !important; -webkit-transition: color 0.15s linear; transition: color 0.15s linear; + -webkit-transition: color 0.15s linear; + transition: color 0.15s linear; } .footer a { color: #b3b3b3; -webkit-transition: color 0.15s linear; transition: color 0.15s linear; + -webkit-transition: color 0.15s linear; + transition: color 0.15s linear; text-decoration: none; } .footer a:hover { @@ -1100,12 +1153,18 @@ table tr.consumed td.consumed { margin-right: 0; } /*pagination*/ +.pagination a.page { + display: inline !important; +} /*blog styles*/ .blog-entry { margin-bottom: 66px; zoom: 1; margin-bottom: 44px; } +.blog-entry em { + color: #3582ac; +} .blog-entry.positioned { margin-bottom: 0; } @@ -1154,6 +1213,7 @@ table tr.consumed td.consumed { } .blog-entry h2 { font-size: 1.1em; + line-height: 1.3em; margin-bottom: 33px; } .blog-entry h2 a { @@ -1161,9 +1221,17 @@ table tr.consumed td.consumed { border: none; line-height: 1.3em; } +.blog-entry h3 { + font-size: 1.1em; + line-height: 1.3em; + margin-bottom: 33px; +} .blog-entry p { line-height: 1.7em; } +.blog-entry .section-img { + margin-bottom: 22px; +} .blog-entry:before, .blog-entry:after { display: table; content: ""; @@ -1200,6 +1268,11 @@ table tr.consumed td.consumed { margin-bottom: 22px; color: #808080; } +.section.twitter-feed .tweet:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: none; +} .section.twitter-feed .tweet .date { display: block; font-size: 0.7em; @@ -1211,3 +1284,80 @@ table tr.consumed td.consumed { .pagination .page { margin-left: 0; } +.entry-list .since { + font-size: 0.8em; +} +.entry-list .title { + margin-bottom: 1em; +} +.entry-list .content, .entry-list .text { + margin-bottom: 2em; + font-size: 0.8em; +} +.initial_hidden { + display: none; +} +/*resources styles*/ +.resources .categories ul { + zoom: 1; +} +.resources .categories ul:before, .resources .categories ul:after { + display: table; + content: ""; + zoom: 1; +} +.resources .categories ul:after { + clear: both; +} +.resources .categories ul li { + float: left; +} +.resources .categories .title { + margin-bottom: 11px; +} +.resources .categories ul li a { + text-decoration: none; + color: #faaf40; + margin-right: 22px; +} +.resources .list { + margin-top: 88px; +} +.resources .list .resource { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + *behavior: url(boxsizing.htc); + width: 33%; + padding: 44px; + float: left; + border: 1px solid #faaf40; + height: 264px; +} +.resources .list .resource .description { + display: none; +} +/* recaptcha */ +#recaptcha_widget_div { + margin-top: 10px; + margin-left: -4px; +} +#recaptcha_widget_div #recaptcha_instructions_image { + font-size: 0.8em; + margin-bottom: 10px; + display: block !important; +} +.checkbox-widget.checked { + background-color: #f00; + background-image: url("../images/checkbox.png"); + background-position: 50% 50%; +} +.checkbox-widget { + border: 1px solid #808080; + width: 25px; + height: 25px; + display: block; + float: left; + cursor: pointer; + margin-top: 9px; +} diff --git a/cloudcms/static/cloudcms/images/dashed_border.png b/cloudcms/static/cloudcms/images/dashed_border.png new file mode 100644 index 0000000000000000000000000000000000000000..197305201da76a6b93315c0f59b53e03dd8624a3 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^d_c^|!3HGX$<1d0af*Z7ofy`glX(f`uqAoByDx`7I;J!Gca%qgD@k*tT_@uLG}_)Usv`!%xrwx#vFGa^#X;&JY5_^IIbu2 n@bdmW-@v>kZtpC?=`sw9tXP<$6Yci^RWNwE`njxgN@xNAsjnpk literal 0 HcmV?d00001 diff --git a/cloudcms/static/cloudcms/js/twitter/jquery.twitter.js b/cloudcms/static/cloudcms/js/twitter/jquery.twitter.js index cb61270..d2bcf3a 100644 --- a/cloudcms/static/cloudcms/js/twitter/jquery.twitter.js +++ b/cloudcms/static/cloudcms/js/twitter/jquery.twitter.js @@ -14,12 +14,12 @@ var linkify = linkify || function() {}; var mention = function( str ) { return str.replace("/[@]+[A-Za-z0-9-_]+/ig", function( username ) { - return username.link("http://twitter.com/"+ username.replace("@","") ); + return username.link("https://twitter.com/"+ username.replace("@","") ); }); }, hashtags = function( str ) { return str.replace("/[#]+[A-Za-z0-9-_]+/ig", function( tag ) { - return tag.link("http://search.twitter.com/search?q="+tag.replace("#","%23")); + return tag.link("https://search.twitter.com/search?q="+tag.replace("#","%23")); }); }; @@ -67,7 +67,7 @@ var linkify = linkify || function() {}; // Call Twitter JSONP - $.getJSON("http://search.twitter.com/search.json?callback=?", query, function(tweets){ + $.getJSON("https://search.twitter.com/search.json?callback=?", query, function(tweets){ callback(tweets, query, exclusionsExp); }); }; @@ -129,7 +129,7 @@ var linkify = linkify || function() {}; // Make the avatar, and append it to the $tweet if ( query.avatar === true ) { $tweet.append($("", { - href: "http://twitter.com/" + tweet.from_user, + href: "https://twitter.com/" + tweet.from_user, html: "" })); } @@ -137,7 +137,7 @@ var linkify = linkify || function() {}; // Make the tweet text, and append it to the $tweet, then to the parent $tweet.append($("", { "class": "content", - html: "@" + tweet.from_user + ": " + mention(hashtags(linkify(tweet.text))) + html: "@" + tweet.from_user + ": " + mention(hashtags(linkify(tweet.text))) })) // Append tweet to the $tweets ul .appendTo($tweets); diff --git a/cloudcms/static/cloudcms/less/styles.less b/cloudcms/static/cloudcms/less/styles.less index 3d0cbc8..f890048 100644 --- a/cloudcms/static/cloudcms/less/styles.less +++ b/cloudcms/static/cloudcms/less/styles.less @@ -1,9 +1,18 @@ @import "../less/bootstrap.less"; @import "../less/django_forms.less"; @import "../less/tables.less"; -@import "../less/cloudbox.less"; +@import "../less/xtra.less"; +// mixins + +.border-box { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + *behavior: url(boxsizing.htc); +} + @gradCol: #ddd; body { #font.main(); @@ -36,7 +45,7 @@ body { } // default link styles -section a, p a, form a, .section a { +section a, p a, form a, .section a, .styledlinks a { color: @black; text-decoration: none; border-bottom: 1px solid @linkColor; @@ -106,6 +115,9 @@ div.header { } } .mainlogo { + height: 36px; + + h1 { height: 36px } img { margin-left: -10px; } @@ -139,6 +151,9 @@ ul.inline { } } +.navigation { + height: 83px; +} .mainnav { font-size: 1.2em; @@ -176,7 +191,21 @@ ul.inline { } } -.page { +.bottom-section { + .clearfix(); + + .section { + img { + width: 200px; + } + } +} + +.top-section { + .clearfix(); +} + +div.page { .makeRow(); margin-top: 6*@gridGutterWidth; font-size: 1.1em; @@ -219,7 +248,7 @@ ul.inline { } /* generic form styles */ -input, textarea { +input, textarea, .form-widget { background-color: @white; color: @gray; border-color: @black; @@ -229,6 +258,8 @@ input, textarea { .input, input { #font.main(); border: 1px solid @gray; + height:21px; + display: inline-block; margin-bottom: -1px; padding: 0.8em; padding-left: 1.5em; @@ -254,6 +285,10 @@ input, textarea { } .section { + + em { + color: @blue; + } &.positioned { margin-bottom: 0; @@ -324,12 +359,35 @@ form.withlabels { } } + +.login-section { + a.button { + margin-bottom: 0.2*@gridColumnWidth; + + &:last-child { + margin-bottom: none; + } + + &.withicon { + background-repeat: no-repeat; + background-position: 15px 50%; + padding-left: 40px; + } + } + + &.loggedin { + padding-bottom: 0 !important; + background-image: none !important; + } +} + + @errorColor: lighten(@red, 30%); // forms form { &.login { - margin-bottom: 3em; + margin-bottom: 1.5*@gridGutterWidth; } h2 { @@ -343,9 +401,10 @@ form { } .form-row { + min-height: 2*@gridGutterWidth; position: relative; &.submit { - margin-top: @gridGutterWidth; + margin-top: 1.5*@gridGutterWidth; } .extra-link { @@ -408,9 +467,20 @@ div.form-stacked { margin-bottom: 4em; } // content types + +.rightcol .section { + background-image: url("../images/dashed_border.png"); + background-repeat: repeat-x; + background-position: left bottom; + padding-bottom: 2*@gridGutterWidth; + margin-bottom: 2*@gridGutterWidth; + +} + .section { h2 { font-size: 1.1em; + line-height: 1.3em; margin-bottom: 1.5*@gridGutterWidth; a { @@ -420,9 +490,19 @@ div.form-stacked { } } + h3 { + font-size: 1.1em; + line-height: 1.3em; + margin-bottom: 1.5*@gridGutterWidth; + } + p { line-height: 1.7em; } + + .section-img { + margin-bottom: 1*@gridGutterWidth; + } } @@ -430,8 +510,9 @@ div.form-stacked { .messages { .makeColumn(10); - margin-bottom: 2em; + margin: 2em 0; background-color: #ddd; + margin-left: 0; li { padding: 1em; @@ -517,7 +598,12 @@ table { /*pagination*/ +.pagination { + a.page { + display: inline !important; + } +} /*blog styles*/ .blog-entries { @@ -566,6 +652,7 @@ table { .section.twitter-feed { .tweet { + &:last-child { margin-bottom:0; padding-bottom:0; border-bottom: none } line-height: 1.3em; font-size: 0.9em; margin-bottom: @gridGutterWidth; @@ -585,3 +672,96 @@ table { .pagination .page { margin-left: 0; } + + +.entry-list { + + .since { + font-size: 0.8em; + } + + .title { + margin-bottom: 1em; + } + + .content, .text { + margin-bottom: 2em; + font-size: 0.8em; + } +} + + +.initial_hidden { + display: none; +} + +/*resources styles*/ + +@resCol: #FAAF40; +.resources { + + .categories { + ul { .clearfix() } + ul li { float: left; } + .title { + margin-bottom: @gridGutterWidth/2; + } + + ul li a { + text-decoration: none; + color: @resCol; + margin-right: @gridGutterWidth; + } + } + + .list { + + margin-top: 4*@gridGutterWidth; + + .resource { + .border-box(); + width: 33%; + padding: 2*@gridGutterWidth; + float: left; + border: 1px solid @resCol; + height: 12*@gridGutterWidth; + + .description { + display: none; + } + } + } + +} + + +/* recaptcha */ +#recaptcha_widget_div { + margin-top: 10px; + margin-left: -4px; + + #recaptcha_instructions_image { + font-size: 0.8em; + margin-bottom: 10px; + display: block !important; + } +} + +.checkbox-widget.checked { + background-color: #f00; + background-image: url("../images/checkbox.png"); + background-position: 50% 50%; +} + +.checkbox-widget { + border: 1px solid @gray; + width: 25px; + height: 25px; + display: block; + float: left; + cursor: pointer; + margin-top: @gridGutterWidth/2 - 2; +} + + + diff --git a/cloudcms/static/cloudcms/less/xtra.less b/cloudcms/static/cloudcms/less/xtra.less index 362ca38..26ed822 100644 --- a/cloudcms/static/cloudcms/less/xtra.less +++ b/cloudcms/static/cloudcms/less/xtra.less @@ -26,6 +26,18 @@ } } +// specific styles for A buttons +a.button { + text-align: center !important; + color: #fff !important; + border: none !important; + display: block !important; + + &:hover { + color: #fff !important; + } +} + .transit(@type:color, @time:.15s, @easing:linear) { -webkit-transition: @type @time @easing; diff --git a/cloudcms/synnefo_settings.py b/cloudcms/synnefo_settings.py index c3116da..b559bfe 100644 --- a/cloudcms/synnefo_settings.py +++ b/cloudcms/synnefo_settings.py @@ -35,6 +35,7 @@ CLOUDCMS_APPS = [ 'cloudcms', 'cloudcmsblog', + #'cloudcmsfiles', 'pagination', 'django.contrib.auth', @@ -57,7 +58,8 @@ CLOUDCMS_MIDDLEWARES = [ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', - 'pagination.middleware.PaginationMiddleware' + 'pagination.middleware.PaginationMiddleware', + 'cloudcms.middleware.RequestMessagesMiddleware' ] CLOUDCMS_STATICFILES = { 'cloudcms': '', @@ -65,7 +67,7 @@ CLOUDCMS_STATICFILES = { } CLOUDCMS_CONTEXT_PROCESSORS = [ 'cloudcms.context_processors.application', - 'cloudcms.context_processors.cloudbar' + 'synnefo.lib.context_processors.cloudbar' ] diff --git a/cloudcms/templates/cms/base.html b/cloudcms/templates/cms/base.html index b6b2d8d..80bff23 100644 --- a/cloudcms/templates/cms/base.html +++ b/cloudcms/templates/cms/base.html @@ -32,7 +32,7 @@ {% endblock favicons %} {% block css %} - + {% endblock css %} @@ -52,27 +52,23 @@ {% block page.scripts.cloudbar %} - {% if CLOUDBAR_BASE_URL %} - - {% endif %} + {% if CLOUDBAR_ACTIVE %} {{ CLOUDBAR_CODE }} {% endif %} {% endblock %} {% block endhead %}{% endblock endhead %} + {% if APP.extra_styles %} + + {% endif %} + @@ -110,6 +106,15 @@ + {% if messages %} +
    + {% for message in messages %} + + {{ message }} + {% endfor %} +
+ {% endif %}
{% block page.body %} {% endblock %} diff --git a/cloudcms/templates/cms/pages/intro.html b/cloudcms/templates/cms/pages/intro.html index 17803c6..ce499aa 100644 --- a/cloudcms/templates/cms/pages/intro.html +++ b/cloudcms/templates/cms/pages/intro.html @@ -7,13 +7,19 @@ {{ content.render }} {% endfor %} {% endblock %} +
+{% block page.bottom %} + {% for content in feincms_page.content.bottom %} + {{ content.render }} + {% endfor %} + {% endblock %} +
{% block page.sidecol %} - {% for content in feincms_page.content.sidebar %} - {{ content.render }} - {% endfor %} - {% endblock %} + {% for content in feincms_page.content.sidebar %} + {{ content.render }} + {% endfor %} +{% endblock %}
{% endblock %} - diff --git a/cloudcms/templates/content/about_block.html b/cloudcms/templates/content/about_block.html index 0a730e4..eba164e 100644 --- a/cloudcms/templates/content/about_block.html +++ b/cloudcms/templates/content/about_block.html @@ -24,7 +24,7 @@
{% endif %}

{{ content.title }}

-
{{ content.content }}
+
{{ content.content|safe }}
{% if content.image_position == "bottom" %}
{{ content.title }} diff --git a/cloudcms/templates/content/latest_blog.html b/cloudcms/templates/content/latest_blog.html new file mode 100644 index 0000000..76586dc --- /dev/null +++ b/cloudcms/templates/content/latest_blog.html @@ -0,0 +1,16 @@ +{% load applicationcontent_tags pagination_tags i18n %} + +
+

{{ content.title }}

+{% for p in posts %} +
+
{{ p.published_on|timesince }} ago, by {{ p.author }}
+

{{ p.title|safe }}

+ {% if content.display_text %} +

+ {{ p.intro_text|safe|truncatewords_html:10 }} +

+ {% endif %} +
+{% endfor %} +
diff --git a/cloudcms/templates/content/login_form.html b/cloudcms/templates/content/login_form.html index 2d01bcc..ee6b91a 100644 --- a/cloudcms/templates/content/login_form.html +++ b/cloudcms/templates/content/login_form.html @@ -1,6 +1,8 @@ +{% load i18n %} diff --git a/cloudcms/templates/content/section/block.html b/cloudcms/templates/content/section/block.html index 5297505..f449dd4 100644 --- a/cloudcms/templates/content/section/block.html +++ b/cloudcms/templates/content/section/block.html @@ -3,7 +3,7 @@

{{ content.title }}

{% endif %} {% if content.mediafile.type == "image" %} - + {% endif %}

{{ content.richtext|safe }} diff --git a/cloudcms/templates/content/template/resources.html b/cloudcms/templates/content/template/resources.html new file mode 100644 index 0000000..75b83b6 --- /dev/null +++ b/cloudcms/templates/content/template/resources.html @@ -0,0 +1,76 @@ +

+ + + +
+
+
+ +
01.02.12
+
Internal techincal presentation on okeanos at + GRNET
+
filed under PRESENTATION
+
+
+

In the early days of computing, programs were serial, that is, a + program consisted of a sequence of instructions, where each + instruction executed one after the other. It ran from start to + finish on a single processor.

+
+
+ + DOWNLOAD PDF +
+
+ +
+
+ +
01.02.12
+
Internal techincal presentation on okeanos at + GRNET
+
filed under PRESENTATION
+
+
+

In the early days of computing, programs were serial, that is, a + program consisted of a sequence of instructions, where each + instruction executed one after the other. It ran from start to + finish on a single processor.

+
+
+ + DOWNLOAD PDF +
+
+ +
+
+ +
01.02.12
+
Internal techincal presentation on okeanos at + GRNET
+
filed under PRESENTATION
+
+
+

In the early days of computing, programs were serial, that is, a + program consisted of a sequence of instructions, where each + instruction executed one after the other. It ran from start to + finish on a single processor.

+
+
+ + DOWNLOAD PDF +
+
+
+
diff --git a/cloudcms/templates/content/twitter_feed.html b/cloudcms/templates/content/twitter_feed.html index b9ac7bc..d5bab81 100644 --- a/cloudcms/templates/content/twitter_feed.html +++ b/cloudcms/templates/content/twitter_feed.html @@ -1,10 +1,3 @@ - + diff --git a/cloudcmsblog/models.py b/cloudcmsblog/models.py index 4360231..fa70b61 100644 --- a/cloudcmsblog/models.py +++ b/cloudcmsblog/models.py @@ -38,18 +38,25 @@ from django.db import models from django.conf import settings from django.contrib.auth.models import User from django.utils.translation import ugettext_lazy as _, ugettext, ungettext +from django.template.loader import render_to_string +from django.core import urlresolvers from feincms import translations from feincms.models import Base +from feincms.module.page.models import Page from feincms.content.richtext.models import RichTextContent from feincms.content.section.models import SectionContent +from feincms.content.application.models import reverse from feincms.module.medialibrary.fields import MediaFileForeignKey from feincms.module.medialibrary.models import MediaFile from feincms.module.page.extensions.navigation import NavigationExtension from feincms.module.page.extensions.navigation import PagePretender +from feincms.content.application.models import ApplicationContent from cloudcms.models import Application +# monkeypatch django reverse (feincms 1.5+ solves this issue) +urlresolvers.reverse = reverse class Category(models.Model, translations.TranslatedObjectMixin): """ @@ -87,11 +94,10 @@ class CategoryTranslation(translations.Translation(Category)): def __unicode__(self): return self.title - @models.permalink def get_absolute_url(self): - return ('cloudcmsblog_entries_archive', (), { + return reverse('cloudcmsblog_entries_archive', 'cloudcmsblog.urls', (), { 'category': self.slug, - }) + }) def save(self, *args, **kwargs): if not self.slug: @@ -105,6 +111,9 @@ class EntryManager(models.Manager): def active(self): return self.filter(is_active=True) + def latest(self, limit=3): + return self.filter()[:limit] + class Entry(Base): """ Blog post entry @@ -142,14 +151,30 @@ class Entry(Base): def __unicode__(self): return self.title - @models.permalink def get_absolute_url(self): - return ('cloudcmsblog_entry_detail', (), { - 'year': self.published_on.strftime('%Y'), - 'month': self.published_on.strftime('%m'), - 'day': self.published_on.strftime('%d'), - 'slug': self.slug, - }) + try: + r = reverse('cloudcmsblog_entry_detail', 'cloudcmsblog.urls', (), + { + 'year': self.published_on.strftime('%Y'), + 'month': self.published_on.strftime('%m'), + 'day': self.published_on.strftime('%d'), + 'slug': self.slug, + }) + except Exception,e: + pass + + # ugly hack to fix proper application reverse url + BLOG_URL = "" + try: + AC = Page.content_type_for(ApplicationContent) + blog_block = AC.objects.filter(urlconf_path="cloudcmsblog")[0] + BLOG_URL = blog_block.parent.get_navigation_url() + except Exception, e: + print e + if r.startswith(BLOG_URL): + return r + else: + return BLOG_URL + r # Feincms navigation extension @@ -173,3 +198,19 @@ class BlogCategoriesNavigationExtension(NavigationExtension): slug=category.translation.slug, ) + +# Feincms content abstract models +class LatestEntries(models.Model): + title = models.CharField(max_length=255) + limit = models.PositiveIntegerField(default=3) + display_text = models.BooleanField(default=False) + + class Meta: + abstract = True + verbose_name = _('Latest blog entries') + verbose_name_plural = _('Latest blog entries') + + def render(self, **kwargs): + return render_to_string(['content/latest_blog.html'], {'posts': + Entry.objects.latest(self.limit), 'content': self}) + diff --git a/conf/20-snf-cloudcms-settings.conf b/conf/20-snf-cloudcms-settings.conf index eb44d22..9142358 100644 --- a/conf/20-snf-cloudcms-settings.conf +++ b/conf/20-snf-cloudcms-settings.conf @@ -1,8 +1,15 @@ +# astakos cloudbar configuration +#CLOUDBAR_ACTIVE = True +#CLOUDBAR_LOCATION = 'https://accounts.okeanos.grnet.gr/static/im/cloudbar' +#CLOUDBAR_COOKIE_NAME = '_pithos2_a' +#CLOUDBAR_ACTIVE_SERVICE = 'cloud' +#CLOUDBAR_SERVICES_URL = 'https://accounts.okeanos.grnet.gr/im/get_services' +#CLOUDBAR_MENU_URL = 'https://accounts.okeanos.grnet.gr/im/get_menu' + + +# how many posts to display in blog list +CLOUDCMSBLOG_ENTRIES_PER_PAGE = 5 + # directory where cms medialibrary files are uploaded to FEINCMS_MEDIALIBRARY_UPLOAD_TO = '/usr/share/synnefo/static/cmsuploads/' -# Base url of cloudbar static files -# If you have an astakos deployment this should be -# http[s]:///static/cloudbar/ -CLOUDBAR_BASE_URL = False - -- 1.7.10.4