Revision d35930c2

b/cloudcms/cms.py
116 116
        ('sidebar', 'Sidebar', 'inherited'),
117 117
        ),
118 118
    },
119
    {
120
    'key': 'raw',
121
    'title': 'Empty content template',
122
    'path': 'cms/pages/empty.html',
123
    'regions': (
124
        ('main', 'Main region'),
125
        ),
126
    },
119 127
]
120 128

  
121 129
# register templates
......
129 137
Page.create_content_type(VideoContent)
130 138
Page.create_content_type(VideoSection)
131 139
Page.create_content_type(LatestEntries)
140
Page.create_content_type(IntroButton)
132 141
Page.create_content_type(ImageContent, POSITION_CHOICES=(
133 142
    ('default', 'Default position'),
134 143
))
b/cloudcms/content.py
175 175
    def render(self, **kwargs):
176 176
        return render_to_string(['content/login_form.html'], {'content': self})
177 177

  
178

  
179
class IntroButton(models.Model):
180

  
181
    class Meta:
182
        abstract = True
183
        verbose_name = _('intro images')
184
        verbose_name_plural = _('intro images')
185

  
186
    image_1 = MediaFileForeignKey(MediaFile, blank=True, null=True,
187
            related_name="as_image1")
188
    image_2 = MediaFileForeignKey(MediaFile, blank=True, null=True,
189
            related_name="as_image2")
190
    image_3 = MediaFileForeignKey(MediaFile, blank=True, null=True,
191
            related_name="as_image3")
192
    link = models.CharField(max_length=255, blank=False, default="/welcome")
193
    link_title = models.CharField(max_length=255, blank=False, default="~okeanos")
194

  
195
    def render(self, **kwargs):
196
        return render_to_string(['content/intro_images.html'], {'content': self})
197

  
198

  
b/cloudcms/migrate/page/0007_auto__add_introbutton.py
1
# encoding: utf-8
2
import datetime
3
from south.db import db
4
from south.v2 import SchemaMigration
5
from django.db import models
6

  
7
class Migration(SchemaMigration):
8
    
9
    def forwards(self, orm):
10
        
11
        # Adding model 'IntroButton'
12
        db.create_table('page_page_introbutton', (
13
            ('image_1', self.gf('feincms.module.medialibrary.fields.MediaFileForeignKey')(blank=True, related_name='as_image1', null=True, to=orm['medialibrary.MediaFile'])),
14
            ('image_3', self.gf('feincms.module.medialibrary.fields.MediaFileForeignKey')(blank=True, related_name='as_image3', null=True, to=orm['medialibrary.MediaFile'])),
15
            ('image_2', self.gf('feincms.module.medialibrary.fields.MediaFileForeignKey')(blank=True, related_name='as_image2', null=True, to=orm['medialibrary.MediaFile'])),
16
            ('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='introbutton_set', to=orm['page.Page'])),
17
            ('ordering', self.gf('django.db.models.fields.IntegerField')(default=0)),
18
            ('region', self.gf('django.db.models.fields.CharField')(max_length=255)),
19
            ('link', self.gf('django.db.models.fields.CharField')(default='/welcome', max_length=255)),
20
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
21
        ))
22
        db.send_create_signal('page', ['IntroButton'])
23
    
24
    
25
    def backwards(self, orm):
26
        
27
        # Deleting model 'IntroButton'
28
        db.delete_table('page_page_introbutton')
29
    
30
    
31
    models = {
32
        'medialibrary.category': {
33
            'Meta': {'object_name': 'Category'},
34
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
35
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}),
36
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}),
37
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
38
        },
39
        'medialibrary.mediafile': {
40
            'Meta': {'object_name': 'MediaFile'},
41
            'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}),
42
            'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
43
            'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
44
            'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}),
45
            'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
46
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
47
            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
48
        },
49
        'page.aboutblock': {
50
            'Meta': {'object_name': 'AboutBlock', 'db_table': "'page_page_aboutblock'"},
51
            'color': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
52
            'content': ('django.db.models.fields.TextField', [], {}),
53
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
54
            'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
55
            'image_position': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
56
            'offset_left': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
57
            'offset_top': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
58
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
59
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aboutblock_set'", 'to': "orm['page.Page']"}),
60
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
61
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
62
        },
63
        'page.applicationcontent': {
64
            'Meta': {'object_name': 'ApplicationContent', 'db_table': "'page_page_applicationcontent'"},
65
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
66
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
67
            'parameters': ('feincms.contrib.fields.JSONField', [], {'null': 'True'}),
68
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'applicationcontent_set'", 'to': "orm['page.Page']"}),
69
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
70
            'urlconf_path': ('django.db.models.fields.CharField', [], {'max_length': '100'})
71
        },
72
        'page.imagecontent': {
73
            'Meta': {'object_name': 'ImageContent', 'db_table': "'page_page_imagecontent'"},
74
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
75
            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
76
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
77
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'imagecontent_set'", 'to': "orm['page.Page']"}),
78
            'position': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '10'}),
79
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'})
80
        },
81
        'page.introbutton': {
82
            'Meta': {'object_name': 'IntroButton', 'db_table': "'page_page_introbutton'"},
83
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
84
            'image_1': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image1'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
85
            'image_2': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image2'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
86
            'image_3': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image3'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
87
            'link': ('django.db.models.fields.CharField', [], {'default': "'/welcome'", 'max_length': '255'}),
88
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
89
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'introbutton_set'", 'to': "orm['page.Page']"}),
90
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'})
91
        },
92
        'page.latestentries': {
93
            'Meta': {'object_name': 'LatestEntries', 'db_table': "'page_page_latestentries'"},
94
            'display_text': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
95
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
96
            'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '3'}),
97
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
98
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'latestentries_set'", 'to': "orm['page.Page']"}),
99
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
100
            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'})
101
        },
102
        'page.loginform': {
103
            'Meta': {'object_name': 'LoginForm', 'db_table': "'page_page_loginform'"},
104
            'action_url': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
105
            'bottom_content': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
106
            'display_forgot_password': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
107
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
108
            'logged_in_content': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
109
            'next_url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
110
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
111
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'loginform_set'", 'to': "orm['page.Page']"}),
112
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
113
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
114
        },
115
        'page.mediafilecontent': {
116
            'Meta': {'object_name': 'MediaFileContent', 'db_table': "'page_page_mediafilecontent'"},
117
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
118
            'mediafile': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'related_name': "'+'", 'to': "orm['medialibrary.MediaFile']"}),
119
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
120
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mediafilecontent_set'", 'to': "orm['page.Page']"}),
121
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
122
            'type': ('django.db.models.fields.CharField', [], {'default': "'lightbox'", 'max_length': '20'})
123
        },
124
        'page.page': {
125
            'Meta': {'object_name': 'Page'},
126
            '_cached_url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '300', 'db_index': 'True', 'blank': 'True'}),
127
            '_content_title': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
128
            '_page_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
129
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
130
            'creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
131
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
132
            'in_navigation': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
133
            'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}),
134
            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
135
            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
136
            'meta_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
137
            'meta_keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
138
            'modification_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
139
            'navigation_extension': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
140
            'override_url': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}),
141
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['page.Page']"}),
142
            'publication_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 3, 26, 12, 55)'}),
143
            'publication_end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
144
            'redirect_to': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}),
145
            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
146
            'site': ('django.db.models.fields.related.ForeignKey', [], {'default': '1', 'to': "orm['sites.Site']"}),
147
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}),
148
            'symlinked_page': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_page_symlinks'", 'null': 'True', 'to': "orm['page.Page']"}),
149
            'template_key': ('django.db.models.fields.CharField', [], {'default': "'basic'", 'max_length': '255'}),
150
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
151
            'translation_of': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'translations'", 'null': 'True', 'to': "orm['page.Page']"}),
152
            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
153
        },
154
        'page.rawcontent': {
155
            'Meta': {'object_name': 'RawContent', 'db_table': "'page_page_rawcontent'"},
156
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
157
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
158
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['page.Page']"}),
159
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
160
            'text': ('django.db.models.fields.TextField', [], {'blank': 'True'})
161
        },
162
        'page.richtextcontent': {
163
            'Meta': {'object_name': 'RichTextContent', 'db_table': "'page_page_richtextcontent'"},
164
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
165
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
166
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['page.Page']"}),
167
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
168
            'text': ('django.db.models.fields.TextField', [], {'blank': 'True'})
169
        },
170
        'page.sectioncontent': {
171
            'Meta': {'object_name': 'SectionContent', 'db_table': "'page_page_sectioncontent'"},
172
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
173
            'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
174
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
175
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['page.Page']"}),
176
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
177
            'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
178
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
179
            'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'})
180
        },
181
        'page.templatecontent': {
182
            'Meta': {'object_name': 'TemplateContent', 'db_table': "'page_page_templatecontent'"},
183
            'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
184
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
185
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
186
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['page.Page']"}),
187
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'})
188
        },
189
        'page.twitterfeed': {
190
            'Meta': {'object_name': 'TwitterFeed', 'db_table': "'page_page_twitterfeed'"},
191
            'account': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
192
            'avatar': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
193
            'extra_params': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
194
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
195
            'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}),
196
            'nots': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
197
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
198
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'twitterfeed_set'", 'to': "orm['page.Page']"}),
199
            'query': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
200
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
201
            'replies': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
202
            'retweets': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
203
            'tag': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
204
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'})
205
        },
206
        'page.videocontent': {
207
            'Meta': {'object_name': 'VideoContent', 'db_table': "'page_page_videocontent'"},
208
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
209
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
210
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videocontent_set'", 'to': "orm['page.Page']"}),
211
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
212
            'video': ('django.db.models.fields.URLField', [], {'max_length': '200'})
213
        },
214
        'page.videosection': {
215
            'Meta': {'object_name': 'VideoSection', 'db_table': "'page_page_videosection'"},
216
            'alt_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
217
            'extra_url_params': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
218
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
219
            'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
220
            'image_hover': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_hover_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
221
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
222
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videosection_set'", 'to': "orm['page.Page']"}),
223
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
224
            'section_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
225
            'video_height': ('django.db.models.fields.PositiveIntegerField', [], {'default': '550'}),
226
            'video_link': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
227
            'video_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
228
            'video_width': ('django.db.models.fields.PositiveIntegerField', [], {'default': '700'})
229
        },
230
        'sites.site': {
231
            'Meta': {'object_name': 'Site', 'db_table': "'django_site'"},
232
            'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
233
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
234
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
235
        }
236
    }
237
    
238
    complete_apps = ['page']
b/cloudcms/migrate/page/0008_auto__add_field_introbutton_link_title.py
1
# encoding: utf-8
2
import datetime
3
from south.db import db
4
from south.v2 import SchemaMigration
5
from django.db import models
6

  
7
class Migration(SchemaMigration):
8
    
9
    def forwards(self, orm):
10
        
11
        # Adding field 'IntroButton.link_title'
12
        db.add_column('page_page_introbutton', 'link_title', self.gf('django.db.models.fields.CharField')(default='~okeanos', max_length=255), keep_default=False)
13
    
14
    
15
    def backwards(self, orm):
16
        
17
        # Deleting field 'IntroButton.link_title'
18
        db.delete_column('page_page_introbutton', 'link_title')
19
    
20
    
21
    models = {
22
        'medialibrary.category': {
23
            'Meta': {'object_name': 'Category'},
24
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
25
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}),
26
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}),
27
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
28
        },
29
        'medialibrary.mediafile': {
30
            'Meta': {'object_name': 'MediaFile'},
31
            'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}),
32
            'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
33
            'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
34
            'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}),
35
            'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
36
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
37
            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
38
        },
39
        'page.aboutblock': {
40
            'Meta': {'object_name': 'AboutBlock', 'db_table': "'page_page_aboutblock'"},
41
            'color': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
42
            'content': ('django.db.models.fields.TextField', [], {}),
43
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
44
            'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
45
            'image_position': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
46
            'offset_left': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
47
            'offset_top': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
48
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
49
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aboutblock_set'", 'to': "orm['page.Page']"}),
50
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
51
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
52
        },
53
        'page.applicationcontent': {
54
            'Meta': {'object_name': 'ApplicationContent', 'db_table': "'page_page_applicationcontent'"},
55
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
56
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
57
            'parameters': ('feincms.contrib.fields.JSONField', [], {'null': 'True'}),
58
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'applicationcontent_set'", 'to': "orm['page.Page']"}),
59
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
60
            'urlconf_path': ('django.db.models.fields.CharField', [], {'max_length': '100'})
61
        },
62
        'page.imagecontent': {
63
            'Meta': {'object_name': 'ImageContent', 'db_table': "'page_page_imagecontent'"},
64
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
65
            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
66
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
67
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'imagecontent_set'", 'to': "orm['page.Page']"}),
68
            'position': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '10'}),
69
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'})
70
        },
71
        'page.introbutton': {
72
            'Meta': {'object_name': 'IntroButton', 'db_table': "'page_page_introbutton'"},
73
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
74
            'image_1': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image1'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
75
            'image_2': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image2'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
76
            'image_3': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image3'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
77
            'link': ('django.db.models.fields.CharField', [], {'default': "'/welcome'", 'max_length': '255'}),
78
            'link_title': ('django.db.models.fields.CharField', [], {'default': "'~okeanos'", 'max_length': '255'}),
79
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
80
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'introbutton_set'", 'to': "orm['page.Page']"}),
81
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'})
82
        },
83
        'page.latestentries': {
84
            'Meta': {'object_name': 'LatestEntries', 'db_table': "'page_page_latestentries'"},
85
            'display_text': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
86
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
87
            'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '3'}),
88
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
89
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'latestentries_set'", 'to': "orm['page.Page']"}),
90
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
91
            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'})
92
        },
93
        'page.loginform': {
94
            'Meta': {'object_name': 'LoginForm', 'db_table': "'page_page_loginform'"},
95
            'action_url': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
96
            'bottom_content': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
97
            'display_forgot_password': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
98
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
99
            'logged_in_content': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
100
            'next_url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
101
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
102
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'loginform_set'", 'to': "orm['page.Page']"}),
103
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
104
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
105
        },
106
        'page.mediafilecontent': {
107
            'Meta': {'object_name': 'MediaFileContent', 'db_table': "'page_page_mediafilecontent'"},
108
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
109
            'mediafile': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'related_name': "'+'", 'to': "orm['medialibrary.MediaFile']"}),
110
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
111
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mediafilecontent_set'", 'to': "orm['page.Page']"}),
112
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
113
            'type': ('django.db.models.fields.CharField', [], {'default': "'lightbox'", 'max_length': '20'})
114
        },
115
        'page.page': {
116
            'Meta': {'object_name': 'Page'},
117
            '_cached_url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '300', 'db_index': 'True', 'blank': 'True'}),
118
            '_content_title': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
119
            '_page_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
120
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
121
            'creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
122
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
123
            'in_navigation': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
124
            'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}),
125
            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
126
            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
127
            'meta_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
128
            'meta_keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
129
            'modification_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
130
            'navigation_extension': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
131
            'override_url': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}),
132
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['page.Page']"}),
133
            'publication_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 3, 26, 13, 5)'}),
134
            'publication_end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
135
            'redirect_to': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}),
136
            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
137
            'site': ('django.db.models.fields.related.ForeignKey', [], {'default': '1', 'to': "orm['sites.Site']"}),
138
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}),
139
            'symlinked_page': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_page_symlinks'", 'null': 'True', 'to': "orm['page.Page']"}),
140
            'template_key': ('django.db.models.fields.CharField', [], {'default': "'basic'", 'max_length': '255'}),
141
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
142
            'translation_of': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'translations'", 'null': 'True', 'to': "orm['page.Page']"}),
143
            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
144
        },
145
        'page.rawcontent': {
146
            'Meta': {'object_name': 'RawContent', 'db_table': "'page_page_rawcontent'"},
147
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
148
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
149
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['page.Page']"}),
150
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
151
            'text': ('django.db.models.fields.TextField', [], {'blank': 'True'})
152
        },
153
        'page.richtextcontent': {
154
            'Meta': {'object_name': 'RichTextContent', 'db_table': "'page_page_richtextcontent'"},
155
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
156
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
157
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['page.Page']"}),
158
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
159
            'text': ('django.db.models.fields.TextField', [], {'blank': 'True'})
160
        },
161
        'page.sectioncontent': {
162
            'Meta': {'object_name': 'SectionContent', 'db_table': "'page_page_sectioncontent'"},
163
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
164
            'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
165
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
166
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['page.Page']"}),
167
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
168
            'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
169
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
170
            'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'})
171
        },
172
        'page.templatecontent': {
173
            'Meta': {'object_name': 'TemplateContent', 'db_table': "'page_page_templatecontent'"},
174
            'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
175
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
176
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
177
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['page.Page']"}),
178
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'})
179
        },
180
        'page.twitterfeed': {
181
            'Meta': {'object_name': 'TwitterFeed', 'db_table': "'page_page_twitterfeed'"},
182
            'account': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
183
            'avatar': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
184
            'extra_params': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
185
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
186
            'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}),
187
            'nots': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
188
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
189
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'twitterfeed_set'", 'to': "orm['page.Page']"}),
190
            'query': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
191
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
192
            'replies': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
193
            'retweets': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
194
            'tag': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
195
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'})
196
        },
197
        'page.videocontent': {
198
            'Meta': {'object_name': 'VideoContent', 'db_table': "'page_page_videocontent'"},
199
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
200
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
201
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videocontent_set'", 'to': "orm['page.Page']"}),
202
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
203
            'video': ('django.db.models.fields.URLField', [], {'max_length': '200'})
204
        },
205
        'page.videosection': {
206
            'Meta': {'object_name': 'VideoSection', 'db_table': "'page_page_videosection'"},
207
            'alt_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
208
            'extra_url_params': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
209
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
210
            'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_image_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
211
            'image_hover': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_hover_for_video_section'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
212
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
213
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'videosection_set'", 'to': "orm['page.Page']"}),
214
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
215
            'section_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
216
            'video_height': ('django.db.models.fields.PositiveIntegerField', [], {'default': '550'}),
217
            'video_link': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
218
            'video_title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
219
            'video_width': ('django.db.models.fields.PositiveIntegerField', [], {'default': '700'})
220
        },
221
        'sites.site': {
222
            'Meta': {'object_name': 'Site', 'db_table': "'django_site'"},
223
            'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
224
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
225
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
226
        }
227
    }
228
    
229
    complete_apps = ['page']
b/cloudcms/templates/cms/pages/empty.html
1
{% extends "cms/base.html" %}
2

  
3
{% block page.mainbody %}
4
{% block page.maincol.content %}
5
    {% for content in feincms_page.content.main %}
6
        {{ content.render }}
7
    {% endfor %}
8
{% endblock %}
9
{% endblock %}
b/cloudcms/templates/content/intro_images.html
1
<style>
2
    .content {
3
        margin: 0 auto;
4
        height: 100%;
5
    }
6
    .intro-img {
7
        cursor: pointer;
8
        border: none;
9
        position: absolute;
10
        left:0;
11
        right:0;
12
    }
13
    a {
14
        border: none;
15
        outline: none;
16
    }
17
    .fadeimg {
18
        position: absolute;
19
        display: none;
20
        border: none;
21
        left:0;
22
        top:0;
23
    }
24
    .images {
25
        width: 657px;
26
        height: 590px;
27
        position: absolute;
28
    }
29
</style>
30

  
31
<script type="text/javascript">
32
    $(document).ready(function() {
33
        $(".content").css("width", "100%");
34
        var img = $(".images");
35
        var img_width = 657;
36
        var img_height = 590;
37

  
38
        function recenter_img() {
39
            img.css("left", ($(window).width()/2 - img_width/2) + "px");
40
            img.css("top", ($(window).height()/2 - img_height/2) + "px");
41
        }
42
        recenter_img();
43
        $(window).resize(function(){
44
            recenter_img();
45
        });
46

  
47
        function start_animation()
48
        {
49
            $(".fadeimg").fadeIn();
50
            $(".fadeimg").show();
51
        }
52

  
53
        function stop_animation()
54
        {
55
            $(".fadeimg").fadeOut();
56
        }
57
        
58
        var capture = ".images";
59
        $(capture).mouseenter(function(){
60
                start_animation();
61
        })
62
        $(capture).mouseleave(function() {
63
                    stop_animation();
64
        });
65
        $(capture).mouseup(function() {
66
                $(".intro-img").hide();
67
                window.location = $("a.intro-link").attr("href");
68
        });
69

  
70
        $(".images").mousedown(function(){
71
                $(".intro-img").attr("{{ content.image_3.get_absolute_url }}");
72
                $(".fadeimg").hide();
73
        });
74

  
75
        $(".images").click(function(evn){
76
                // evn.preventDefault();
77
                // var to = $(window).width() + img_width + 100 + "px";
78
                // $(".images").animate({"left": to}, 1000, function(){window.location = $("a.intro-link").attr("href")});
79
        });
80
    });
81
</script>
82

  
83
<div class="images">
84
    <a class="intro-link" href="{{ content.link }}" title="{{ content.link_title }}">
85
        <img class="intro-img" src="{{ content.image_1.get_absolute_url }}" alt="{{ content.link_title }}" />
86
        <img class="fadeimg" src="{{ content.image_2.get_absolute_url }}" />
87
    </a>
88
</div>

Also available in: Unified diff