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 "< 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