Revision 36d49217

b/cloudcms/migrate/cloudcmsfaq/0006_auto__add_field_category_image__add_field_category_class_name.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 'Category.image'
12
        db.add_column('cloudcmsfaq_category', 'image', self.gf('feincms.module.medialibrary.fields.MediaFileForeignKey')(to=orm['medialibrary.MediaFile'], null=True, blank=True), keep_default=False)
13

  
14
        # Adding field 'Category.class_name'
15
        db.add_column('cloudcmsfaq_category', 'class_name', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), keep_default=False)
16

  
17

  
18
    def backwards(self, orm):
19
        
20
        # Deleting field 'Category.image'
21
        db.delete_column('cloudcmsfaq_category', 'image_id')
22

  
23
        # Deleting field 'Category.class_name'
24
        db.delete_column('cloudcmsfaq_category', 'class_name')
25

  
26

  
27
    models = {
28
        'auth.group': {
29
            'Meta': {'object_name': 'Group'},
30
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
31
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
32
            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
33
        },
34
        'auth.permission': {
35
            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
36
            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
37
            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
38
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
39
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
40
        },
41
        'auth.user': {
42
            'Meta': {'object_name': 'User'},
43
            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
44
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
45
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
46
            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
47
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
48
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
49
            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
50
            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
51
            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
52
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
53
            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
54
            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
55
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
56
        },
57
        'cloudcms.application': {
58
            'Meta': {'object_name': 'Application'},
59
            'app_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
60
            'code': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
61
            'extra_styles': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
62
            'facebook_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
63
            'favicon': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_favicon'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
64
            'footer_bottom': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
65
            'footer_top': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
66
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
67
            'index_url': ('django.db.models.fields.CharField', [], {'default': "'/'", 'max_length': '255'}),
68
            'linked_in_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
69
            'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
70
            'show_twitter_feed_on_top': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
71
            'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}),
72
            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
73
            'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
74
        },
75
        'cloudcms.service': {
76
            'Meta': {'ordering': "['-ordering']", 'object_name': 'Service'},
77
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
78
            'image_faq': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
79
            'ordering': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}),
80
            'title_faq': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
81
            'title_userguide': ('django.db.models.fields.CharField', [], {'max_length': '100'})
82
        },
83
        'cloudcmsfaq.category': {
84
            'Meta': {'ordering': "['-ordering']", 'object_name': 'Category'},
85
            'class_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
86
            'display_on_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
87
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
88
            'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
89
            'ordering': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'})
90
        },
91
        'cloudcmsfaq.categorytranslation': {
92
            'Meta': {'ordering': "['title']", 'object_name': 'CategoryTranslation'},
93
            'description': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}),
94
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
95
            'language_code': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}),
96
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': "orm['cloudcmsfaq.Category']"}),
97
            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'}),
98
            'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
99
        },
100
        'cloudcmsfaq.imagecontent': {
101
            'Meta': {'ordering': "['ordering']", 'object_name': 'ImageContent', 'db_table': "'cloudcmsfaq_question_imagecontent'"},
102
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
103
            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
104
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
105
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'imagecontent_set'", 'to': "orm['cloudcmsfaq.Question']"}),
106
            'position': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '10'}),
107
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'})
108
        },
109
        'cloudcmsfaq.question': {
110
            'Meta': {'ordering': "['service', 'category', '-published_on']", 'object_name': 'Question'},
111
            'application': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'faqs'", 'symmetrical': 'False', 'to': "orm['cloudcms.Application']"}),
112
            'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faqs'", 'to': "orm['auth.User']"}),
113
            'category': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faqs'", 'to': "orm['cloudcmsfaq.Category']"}),
114
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
115
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
116
            'is_featured': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
117
            'language': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
118
            'last_changed': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
119
            'published_on': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'null': 'True', 'blank': 'True'}),
120
            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faqs'", 'null': 'True', 'to': "orm['cloudcms.Service']"}),
121
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'db_index': 'True'}),
122
            'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
123
        },
124
        'cloudcmsfaq.rawcontent': {
125
            'Meta': {'ordering': "['ordering']", 'object_name': 'RawContent', 'db_table': "'cloudcmsfaq_question_rawcontent'"},
126
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
127
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
128
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['cloudcmsfaq.Question']"}),
129
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
130
            'text': ('django.db.models.fields.TextField', [], {'blank': 'True'})
131
        },
132
        'cloudcmsfaq.richtextcontent': {
133
            'Meta': {'ordering': "['ordering']", 'object_name': 'RichTextContent', 'db_table': "'cloudcmsfaq_question_richtextcontent'"},
134
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
135
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
136
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['cloudcmsfaq.Question']"}),
137
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
138
            'text': ('django.db.models.fields.TextField', [], {'blank': 'True'})
139
        },
140
        'cloudcmsfaq.sectioncontent': {
141
            'Meta': {'ordering': "['ordering']", 'object_name': 'SectionContent', 'db_table': "'cloudcmsfaq_question_sectioncontent'"},
142
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
143
            'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cloudcmsfaq_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
144
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
145
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['cloudcmsfaq.Question']"}),
146
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
147
            'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
148
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
149
            'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'})
150
        },
151
        'cloudcmsfaq.templatecontent': {
152
            'Meta': {'ordering': "['ordering']", 'object_name': 'TemplateContent', 'db_table': "'cloudcmsfaq_question_templatecontent'"},
153
            'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
154
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
155
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
156
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['cloudcmsfaq.Question']"}),
157
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'})
158
        },
159
        'contenttypes.contenttype': {
160
            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
161
            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
162
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
163
            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
164
            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
165
        },
166
        'medialibrary.category': {
167
            'Meta': {'ordering': "['parent__title', 'title']", 'object_name': 'Category'},
168
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
169
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}),
170
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}),
171
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
172
        },
173
        'medialibrary.mediafile': {
174
            'Meta': {'object_name': 'MediaFile'},
175
            'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}),
176
            'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
177
            'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
178
            'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}),
179
            'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
180
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
181
            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
182
        },
183
        'sites.site': {
184
            'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"},
185
            'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
186
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
187
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
188
        }
189
    }
190

  
191
    complete_apps = ['cloudcmsfaq']
b/cloudcms/migrate/cloudcmsfaq/0007_auto__chg_field_question_published_on.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
        # Changing field 'Question.published_on'
12
        db.alter_column('cloudcmsfaq_question', 'published_on', self.gf('django.db.models.fields.DateTimeField')())
13

  
14

  
15
    def backwards(self, orm):
16
        
17
        # Changing field 'Question.published_on'
18
        db.alter_column('cloudcmsfaq_question', 'published_on', self.gf('django.db.models.fields.DateTimeField')(null=True))
19

  
20

  
21
    models = {
22
        'auth.group': {
23
            'Meta': {'object_name': 'Group'},
24
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
25
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
26
            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
27
        },
28
        'auth.permission': {
29
            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
30
            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
31
            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
32
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
33
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
34
        },
35
        'auth.user': {
36
            'Meta': {'object_name': 'User'},
37
            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
38
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
39
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
40
            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
41
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
42
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
43
            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
44
            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
45
            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
46
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
47
            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
48
            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
49
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
50
        },
51
        'cloudcms.application': {
52
            'Meta': {'object_name': 'Application'},
53
            'app_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
54
            'code': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
55
            'extra_styles': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
56
            'facebook_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
57
            'favicon': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_favicon'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
58
            'footer_bottom': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
59
            'footer_top': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
60
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
61
            'index_url': ('django.db.models.fields.CharField', [], {'default': "'/'", 'max_length': '255'}),
62
            'linked_in_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
63
            'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
64
            'show_twitter_feed_on_top': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
65
            'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}),
66
            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
67
            'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
68
        },
69
        'cloudcms.service': {
70
            'Meta': {'ordering': "['-ordering']", 'object_name': 'Service'},
71
            'class_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
72
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
73
            'image_faq': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'image_faq'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
74
            'image_userguide': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'image_userguide'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
75
            'ordering': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'})
76
        },
77
        'cloudcmsfaq.category': {
78
            'Meta': {'ordering': "['ordering']", 'object_name': 'Category'},
79
            'class_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
80
            'display_on_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
81
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
82
            'image': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
83
            'ordering': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'})
84
        },
85
        'cloudcmsfaq.categorytranslation': {
86
            'Meta': {'ordering': "['title']", 'object_name': 'CategoryTranslation'},
87
            'description': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}),
88
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
89
            'language_code': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}),
90
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': "orm['cloudcmsfaq.Category']"}),
91
            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'}),
92
            'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
93
        },
94
        'cloudcmsfaq.imagecontent': {
95
            'Meta': {'ordering': "['ordering']", 'object_name': 'ImageContent', 'db_table': "'cloudcmsfaq_question_imagecontent'"},
96
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
97
            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
98
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
99
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'imagecontent_set'", 'to': "orm['cloudcmsfaq.Question']"}),
100
            'position': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '10'}),
101
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'})
102
        },
103
        'cloudcmsfaq.question': {
104
            'Meta': {'ordering': "['service', 'category__ordering', '-published_on']", 'object_name': 'Question'},
105
            'application': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'faqs'", 'symmetrical': 'False', 'to': "orm['cloudcms.Application']"}),
106
            'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faqs'", 'to': "orm['auth.User']"}),
107
            'category': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faqs'", 'to': "orm['cloudcmsfaq.Category']"}),
108
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
109
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
110
            'is_featured': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
111
            'language': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
112
            'last_changed': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
113
            'published_on': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}),
114
            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faqs'", 'null': 'True', 'to': "orm['cloudcms.Service']"}),
115
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'db_index': 'True'}),
116
            'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
117
        },
118
        'cloudcmsfaq.rawcontent': {
119
            'Meta': {'ordering': "['ordering']", 'object_name': 'RawContent', 'db_table': "'cloudcmsfaq_question_rawcontent'"},
120
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
121
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
122
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rawcontent_set'", 'to': "orm['cloudcmsfaq.Question']"}),
123
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
124
            'text': ('django.db.models.fields.TextField', [], {'blank': 'True'})
125
        },
126
        'cloudcmsfaq.richtextcontent': {
127
            'Meta': {'ordering': "['ordering']", 'object_name': 'RichTextContent', 'db_table': "'cloudcmsfaq_question_richtextcontent'"},
128
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
129
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
130
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'richtextcontent_set'", 'to': "orm['cloudcmsfaq.Question']"}),
131
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
132
            'text': ('django.db.models.fields.TextField', [], {'blank': 'True'})
133
        },
134
        'cloudcmsfaq.sectioncontent': {
135
            'Meta': {'ordering': "['ordering']", 'object_name': 'SectionContent', 'db_table': "'cloudcmsfaq_question_sectioncontent'"},
136
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
137
            'mediafile': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cloudcmsfaq_sectioncontent_set'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
138
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
139
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sectioncontent_set'", 'to': "orm['cloudcmsfaq.Question']"}),
140
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
141
            'richtext': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
142
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
143
            'type': ('django.db.models.fields.CharField', [], {'default': "'block'", 'max_length': '10'})
144
        },
145
        'cloudcmsfaq.templatecontent': {
146
            'Meta': {'ordering': "['ordering']", 'object_name': 'TemplateContent', 'db_table': "'cloudcmsfaq_question_templatecontent'"},
147
            'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
148
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
149
            'ordering': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
150
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'templatecontent_set'", 'to': "orm['cloudcmsfaq.Question']"}),
151
            'region': ('django.db.models.fields.CharField', [], {'max_length': '255'})
152
        },
153
        'contenttypes.contenttype': {
154
            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
155
            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
156
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
157
            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
158
            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
159
        },
160
        'medialibrary.category': {
161
            'Meta': {'ordering': "['parent__title', 'title']", 'object_name': 'Category'},
162
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
163
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}),
164
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}),
165
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
166
        },
167
        'medialibrary.mediafile': {
168
            'Meta': {'object_name': 'MediaFile'},
169
            'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}),
170
            'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
171
            'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
172
            'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}),
173
            'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
174
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
175
            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
176
        },
177
        'sites.site': {
178
            'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"},
179
            'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
180
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
181
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
182
        }
183
    }
184

  
185
    complete_apps = ['cloudcmsfaq']
b/cloudcms/migrations/0010_auto__add_field_clientversionsource_default__add_field_service_title_f.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 'ClientVersionSource.default'
12
        db.add_column('cloudcms_clientversionsource', 'default', self.gf('django.db.models.fields.BooleanField')(default=True), keep_default=False)
13

  
14
        # Adding field 'Service.title_faq'
15
        db.add_column('cloudcms_service', 'title_faq', self.gf('django.db.models.fields.CharField')(default='', max_length=100), keep_default=False)
16

  
17
        # Adding field 'Service.title_userguide'
18
        db.add_column('cloudcms_service', 'title_userguide', self.gf('django.db.models.fields.CharField')(default='', max_length=100), keep_default=False)
19

  
20
        # Adding field 'Service.image_faq'
21
        db.add_column('cloudcms_service', 'image_faq', self.gf('feincms.module.medialibrary.fields.MediaFileForeignKey')(blank=True, related_name='image_faq', null=True, to=orm['medialibrary.MediaFile']), keep_default=False)
22

  
23
        # Adding field 'Service.image_userguide'
24
        db.add_column('cloudcms_service', 'image_userguide', self.gf('feincms.module.medialibrary.fields.MediaFileForeignKey')(blank=True, related_name='image_userguide', null=True, to=orm['medialibrary.MediaFile']), keep_default=False)
25

  
26
        # Adding field 'Service.class_name'
27
        db.add_column('cloudcms_service', 'class_name', self.gf('django.db.models.fields.CharField')(default='', max_length=100), keep_default=False)
28

  
29

  
30
    def backwards(self, orm):
31
        
32
        # Deleting field 'ClientVersionSource.default'
33
        db.delete_column('cloudcms_clientversionsource', 'default')
34

  
35
        # Deleting field 'Service.title_faq'
36
        db.delete_column('cloudcms_service', 'title_faq')
37

  
38
        # Deleting field 'Service.title_userguide'
39
        db.delete_column('cloudcms_service', 'title_userguide')
40

  
41
        # Deleting field 'Service.image_faq'
42
        db.delete_column('cloudcms_service', 'image_faq_id')
43

  
44
        # Deleting field 'Service.image_userguide'
45
        db.delete_column('cloudcms_service', 'image_userguide_id')
46

  
47
        # Deleting field 'Service.class_name'
48
        db.delete_column('cloudcms_service', 'class_name')
49

  
50

  
51
    models = {
52
        'cloudcms.application': {
53
            'Meta': {'object_name': 'Application'},
54
            'app_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
55
            'code': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
56
            'extra_styles': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
57
            'facebook_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
58
            'favicon': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_favicon'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
59
            'footer_bottom': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
60
            'footer_top': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
61
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
62
            'index_url': ('django.db.models.fields.CharField', [], {'default': "'/'", 'max_length': '255'}),
63
            'linked_in_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
64
            'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
65
            'show_twitter_feed_on_top': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
66
            'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}),
67
            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
68
            'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
69
        },
70
        'cloudcms.client': {
71
            'Meta': {'object_name': 'Client'},
72
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
73
            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
74
            'uid': ('django.db.models.fields.CharField', [], {'max_length': '255'})
75
        },
76
        'cloudcms.clientversionsource': {
77
            'Meta': {'object_name': 'ClientVersionSource'},
78
            'architecture': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
79
            'client': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cloudcms.Client']"}),
80
            'default': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
81
            'file_regex': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
82
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
83
            'link': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
84
            'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
85
            'os': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
86
            'source_type': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
87
            'version_regex': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
88
        },
89
        'cloudcms.service': {
90
            'Meta': {'ordering': "['-ordering']", 'object_name': 'Service'},
91
            'class_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
92
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
93
            'image_faq': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'image_faq'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
94
            'image_userguide': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'image_userguide'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
95
            'ordering': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}),
96
            'title_faq': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
97
            'title_userguide': ('django.db.models.fields.CharField', [], {'max_length': '100'})
98
        },
99
        'cloudcms.servicetranslation': {
100
            'Meta': {'ordering': "['title']", 'object_name': 'ServiceTranslation'},
101
            'cms_page': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['page.Page']", 'null': 'True', 'blank': 'True'}),
102
            'description': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}),
103
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
104
            'language_code': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}),
105
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': "orm['cloudcms.Service']"}),
106
            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'}),
107
            'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
108
        },
109
        'medialibrary.category': {
110
            'Meta': {'ordering': "['parent__title', 'title']", 'object_name': 'Category'},
111
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
112
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}),
113
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}),
114
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
115
        },
116
        'medialibrary.mediafile': {
117
            'Meta': {'object_name': 'MediaFile'},
118
            'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}),
119
            'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
120
            'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
121
            'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}),
122
            'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
123
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
124
            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
125
        },
126
        'page.page': {
127
            'Meta': {'ordering': "['tree_id', 'lft']", 'object_name': 'Page'},
128
            '_cached_url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '300', 'db_index': 'True', 'blank': 'True'}),
129
            '_content_title': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
130
            '_page_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
131
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
132
            'creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
133
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
134
            'in_navigation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
135
            'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}),
136
            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
137
            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
138
            'meta_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
139
            'meta_keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
140
            'modification_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
141
            'navigation_extension': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
142
            'override_url': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}),
143
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['page.Page']"}),
144
            'publication_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 7, 10, 12, 30)'}),
145
            'publication_end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
146
            'redirect_to': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}),
147
            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
148
            'site': ('django.db.models.fields.related.ForeignKey', [], {'default': '1', 'to': "orm['sites.Site']"}),
149
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}),
150
            'symlinked_page': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_page_symlinks'", 'null': 'True', 'to': "orm['page.Page']"}),
151
            'template_key': ('django.db.models.fields.CharField', [], {'default': "'twocolwide'", 'max_length': '255'}),
152
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
153
            'translation_of': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'translations'", 'null': 'True', 'to': "orm['page.Page']"}),
154
            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
155
        },
156
        'sites.site': {
157
            'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"},
158
            'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
159
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
160
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
161
        }
162
    }
163

  
164
    complete_apps = ['cloudcms']
b/cloudcms/migrations/0011_auto__del_field_service_title_faq__del_field_service_title_userguide__.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
        # Deleting field 'Service.title_faq'
12
        db.delete_column('cloudcms_service', 'title_faq')
13

  
14
        # Deleting field 'Service.title_userguide'
15
        db.delete_column('cloudcms_service', 'title_userguide')
16

  
17
        # Adding field 'ServiceTranslation.title_faq'
18
        db.add_column('cloudcms_servicetranslation', 'title_faq', self.gf('django.db.models.fields.CharField')(default='', max_length=100), keep_default=False)
19

  
20
        # Adding field 'ServiceTranslation.title_userguide'
21
        db.add_column('cloudcms_servicetranslation', 'title_userguide', self.gf('django.db.models.fields.CharField')(default='', max_length=100), keep_default=False)
22

  
23

  
24
    def backwards(self, orm):
25
        
26
        # Adding field 'Service.title_faq'
27
        db.add_column('cloudcms_service', 'title_faq', self.gf('django.db.models.fields.CharField')(default='', max_length=100), keep_default=False)
28

  
29
        # Adding field 'Service.title_userguide'
30
        db.add_column('cloudcms_service', 'title_userguide', self.gf('django.db.models.fields.CharField')(default='', max_length=100), keep_default=False)
31

  
32
        # Deleting field 'ServiceTranslation.title_faq'
33
        db.delete_column('cloudcms_servicetranslation', 'title_faq')
34

  
35
        # Deleting field 'ServiceTranslation.title_userguide'
36
        db.delete_column('cloudcms_servicetranslation', 'title_userguide')
37

  
38

  
39
    models = {
40
        'cloudcms.application': {
41
            'Meta': {'object_name': 'Application'},
42
            'app_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
43
            'code': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
44
            'extra_styles': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
45
            'facebook_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
46
            'favicon': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_favicon'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
47
            'footer_bottom': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
48
            'footer_top': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
49
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
50
            'index_url': ('django.db.models.fields.CharField', [], {'default': "'/'", 'max_length': '255'}),
51
            'linked_in_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
52
            'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
53
            'show_twitter_feed_on_top': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
54
            'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}),
55
            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
56
            'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
57
        },
58
        'cloudcms.client': {
59
            'Meta': {'object_name': 'Client'},
60
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
61
            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
62
            'uid': ('django.db.models.fields.CharField', [], {'max_length': '255'})
63
        },
64
        'cloudcms.clientversionsource': {
65
            'Meta': {'object_name': 'ClientVersionSource'},
66
            'architecture': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
67
            'client': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cloudcms.Client']"}),
68
            'default': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
69
            'file_regex': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
70
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
71
            'link': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
72
            'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
73
            'os': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
74
            'source_type': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
75
            'version_regex': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
76
        },
77
        'cloudcms.service': {
78
            'Meta': {'ordering': "['-ordering']", 'object_name': 'Service'},
79
            'class_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
80
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
81
            'image_faq': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'image_faq'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
82
            'image_userguide': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'image_userguide'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
83
            'ordering': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'})
84
        },
85
        'cloudcms.servicetranslation': {
86
            'Meta': {'ordering': "['title']", 'object_name': 'ServiceTranslation'},
87
            'cms_page': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['page.Page']", 'null': 'True', 'blank': 'True'}),
88
            'description': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}),
89
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
90
            'language_code': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}),
91
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': "orm['cloudcms.Service']"}),
92
            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'}),
93
            'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
94
            'title_faq': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
95
            'title_userguide': ('django.db.models.fields.CharField', [], {'max_length': '100'})
96
        },
97
        'medialibrary.category': {
98
            'Meta': {'ordering': "['parent__title', 'title']", 'object_name': 'Category'},
99
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
100
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}),
101
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}),
102
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
103
        },
104
        'medialibrary.mediafile': {
105
            'Meta': {'object_name': 'MediaFile'},
106
            'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}),
107
            'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
108
            'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
109
            'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}),
110
            'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
111
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
112
            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
113
        },
114
        'page.page': {
115
            'Meta': {'ordering': "['tree_id', 'lft']", 'object_name': 'Page'},
116
            '_cached_url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '300', 'db_index': 'True', 'blank': 'True'}),
117
            '_content_title': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
118
            '_page_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
119
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
120
            'creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
121
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
122
            'in_navigation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
123
            'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}),
124
            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
125
            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
126
            'meta_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
127
            'meta_keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
128
            'modification_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
129
            'navigation_extension': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
130
            'override_url': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}),
131
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['page.Page']"}),
132
            'publication_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 7, 10, 12, 35)'}),
133
            'publication_end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
134
            'redirect_to': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}),
135
            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
136
            'site': ('django.db.models.fields.related.ForeignKey', [], {'default': '1', 'to': "orm['sites.Site']"}),
137
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150', 'db_index': 'True'}),
138
            'symlinked_page': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_page_symlinks'", 'null': 'True', 'to': "orm['page.Page']"}),
139
            'template_key': ('django.db.models.fields.CharField', [], {'default': "'twocolwide'", 'max_length': '255'}),
140
            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
141
            'translation_of': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'translations'", 'null': 'True', 'to': "orm['page.Page']"}),
142
            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
143
        },
144
        'sites.site': {
145
            'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"},
146
            'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
147
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
148
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
149
        }
150
    }
151

  
152
    complete_apps = ['cloudcms']
b/cloudcms/models.py
159 159
    """
160 160

  
161 161
    ordering = models.SmallIntegerField(_('ordering'), default=0)
162

  
162
    image_faq = MediaFileForeignKey(MediaFile, blank=True, null=True, related_name='image_faq')
163
    image_userguide = MediaFileForeignKey(MediaFile, blank=True, null=True,related_name='image_userguide')
164
    class_name = models.CharField(_('class name'), max_length=100, blank=True)
165
    
166
    
163 167
    class Meta:
164 168
        verbose_name = _('service')
165 169
        verbose_name_plural = _('services')
......
167 171

  
168 172
    objects = translations.TranslatedObjectManager()
169 173

  
174
    def get_first_question(self):
175
        try:
176
            return self.faqs.filter(is_active=True)[0]
177
        except:
178
            return None
179
        
170 180
    def __unicode__(self):
171 181
        trans = translations.TranslatedObjectMixin.__unicode__(self)
172 182
        return trans or _('Unnamed category')
......
180 190
    slug = models.SlugField(_('slug'), unique=True)
181 191
    description = models.CharField(_('description'), max_length=250, blank=True)
182 192
    cms_page = models.ForeignKey(Page, null=True, blank=True)
183

  
193
    title_faq = models.CharField(_('service title (faq section)'), max_length=100, blank=True)
194
    title_userguide = models.CharField(_('service title (userguide section)'), max_length=100, blank=True)
195
    
184 196
    class Meta:
185 197
        verbose_name = _('service translation')
186 198
        verbose_name_plural = _('service translations')
b/cloudcms/static/cloudcms/css/forms.css
43 43
form input[type="text"]:focus label,
44 44
form input[type="password"]:focus label 	{ z-index: 300;}
45 45
form input.submit, 
46
form input[type="submit"]					{font-family: 'Antic', sans-serif;font-size: 14px; font-weight: normal; line-height: 22px; letter-spacing:1px;  background-color: #f89a1c;color: #ffffff; border: none; padding: 10px 22px;font-size: 1em; margin:15px 0 0 223px; height:43px; }
46
form input[type="submit"],
47
a.submit									{font-family: 'Antic', sans-serif;font-size: 14px; font-weight: normal; line-height: 22px; letter-spacing:1px;  background-color: #f89a1c;color: #ffffff; border: none; padding: 10px 22px;font-size: 1em; margin:15px 0 0 223px; height:43px; }
47 48
form.innerlabels input.submit, 
48 49
form.innerlabels input[type="submit"]		{margin-left:0;}
49 50
form input.submit:hover, 
50
form input[type="submit"]:hover 			{ background-color:#3582ac;border-color:#3582ac;}
51
form input[type="submit"]:hover,
52
a.submit:hover					 			{ background-color:#3582ac;border-color:#3582ac; text-decoration:none;}
51 53
form input.submit.back, 
52 54
form input[type="submit"].back 				{ text-decoration: none; bottom: 0; float: right; z-index: 500; }
53 55
form input.submit.back.right, 
......
148 150
@media screen and ( width : 320px) 		{ 
149 151
	#okeanos_recaptcha							{ width:259px }
150 152
    
151
}
153
}
154

  
155
p+ form											{ margin:2em 0; }
b/cloudcms/static/cloudcms/css/max768.css
10 10
.documentation img								{ max-width:100%; }
11 11
/* forms */
12 12
form input.submit, form input[type="submit"] 	{ margin:0; }
13
form .form-row .extra-link 						{ padding-top:0; }
13
form .form-row .extra-link 						{ padding-top:0; }
14
.faq .two-cols .rt								{ width:auto; }
15
.faq .two-cols .lt								{ width:auto; }
b/cloudcms/static/cloudcms/css/max960.css
5 5
.two-cols .rt img						{ max-width:100%; }
6 6
.two-cols  .lt							{ width:45%; }
7 7
.two-cols-blog .rt 						{ width:25%; padding-right:0; margin-left:30px;}
8
.top-msg								{ margin-left:-9%; margin-right:-9%; padding-left:20%; padding-right:20%; }
8
.top-msg								{ margin-left:-9%; margin-right:-9%; padding-left:20%; padding-right:20%; }
9
.faq .two-cols .rt						{ width:35%; }
10
.faq .two-cols .lt						{ width:55%; }
b/cloudcms/static/cloudcms/css/modules.css
65 65
.container .extra ul.options					{ font-size:1em; margin:0 ; padding:15px; }
66 66
.landing h2, .landing a:hover                   { color:#01A1AE;}
67 67
.faq h2, .faq a:hover, .faq .current a          { color:#EF4F54; border:0 none;}
68
.content .question h2							{ color:#EF4F54 }
68
.question h2									{ color:#EF4F54 }
69 69
.content .backlink								{ margin:1em 0; }
70
.content .question .backlink a:hover			{ border-bottom:1px solid #F89A1C }
71 70
.faq h3											{ color:#4085a6; margin:0;}
72 71
.faq ul                                         { padding:0; margin:0; }
73 72
.faq ul li                                      { list-style:none outside; padding:0; margin:0;  }
......
216 215
#animation p img                                { display:inline-block; width:65%; }
217 216

  
218 217
/* Weird bug in pages that contain captcha. An extra iframe appears in chrome :S*/
219
.container +iframe								{ display:none; }
218
.container +iframe								{ display:none; }
219

  
220
/* Style for im/projects */
221
table.alt-style 								{ color:#000; width:100%; }
222
table.alt-style caption							{ font-weight:normal;  font-size:1.154em; }
223
table.alt-style tr th							{ font-weight:normal; color:#3582AC }
224
table.alt-style tr td							{ color:#222; }
225
table.alt-style tr td:first-child,
226
table.alt-style tr th:first-child				{ padding-left:5px; }
227
.content a.submit								{ margin:0; display:inline-block; margin:10px 0 ;  height:auto;}
228
table.alt-style tr:nth-child(2n) td				{ background:#F2F2F2 }
229
dl.alt-style  									{ width:500px; }
230
dl.alt-style dt									{ width:50%; float:left; color:#3582AC; font-weight:normal;}
231
dl.alt-style dt:nth-child(2n)					{ background:black; }
232
.projects										{ padding-bottom:30px; }
233
.projects h2 span								{ color:#3582AC;}
234
.projects h2 em									{ float:right; }
235
.projects h3									{ font-size:1.154em; }
236
.projects .submit-rt							{ margin:0; text-align:right; }
237
.projects +.buttons-list.fixpos					{ left:0; right:auto; }
238

  
239
/* new faq-userguide styles */
240

  
241
.faq .two-cols .lt								{ width:460px; }
242
.faq .two-cols .rt								{ width:340px; }
243
.lt-small .rt									{ width:520px; }
244
.lt-small .lt									{ width:280px; }
245
.unequal-dotted									{ background:url(../images/double-dots-unequal.jpg) no-repeat top center; padding: 30px 0 0 ; margin-top:30px;}
246
.unequal-dotted:first-child						{ background:none; padding-top:0; margin-top:0; }
247
.tirkouaz h2,
248
.tirkouaz h2 a,
249
.tirkouaz h3,
250
.tirkouaz a:hover								{ color:#00A1B0; }
251
.yellow h2,
252
.yellow h2 a,
253
.yellow h3,
254
.yellow a:hover									{ color:#F6921E; }
255
.purple h2,
256
.purple h2 a,
257
.purple h3,
258
.purple a:hover									{ color:#7B499C; }
259

  
260
.details ul li a,
261
.details ul li a:hover,
262
.question .content a:hover						{ color:#F6921E }
263
.details .extra-menu							{ border-top: 1px dashed #000; padding-top:20px; margin-top:20px; }
264
.question .next-prev							{ margin:10px 0; }
265
.question .next								{ float:right; }
b/cloudcms/static/cloudcms/js/common.js
153 153
    
154 154
    /*$('#animation a').hover(
155 155
      function () {
156
      	var src = $(this).find('img').attr('src').replace('.png', '_top.png')
157
        $(this).find('img').attr("src", src);
156
      	
158 157
        $(this).animate({
159 158
           top: '+=-10'   
160
           }, 600, function() {
161
           		// action to do when animation is finished
162
		});
159
           }, 600);
163 160
        $(this).siblings('p').find('img').animate({
164 161
          width: '60%'       
165 162
        });
166 163
      }, 
167 164
      function () {
168
      	
169
        $(this).animate({
170
         top: '0'   
171
            
172
        }, 600, function() {
173
           	var src = $(this).find('img').attr('src').replace('_top.png', '.png')
174
        	$(this).find('img').attr("src", src);
175
		});
165

  
166
        $(this).animate({top: '0'}, 600);
176 167
        $(this).siblings('p').find('img').animate({
177 168
          width: '65%'       
178 169
        });
b/cloudcms/templates/cms/base.html
15 15
  {% endblock favicons %}
16 16

  
17 17
  {% block css %}
18
      <link href='https://fonts.googleapis.com/css?family=Antic' rel='stylesheet' type='text/css'>
18
      <link href="https://fonts.googleapis.com/css?family=Antic" rel="stylesheet" type="text/css">
19 19
      <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}cloudcms/css/global.css">
20 20
      <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}cloudcms/css/print.css" media="print">
21 21
      <!--[if lte IE 7]>
b/cloudcms/templatetags/cloudcms_tags.py
1 1
from django import template
2 2
from cloudcmsfaq.models import Question
3
from collections import OrderedDict
3 4

  
4 5
register = template.Library()
5 6

  
......
8 9
    """
9 10
    Retrun service faqs grouped by category
10 11
    """
11
    grouped = {}
12
    grouped = OrderedDict()
12 13

  
13 14
    for q in Question.objects.active().filter(service=service, is_active=True):
14 15
        if q.category not in grouped:
b/cloudcmsfaq/admin.py
69 69

  
70 70
class CategoryAdmin(admin.ModelAdmin):
71 71
    inlines = [CategoryTranslationInline]
72
    list_display = ['__unicode__', 'faqs']
72
    list_display = ['__unicode__', 'faqs', 'ordering']
73
    list_editable = ['ordering']
73 74
    search_fields = ['translations__title']
74 75

  
75 76
    def faqs(self, obj):
b/cloudcmsfaq/models.py
66 66

  
67 67
    ordering = models.SmallIntegerField(_('ordering'), default=0)
68 68
    display_on_menu = models.BooleanField(default=False)
69
    image = MediaFileForeignKey(MediaFile, blank=True, null=True)
70
    class_name = models.CharField(_('class_name'), max_length=200, blank=True, null=True)
69 71

  
70 72
    class Meta:
71 73
        verbose_name = _('category')
72 74
        verbose_name_plural = _('categories')
73
        ordering = ['-ordering',]
75
        ordering = ['ordering',]
74 76

  
75 77
    objects = translations.TranslatedObjectManager()
76

  
78
 
79
        
77 80
    def __unicode__(self):
78 81
        trans = translations.TranslatedObjectMixin.__unicode__(self)
79 82
        return trans or _('Unnamed category')
......
133 136
            related_name="faqs",
134 137
            verbose_name=_('application'))
135 138

  
136
    published_on = models.DateTimeField(_('published on'), blank=True, null=True, default=datetime.now,
139
    published_on = models.DateTimeField(_('published on'), blank=True, null=False, default=datetime.now,
137 140
        help_text=_('Will be filled in automatically when question gets published.'))
138 141
    last_changed = models.DateTimeField(_('last change'), auto_now=True, editable=False)
139 142

  
......
145 148

  
146 149
    objects = QuestionManager()
147 150

  
151

  
148 152
    class Meta:
149 153
        get_latest_by = 'published_on'
150
        ordering = ['service', 'category', '-published_on']
154
        ordering = ['service', 'category__ordering', 'published_on']
151 155
        verbose_name = _('faq')
152 156
        verbose_name_plural = _('faqs')
153 157

  
154 158
    def __unicode__(self):
155 159
        return self.title
156 160

  
161
    def get_next(self):
162
        return self.get_next_by_published_on(category=self.category, service=self.service)
163

  
164
    def get_previous(self):
165
        return self.get_previous_by_published_on(category=self.category, service=self.service)
166
    
157 167
    def get_absolute_url(self):
158 168
        try:
159 169
            r = reverse('cloudcmsfaq_question_detail', 'cloudcmsfaq.urls', (),
b/cloudcmsfaq/templates/cloudcmsfaq/archive.html
1 1
{% load applicationcontent_tags pagination_tags i18n cloudcms_tags %}
2 2

  
3 3
<div class="faq">
4
    {% for service in services %}
5
    <div class="faq-category">
6
        <h2>{{ service.translation.title|upper }}</h2>
7
        <ul>
8
            <li class="category">
9
            {% for category, questions in service|get_service_faqs %}
10
              <h3>{{ category.translation.title|upper }}</h3>
11
              <ul>
12
                {% for q in questions %}
13
                  <li {% if q == question %}class="current"{% endif %}>
14
                    <a href="{{ q.get_absolute_url }}">{{ q.title }}</a>
15
                  </li>
16
                  {% endfor %}
17
                  <br />
18
              </ul>
19
            {% endfor %}
20
            </li>
21
        </ul>
4
 
5
	{% for service in services %}
6
    
7
    <div class="two-cols clearfix unequal-dotted">
8
    	<div class="rt">
9
    		<img src="{{ service.image_faq.get_absolute_url }}" alt="{{ service.image_faq.title }}" />
10
    	</div>
11
    	<div class="lt">
12
    		<div class="faq-category {{ service.class_name }}">
13
		        <h2>{{ service.translation.title_faq|upper }}</h2>
14
			    {% for category, questions in service|get_service_faqs %}
15
	              <h3>{{ category.translation.title }}</h3>
16
	              <ul>
17
	                {% for q in questions %}
18
	                  <li {% if q == question %}class="current"{% endif %}>
19
	                    <a href="{{ q.get_absolute_url }}">{{ q.title }}</a>
20
	                  </li>
21
	                  {% endfor %}
22
	                  <br />
23
	              </ul>
24
	            {% endfor %}
25
		    </div>
26
    	</div>
27
 
28

  
22 29
    </div>
30
    
23 31
    {% endfor %}
24 32
</div>
b/cloudcmsfaq/templates/cloudcmsfaq/detail.html
1
{% load applicationcontent_tags i18n %}
1
{% load applicationcontent_tags pagination_tags i18n cloudcms_tags %}
2 2

  
3
{% fragment request "sidecol" %}
4
{% include "cloudcmsfaq/archive.html" %}
5
{% endfragment %}
3
<div class="two-cols lt-small clearfix details faq">
4
	<div class="rt">
5
		<div class="question details {{ question.service.class_name }}">
6
		    <h2>{{ question.title|upper }}</h2>
7
		    <div class="content">
8
		        {% for content in question.content.main %}
9
		            {{ content.render }}
10
		        {% endfor %}
11
		    </div>
12
		    <div class="clearfix next-prev">
13
	    	{% if question.get_next %}
14
	    		<a href="{{ question.get_next.get_absolute_url }}" class="next">Next ></a> 	
15
	        {% endif %} 
16
	    	{% if question.get_previous %}
17
	    		<a href="{{ question.get_previous.get_absolute_url }}" class="prev">< Previous</a>
18
	    	{% else %}
19
	    		<a href="{{ question.back_url }}">{% trans "&lt; Back to FAQ" %}</a>
20
	    	{% endif%}
21
		    	
22
		    </div>
23
		</div>
24
		 
25
		<div class="extra-menu">
26
			{% for service in services %}
27
				{% if service == question.service %}
28
				<div class="faq-category {{ service.class_name }}">				 
29
					 {% for category, questions in service|get_service_faqs %}
30
					 	{% if category == question.category %}
31
					 	  <h3>{{ service.translation.title_faq|upper }} > {{ category.translation.title }}</h3>
32
			              <ul>
33
			                {% for q in questions %}
34
			                  <li>
35
			                     {% if q != question %}<a href="{{ q.get_absolute_url }}">{% endif %}{{ q.title }}{% if q != question %}</a>{% endif %}
36
			                  </li>
37
			                  {% endfor %}
38
			                  <br />
39
			              </ul>
40
			           {% endif %}
41
			         {% endfor %}
42
				</div>
43
				{% endif %}
44
			{% endfor %}
45
		</div>
46
	</div>
47
	 
48
	<div class="lt">
49
		{% for service in services %}
50
		<div class="faq-category {{ service.class_name }}">
51
			<h2>
52
				{% if service != question.service %}
53
					<a href="{{ service.get_first_question.get_absolute_url }}">
54
				{% endif %}
55
					{{ service.translation.title_faq|upper }}
56
				{% if service != question.service %}
57
					</a>
58
				{% endif %}
59
			</h2>
60
			 
61
			 {% for category, questions in service|get_service_faqs %}
6 62

  
7
{% fragment request "maincol" %}
8
<div class="question">
9
    <h2>{{ question.title|upper }}</h2>
10
    <div class="content">
11
        {% for content in question.content.main %}
12
            {{ content.render }}
13
        {% endfor %}
14
    </div>
15
    <div class="bottom-content backlink">
16
        <a href="{{ question.back_url }}">{% trans "< Back to FAQ" %}</a>
17
    </div>
18
</div>
19
{% endfragment %}
63
			 	{% if service == question.service %}
64
              <h3>{{ category.translation.title }}</h3>
65
              <ul>
66
                {% for q in questions %}
67
                  <li>
68
                     {% if q != question %}<a href="{{ q.get_absolute_url }}">{% endif %}{{ q.title }}{% if q != question %}</a>{% endif %}
69
                  </li>
70
                  {% endfor %}
71
                  <br />
72
              </ul>
73
	           {% endif %}
74
	         {% endfor %}
75
		</div>
76
		{% endfor %}
77
	</div>
78
</div>	
79

  
80
 
81

  
82
 
b/cloudcmsfaq/views.py
57 57
    Display detailed question.
58 58
    """
59 59
    entry = Question.objects.get(slug=slug)
60
    services = Service.objects.filter(pk=entry.service.pk)
61

  
60
    services = Service.objects.all()
61
    
62 62
    return direct_to_template(request,
63 63
            "cloudcmsfaq/detail.html", {'question': entry,
64
                                        'services': services})
64
                                        'services': services })
65 65

  

Also available in: Unified diff