Empty template, and intro "button" content type
authorKostas Papadimitriou <kpap@grnet.gr>
Mon, 26 Mar 2012 13:12:39 +0000 (16:12 +0300)
committerKostas Papadimitriou <kpap@grnet.gr>
Mon, 26 Mar 2012 13:12:39 +0000 (16:12 +0300)
cloudcms/cms.py
cloudcms/content.py
cloudcms/migrate/page/0007_auto__add_introbutton.py [new file with mode: 0644]
cloudcms/migrate/page/0008_auto__add_field_introbutton_link_title.py [new file with mode: 0644]
cloudcms/templates/cms/pages/empty.html [new file with mode: 0644]
cloudcms/templates/content/intro_images.html [new file with mode: 0644]

index 4cf9d5f..fc76a50 100644 (file)
@@ -116,6 +116,14 @@ TEMPLATES = [{
         ('sidebar', 'Sidebar', 'inherited'),
         ),
     },
+    {
+    'key': 'raw',
+    'title': 'Empty content template',
+    'path': 'cms/pages/empty.html',
+    'regions': (
+        ('main', 'Main region'),
+        ),
+    },
 ]
 
 # register templates
@@ -129,6 +137,7 @@ Page.create_content_type(TwitterFeed)
 Page.create_content_type(VideoContent)
 Page.create_content_type(VideoSection)
 Page.create_content_type(LatestEntries)
+Page.create_content_type(IntroButton)
 Page.create_content_type(ImageContent, POSITION_CHOICES=(
     ('default', 'Default position'),
 ))
index d5715ae..6125612 100644 (file)
@@ -175,3 +175,24 @@ class LoginForm(models.Model):
     def render(self, **kwargs):
         return render_to_string(['content/login_form.html'], {'content': self})
 
+
+class IntroButton(models.Model):
+
+    class Meta:
+        abstract = True
+        verbose_name = _('intro images')
+        verbose_name_plural = _('intro images')
+
+    image_1 = MediaFileForeignKey(MediaFile, blank=True, null=True,
+            related_name="as_image1")
+    image_2 = MediaFileForeignKey(MediaFile, blank=True, null=True,
+            related_name="as_image2")
+    image_3 = MediaFileForeignKey(MediaFile, blank=True, null=True,
+            related_name="as_image3")
+    link = models.CharField(max_length=255, blank=False, default="/welcome")
+    link_title = models.CharField(max_length=255, blank=False, default="~okeanos")
+
+    def render(self, **kwargs):
+        return render_to_string(['content/intro_images.html'], {'content': self})
+
+
diff --git a/cloudcms/migrate/page/0007_auto__add_introbutton.py b/cloudcms/migrate/page/0007_auto__add_introbutton.py
new file mode 100644 (file)
index 0000000..4f3f6ac
--- /dev/null
@@ -0,0 +1,238 @@
+# 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 'IntroButton'
+        db.create_table('page_page_introbutton', (
+            ('image_1', self.gf('feincms.module.medialibrary.fields.MediaFileForeignKey')(blank=True, related_name='as_image1', null=True, to=orm['medialibrary.MediaFile'])),
+            ('image_3', self.gf('feincms.module.medialibrary.fields.MediaFileForeignKey')(blank=True, related_name='as_image3', null=True, to=orm['medialibrary.MediaFile'])),
+            ('image_2', self.gf('feincms.module.medialibrary.fields.MediaFileForeignKey')(blank=True, related_name='as_image2', null=True, to=orm['medialibrary.MediaFile'])),
+            ('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='introbutton_set', to=orm['page.Page'])),
+            ('ordering', self.gf('django.db.models.fields.IntegerField')(default=0)),
+            ('region', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('link', self.gf('django.db.models.fields.CharField')(default='/welcome', max_length=255)),
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('page', ['IntroButton'])
+    
+    
+    def backwards(self, orm):
+        
+        # Deleting model 'IntroButton'
+        db.delete_table('page_page_introbutton')
+    
+    
+    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.introbutton': {
+            'Meta': {'object_name': 'IntroButton', 'db_table': "'page_page_introbutton'"},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'image_1': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image1'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
+            'image_2': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image2'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
+            'image_3': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image3'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
+            'link': ('django.db.models.fields.CharField', [], {'default': "'/welcome'", 'max_length': '255'}),
+            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'introbutton_set'", 'to': "orm['page.Page']"}),
+            '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, 26, 12, 55)'}),
+            '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/0008_auto__add_field_introbutton_link_title.py b/cloudcms/migrate/page/0008_auto__add_field_introbutton_link_title.py
new file mode 100644 (file)
index 0000000..2d200dc
--- /dev/null
@@ -0,0 +1,229 @@
+# 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 'IntroButton.link_title'
+        db.add_column('page_page_introbutton', 'link_title', self.gf('django.db.models.fields.CharField')(default='~okeanos', max_length=255), keep_default=False)
+    
+    
+    def backwards(self, orm):
+        
+        # Deleting field 'IntroButton.link_title'
+        db.delete_column('page_page_introbutton', 'link_title')
+    
+    
+    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.introbutton': {
+            'Meta': {'object_name': 'IntroButton', 'db_table': "'page_page_introbutton'"},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'image_1': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image1'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
+            'image_2': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image2'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
+            'image_3': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image3'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
+            'link': ('django.db.models.fields.CharField', [], {'default': "'/welcome'", 'max_length': '255'}),
+            'link_title': ('django.db.models.fields.CharField', [], {'default': "'~okeanos'", 'max_length': '255'}),
+            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'introbutton_set'", 'to': "orm['page.Page']"}),
+            '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, 26, 13, 5)'}),
+            '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/templates/cms/pages/empty.html b/cloudcms/templates/cms/pages/empty.html
new file mode 100644 (file)
index 0000000..bd2ce39
--- /dev/null
@@ -0,0 +1,9 @@
+{% extends "cms/base.html" %}
+
+{% block page.mainbody %}
+{% block page.maincol.content %}
+    {% for content in feincms_page.content.main %}
+        {{ content.render }}
+    {% endfor %}
+{% endblock %}
+{% endblock %}
diff --git a/cloudcms/templates/content/intro_images.html b/cloudcms/templates/content/intro_images.html
new file mode 100644 (file)
index 0000000..f16c713
--- /dev/null
@@ -0,0 +1,88 @@
+<style>
+    .content {
+        margin: 0 auto;
+        height: 100%;
+    }
+    .intro-img {
+        cursor: pointer;
+        border: none;
+        position: absolute;
+        left:0;
+        right:0;
+    }
+    a {
+        border: none;
+        outline: none;
+    }
+    .fadeimg {
+        position: absolute;
+        display: none;
+        border: none;
+        left:0;
+        top:0;
+    }
+    .images {
+        width: 657px;
+        height: 590px;
+        position: absolute;
+    }
+</style>
+
+<script type="text/javascript">
+    $(document).ready(function() {
+        $(".content").css("width", "100%");
+        var img = $(".images");
+        var img_width = 657;
+        var img_height = 590;
+
+        function recenter_img() {
+            img.css("left", ($(window).width()/2 - img_width/2) + "px");
+            img.css("top", ($(window).height()/2 - img_height/2) + "px");
+        }
+        recenter_img();
+        $(window).resize(function(){
+            recenter_img();
+        });
+
+        function start_animation()
+        {
+            $(".fadeimg").fadeIn();
+            $(".fadeimg").show();
+        }
+
+        function stop_animation()
+        {
+            $(".fadeimg").fadeOut();
+        }
+        
+        var capture = ".images";
+        $(capture).mouseenter(function(){
+                start_animation();
+        })
+        $(capture).mouseleave(function() {
+                    stop_animation();
+        });
+        $(capture).mouseup(function() {
+                $(".intro-img").hide();
+                window.location = $("a.intro-link").attr("href");
+        });
+
+        $(".images").mousedown(function(){
+                $(".intro-img").attr("{{ content.image_3.get_absolute_url }}");
+                $(".fadeimg").hide();
+        });
+
+        $(".images").click(function(evn){
+                // evn.preventDefault();
+                // var to = $(window).width() + img_width + 100 + "px";
+                // $(".images").animate({"left": to}, 1000, function(){window.location = $("a.intro-link").attr("href")});
+        });
+    });
+</script>
+
+<div class="images">
+    <a class="intro-link" href="{{ content.link }}" title="{{ content.link_title }}">
+        <img class="intro-img" src="{{ content.image_1.get_absolute_url }}" alt="{{ content.link_title }}" />
+        <img class="fadeimg" src="{{ content.image_2.get_absolute_url }}" />
+    </a>
+</div>