Commits

Anonymous committed 539e411

add moderation to comments

  • Participants
  • Parent commits c64f6a7

Comments (0)

Files changed (2)

migrations/0002_auto__add_field_discussion_enable_comments.py

+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        
+        # Adding field 'Discussion.enable_comments'
+        db.add_column('cmsplugin_comments_discussion', 'enable_comments', self.gf('django.db.models.fields.BooleanField')(default=True), keep_default=False)
+
+
+    def backwards(self, orm):
+        
+        # Deleting field 'Discussion.enable_comments'
+        db.delete_column('cmsplugin_comments_discussion', 'enable_comments')
+
+
+    models = {
+        'cms.cmsplugin': {
+            'Meta': {'object_name': 'CMSPlugin'},
+            'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
+            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+            'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}),
+            'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}),
+            'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
+            'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
+        },
+        'cms.placeholder': {
+            'Meta': {'object_name': 'Placeholder'},
+            'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'slot': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'})
+        },
+        'cmsplugin_comments.discussion': {
+            'Meta': {'object_name': 'Discussion'},
+            'enable_comments': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '128'})
+        },
+        'cmsplugin_comments.discussionplugin': {
+            'Meta': {'object_name': 'DiscussionPlugin', 'db_table': "'cmsplugin_discussionplugin'", '_ormbases': ['cms.CMSPlugin']},
+            'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
+            'discussion': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cmsplugin_comments.Discussion']"})
+        }
+    }
+
+    complete_apps = ['cmsplugin_comments']
-from django.contrib.comments.models import Comment
+from django.contrib.comments.moderation import CommentModerator, moderator
 from django.db import models
 from django.utils.translation import ugettext as _
 from cms.models import CMSPlugin
 
 class Discussion (models.Model):
     title = models.CharField(_('Title'), max_length=128)
+    enable_comments = models.BooleanField(default=True)
 
     def __unicode__(self):
         return self.title
 
 class DiscussionPlugin(CMSPlugin):
-    discussion = models.ForeignKey(Discussion)
+    discussion = models.ForeignKey(Discussion)
+
+class EntryModerator(CommentModerator):
+    """
+    email admins when comment is inserted
+    """
+    email_notification = True
+    enable_field = 'enable_comments'
+
+moderator.register(Discussion, EntryModerator)