close #311, moderation a posteriori, filtrage dans l'admin par validation
authorolivier larcheveque <olivier.larcheveque@u-ol.(none)>
Tue, 21 Sep 2010 13:34:03 +0000 (09:34 -0400)
committerolivier larcheveque <olivier.larcheveque@u-ol.(none)>
Tue, 21 Sep 2010 13:34:03 +0000 (09:34 -0400)
auf_savoirs_en_partage/savoirs/admin.py
auf_savoirs_en_partage/savoirs/lib/sep.py
auf_savoirs_en_partage/savoirs/models.py

index 9f6c037..3aa776b 100644 (file)
@@ -137,7 +137,7 @@ class RecordAdmin(ReadOnlyAdminFields, admin.ModelAdmin):
 admin.site.register(Record, RecordAdmin)
 
 class ListSetAdmin(ReadOnlyAdminFields, admin.ModelAdmin):
 admin.site.register(Record, RecordAdmin)
 
 class ListSetAdmin(ReadOnlyAdminFields, admin.ModelAdmin):
-    fields = ['spec', 'name', 'server', 'hidden' ]
+    fields = ['spec', 'name', 'server', 'validated' ]
     list_display = fields
     readonly_fields = ['spec', 'name', 'server',]
     list_filter = ('server',)
     list_display = fields
     readonly_fields = ['spec', 'name', 'server',]
     list_filter = ('server',)
index ea827eb..2f28a70 100644 (file)
@@ -131,8 +131,10 @@ class SEP:
             matches.append ("MATCH(`%s`) AGAINST ('%s'%s)" % (k, " ".join(words), suffix))
         m = "+".join (matches)
 
             matches.append ("MATCH(`%s`) AGAINST ('%s'%s)" % (k, " ".join(words), suffix))
         m = "+".join (matches)
 
-        q = "SELECT id, (%s) AS score FROM savoirs_record \
-             WHERE (%s) AND validated = 1 \
+        q = "SELECT r.id, (%s) AS score FROM savoirs_record AS r \
+             LEFT JOIN savoirs_record_listsets AS rl ON r.id = rl.record_id \
+             JOIN savoirs_listset AS l ON rl.listset_id = l.spec \
+             WHERE (%s) AND r.validated = 1 AND l.validated = 1 \
              HAVING score > 0 ORDER BY score DESC" % (m, m)
 
         from django.db import connection, transaction
              HAVING score > 0 ORDER BY score DESC" % (m, m)
 
         from django.db import connection, transaction
index 1a846c1..036096a 100644 (file)
@@ -78,7 +78,7 @@ class ListSet(models.Model):
     spec = models.CharField(primary_key = True, max_length = 255)
     name = models.CharField(max_length = 255)
     server = models.CharField(max_length = 255)
     spec = models.CharField(primary_key = True, max_length = 255)
     name = models.CharField(max_length = 255)
     server = models.CharField(max_length = 255)
-    hidden = models.BooleanField(default = False)
+    validated = models.BooleanField(default = True)
 
 class Record(models.Model):
     
 
 class Record(models.Model):