--- /dev/null
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding field 'Application.show_rss_feed_on_blog'
+ db.add_column('cloudcms_application', 'show_rss_feed_on_blog',
+ self.gf('django.db.models.fields.BooleanField')(default=False),
+ keep_default=False)
+
+ # Adding field 'Application.rss_url'
+ db.add_column('cloudcms_application', 'rss_url',
+ self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting field 'Application.show_rss_feed_on_blog'
+ db.delete_column('cloudcms_application', 'show_rss_feed_on_blog')
+
+ # Deleting field 'Application.rss_url'
+ db.delete_column('cloudcms_application', 'rss_url')
+
+
+ models = {
+ 'cloudcms.application': {
+ 'Meta': {'object_name': 'Application'},
+ 'accounts_url': ('django.db.models.fields.CharField', [], {'default': "'/'", 'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'app_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'custom_message': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
+ 'extra_styles': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
+ 'facebook_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+ 'favicon': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_favicon'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
+ 'footer_bottom': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
+ 'footer_top': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'index_url': ('django.db.models.fields.CharField', [], {'default': "'/'", 'max_length': '255'}),
+ 'linked_in_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+ 'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
+ 'message_type': ('django.db.models.fields.CharField', [], {'default': "'NM'", 'max_length': '20'}),
+ 'rss_url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'show_rss_feed_on_blog': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'show_twitter_feed_on_top': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
+ },
+ 'cloudcms.client': {
+ 'Meta': {'object_name': 'Client'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'uid': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'cloudcms.clientversionsource': {
+ 'Meta': {'object_name': 'ClientVersionSource'},
+ 'architecture': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'client': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cloudcms.Client']"}),
+ 'default': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'file_regex': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'link': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
+ 'os': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'source_type': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
+ 'version_regex': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'cloudcms.service': {
+ 'Meta': {'ordering': "['-ordering']", 'object_name': 'Service'},
+ 'class_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image_faq': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'image_faq'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
+ 'image_userguide': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'image_userguide'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
+ 'ordering': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'})
+ },
+ 'cloudcms.servicetranslation': {
+ 'Meta': {'ordering': "['title']", 'object_name': 'ServiceTranslation'},
+ 'cms_page': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['page.Page']", 'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'language_code': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': "orm['cloudcms.Service']"}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'title_faq': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'title_userguide': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
+ },
+ 'medialibrary.category': {
+ 'Meta': {'ordering': "['parent__title', 'title']", 'object_name': 'Category'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'medialibrary.mediafile': {
+ 'Meta': {'ordering': "['-created']", 'object_name': 'MediaFile'},
+ 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}),
+ 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}),
+ 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
+ },
+ 'page.page': {
+ 'Meta': {'ordering': "['tree_id', 'lft']", 'object_name': 'Page'},
+ '_cached_url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '300', 'db_index': 'True', 'blank': 'True'}),
+ '_content_title': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+ '_page_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'featured': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'in_navigation': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}),
+ 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'meta_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+ 'meta_keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+ 'modification_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'navigation_extension': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'override_url': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['page.Page']"}),
+ 'publication_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2014, 5, 9, 0, 0)'}),
+ 'publication_end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+ 'redirect_to': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}),
+ 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'site': ('django.db.models.fields.related.ForeignKey', [], {'default': '1', 'to': "orm['sites.Site']"}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150'}),
+ 'symlinked_page': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_page_symlinks'", 'null': 'True', 'to': "orm['page.Page']"}),
+ 'template_key': ('django.db.models.fields.CharField', [], {'default': "'twocolwide'", 'max_length': '255'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'translation_of': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'translations'", 'null': 'True', 'to': "orm['page.Page']"}),
+ 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
+ },
+ 'sites.site': {
+ 'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"},
+ 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ }
+ }
+
+ complete_apps = ['cloudcms']
\ No newline at end of file
--- /dev/null
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Deleting field 'Application.rss_url'
+ db.delete_column('cloudcms_application', 'rss_url')
+
+
+ def backwards(self, orm):
+ # Adding field 'Application.rss_url'
+ db.add_column('cloudcms_application', 'rss_url',
+ self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True),
+ keep_default=False)
+
+
+ models = {
+ 'cloudcms.application': {
+ 'Meta': {'object_name': 'Application'},
+ 'accounts_url': ('django.db.models.fields.CharField', [], {'default': "'/'", 'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'app_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'custom_message': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
+ 'extra_styles': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
+ 'facebook_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+ 'favicon': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'as_favicon'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
+ 'footer_bottom': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
+ 'footer_top': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'index_url': ('django.db.models.fields.CharField', [], {'default': "'/'", 'max_length': '255'}),
+ 'linked_in_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+ 'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
+ 'message_type': ('django.db.models.fields.CharField', [], {'default': "'NM'", 'max_length': '20'}),
+ 'show_rss_feed_on_blog': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'show_twitter_feed_on_top': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
+ },
+ 'cloudcms.client': {
+ 'Meta': {'object_name': 'Client'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'uid': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'cloudcms.clientversionsource': {
+ 'Meta': {'object_name': 'ClientVersionSource'},
+ 'architecture': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'client': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cloudcms.Client']"}),
+ 'default': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'file_regex': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'link': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'logo': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'to': "orm['medialibrary.MediaFile']", 'null': 'True', 'blank': 'True'}),
+ 'os': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'source_type': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
+ 'version_regex': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'cloudcms.service': {
+ 'Meta': {'ordering': "['-ordering']", 'object_name': 'Service'},
+ 'class_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'image_faq': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'image_faq'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
+ 'image_userguide': ('feincms.module.medialibrary.fields.MediaFileForeignKey', [], {'blank': 'True', 'related_name': "'image_userguide'", 'null': 'True', 'to': "orm['medialibrary.MediaFile']"}),
+ 'ordering': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'})
+ },
+ 'cloudcms.servicetranslation': {
+ 'Meta': {'ordering': "['title']", 'object_name': 'ServiceTranslation'},
+ 'cms_page': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['page.Page']", 'null': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'language_code': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': "orm['cloudcms.Service']"}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'title_faq': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'title_userguide': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
+ },
+ 'medialibrary.category': {
+ 'Meta': {'ordering': "['parent__title', 'title']", 'object_name': 'Category'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['medialibrary.Category']"}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+ },
+ 'medialibrary.mediafile': {
+ 'Meta': {'ordering': "['-created']", 'object_name': 'MediaFile'},
+ 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['medialibrary.Category']", 'null': 'True', 'blank': 'True'}),
+ 'copyright': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}),
+ 'file_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
+ },
+ 'page.page': {
+ 'Meta': {'ordering': "['tree_id', 'lft']", 'object_name': 'Page'},
+ '_cached_url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '300', 'db_index': 'True', 'blank': 'True'}),
+ '_content_title': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+ '_page_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'featured': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'in_navigation': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '10'}),
+ 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'meta_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+ 'meta_keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+ 'modification_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'navigation_extension': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'override_url': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['page.Page']"}),
+ 'publication_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2014, 5, 9, 0, 0)'}),
+ 'publication_end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+ 'redirect_to': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}),
+ 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'site': ('django.db.models.fields.related.ForeignKey', [], {'default': '1', 'to': "orm['sites.Site']"}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '150'}),
+ 'symlinked_page': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'page_page_symlinks'", 'null': 'True', 'to': "orm['page.Page']"}),
+ 'template_key': ('django.db.models.fields.CharField', [], {'default': "'twocolwide'", 'max_length': '255'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'translation_of': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'translations'", 'null': 'True', 'to': "orm['page.Page']"}),
+ 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
+ },
+ 'sites.site': {
+ 'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"},
+ 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ }
+ }
+
+ complete_apps = ['cloudcms']
\ No newline at end of file
Each cms deployment should contain at least one application object linked
to the site object the cms is deployed for.
- Enabling cloudcms.context_processors.application in CONTEXT_PROCESSROS setting
- let you can access the application object throughout the html templates.
+ Enabling cloudcms.context_processors.application in CONTEXT_PROCESSROS
+ setting let you can access the application object throughout the html
+ templates.
"""
MESSAGE_TYPE_CHOICES = (
- ('NM','No Message'),
- ('success','Success'),
- ('error','Error'),
- ('warning','Warning'),
- ('info','Info'),
+ ('NM', 'No Message'),
+ ('success', 'Success'),
+ ('error', 'Error'),
+ ('warning', 'Warning'),
+ ('info', 'Info'),
)
-
- code = models.CharField('Identifier', max_length=100, null=False, blank=False,
- help_text="Just a codename of the application, to be used in "\
- "several places where no free text is allowed"\
- "(e.g. urls, paths, etc)")
+ code = models.CharField('Identifier', max_length=100, null=False,
+ blank=False, help_text="""Just a codename of the
+ application, to be used in several places where"
+ to be used in several places where no free text is
+ allowed (e.g. urls, paths, etc)""")
title = models.CharField(max_length=255, null=False, blank=False,
- help_text="The title of the application")
+ help_text="The title of the application")
logo = MediaFileForeignKey(MediaFile, blank=True, null=True)
favicon = MediaFileForeignKey(MediaFile, blank=True, null=True,
- related_name="as_favicon")
+ related_name="as_favicon")
site = models.ForeignKey(sites_models.Site)
- app_url = models.URLField(help_text="The url of the application UI (not "\
- "the cms)", verify_exists=False, blank=True, null=True)
+ app_url = models.URLField(help_text="""The url of the application UI (not
+ the cms)""", verify_exists=False, blank=True,
+ null=True)
accounts_url = models.CharField(max_length=255, default="/", blank=True,
- null=True, help_text="Tha accounts login page")
+ null=True, help_text="""Tha accounts login
+ page""")
index_url = models.CharField(max_length=255, default="/", blank=False,
- null=False)
+ null=False)
linked_in_username = models.CharField(max_length=255, blank=True)
twitter_username = models.CharField(max_length=255, blank=True)
facebook_username = models.CharField(max_length=255, blank=True)
show_twitter_feed_on_top = models.BooleanField(default=False)
+ show_rss_feed_on_blog = models.BooleanField(default=False)
extra_styles = models.TextField(default="", blank=True)
footer_top = models.TextField(default="", blank=True)
footer_bottom = models.TextField(default="", blank=True)
message_type = models.CharField(max_length=20,
- choices= MESSAGE_TYPE_CHOICES,
- default = 'NM' )
+ choices=MESSAGE_TYPE_CHOICES,
+ default='NM')
custom_message = models.TextField(default="", blank=True)
@classmethod
# http://stackoverflow.com/a/2680060/114435
dthandler = lambda obj: obj.isoformat() if isinstance(obj, datetime.datetime) else None
+
class Client(models.Model):
"""
Model which refers to a service/application client. Client model contains
def to_json(self):
return simplejson.dumps(list(self.get_sources().get_latest_versions()),
- default=dthandler)
+ default=dthandler)
def get_default_os(self):
try:
default = models.BooleanField(default=True)
source_type = models.CharField(max_length=60,
- choices=(('link','Link'),
- ('direct','Direct'),
- ('pithos_xml','Pithos XML'),
- ('redmine_files','Redmine files')))
+ choices=(('link', 'Link'),
+ ('direct', 'Direct'),
+ ('pithos_xml', 'Pithos XML'),
+ ('redmine_files','Redmine files')))
os = models.CharField(max_length=255)
link = models.CharField(max_length=255)
logo = MediaFileForeignKey(MediaFile, blank=True, null=True)
architecture = models.CharField(max_length=255, null=True, blank=True,
- help_text="""Depending the source type this can be left empty and
- let source type identify the architecture""")
+ help_text="""Depending the source type this
+ can be left empty and let source type
+ identify the architecture""")
client = models.ForeignKey(Client)
- version_regex = models.CharField(max_length=255, help_text="""Regular expression to
- match the version of the file based on retrieved source filenames
- (used in redmine source types)""", null=True, blank=True)
- file_regex = models.CharField(max_length=255, help_text="""Return only files that
- match this expression""", null=True, blank=True)
+ version_regex = models.CharField(max_length=255, help_text="""Regular
+ expression to match the version of the
+ file based on retrieved source filenames
+ (used in redmine source types)""",
+ null=True, blank=True)
+ file_regex = models.CharField(max_length=255, help_text="""Return only
+ files that match this expression""",
+ null=True, blank=True)
def __unicode__(self):
return "[%s] %s" % (self.get_source_type_display(), self.os)
# hook for feincms configuration, is this appropriate place ??? who knows
from cloudcms.cms import *
+
class Service(models.Model, translations.TranslatedObjectMixin):
"""
Service.
"""
ordering = models.SmallIntegerField(_('ordering'), default=0)
- image_faq = MediaFileForeignKey(MediaFile, blank=True, null=True, related_name='image_faq')
- image_userguide = MediaFileForeignKey(MediaFile, blank=True, null=True,related_name='image_userguide')
+ image_faq = MediaFileForeignKey(MediaFile, blank=True, null=True,
+ related_name='image_faq')
+ image_userguide = MediaFileForeignKey(MediaFile, blank=True, null=True,
+ related_name='image_userguide')
class_name = models.CharField(_('class name'), max_length=100, blank=True)
-
class Meta:
verbose_name = _('service')
verbose_name_plural = _('services')
- ordering = ['-ordering',]
+ ordering = ['-ordering', ]
objects = translations.TranslatedObjectManager()
"""
title = models.CharField(_('service title'), max_length=100)
slug = models.SlugField(_('slug'), unique=True)
- description = models.CharField(_('description'), max_length=250, blank=True)
+ description = models.CharField(_('description'), max_length=250,
+ blank=True)
cms_page = models.ForeignKey(Page, null=True, blank=True)
- title_faq = models.CharField(_('service title (faq section)'), max_length=100, blank=True)
- title_userguide = models.CharField(_('service title (userguide section)'), max_length=100, blank=True)
+ title_faq = models.CharField(_('service title (faq section)'),
+ max_length=100, blank=True)
+ title_userguide = models.CharField(_('service title (userguide section)'),
+ max_length=100, blank=True)
class Meta:
verbose_name = _('service translation')
self.slug = slugify(self.title)
super(ServiceTranslation, self).save(*args, **kwargs)
-
ul.socials-share { list-style: none outside none; margin: 1em 0; padding: 0;}
ul.socials-share li { display: inline-block; margin-right: 5px;}
-ul.socials-share li .fb-share-button { position: relative; top: -5px; left:-3px;}
\ No newline at end of file
+ul.socials-share li .fb-share-button { position: relative; top: -5px; left:-3px;}
+.rss-icon { display: block; float: right; height: 19px; width: 19px; background: url('../images/feed-icon-28x28.png'); background-size:100%; }
\ No newline at end of file
{% autopaginate entries ENTRIES_PER_PAGE %}
{% fragment request "maincol" %}
-<div class="posts">
+<div class="posts">{{ APP.app_url }}
+ {% if APP.show_rss_feed_on_blog %}
+ <a href="{{APP.index_url}}feed/" title="rss feed" class="rss-icon" rel="alternate" type="application/rss+xml"> </a>
+ {% endif %}
<ul>
{% for entry in entries %}
<li>
{% fragment request "maincol" %}
<div class="article">
+ {% if APP.show_rss_feed_on_blog %}
+ <a href="{{APP.index_url}}feed/" title="rss feed" class="rss-icon" rel="alternate" type="application/rss+xml"> </a>
+ {% endif %}
<p class="date">{{ entry.published_on|date:"d M Y"|upper}}</p>
<h2>{{ entry.title|upper }}</h2>