from forum.modules.decorators import decorate
from forum import views
from lib.akismet import Akismet
-from forum.settings import APP_URL, OSQA_VERSION, REP_TO_FOR_NO_SPAM_CHECK
+from forum.settings import APP_URL, OSQA_VERSION
+from settings import WORDPRESS_API_KEY, REP_TO_FOR_NO_SPAM_CHECK
from forum.models.user import User
import settings
def check_spam(param, comment_type):
def wrapper(origin, request, *args, **kwargs):
- if request.POST and request.POST.get(param, None) and settings.WORDPRESS_API_KEY:
+ if (request.POST and request.POST.get(param, None) and WORDPRESS_API_KEY) and (not request.user.is_authenticated()
+ or not (request.user.is_staff and request.user.is_superuser and request.user.reputation >= REP_TO_FOR_NO_SPAM_CHECK)):
comment = request.POST[param]
user = request.user
})
api = Akismet(settings.WORDPRESS_API_KEY, APP_URL, "OSQA/%s" % OSQA_VERSION)
- if not user.is_authenticated() or (user.reputation < settings.REP_TO_FOR_NO_SPAM_CHECK and not user.is_staff and not user.is_superuser):
- if api.comment_check(comment, data):
- if request.is_ajax():
- response = {
- 'success': False,
- 'error_message': _("Sorry, but akismet thinks your %s is spam.") % comment_type
- }
- return HttpResponse(simplejson.dumps(response), mimetype="application/json")
- else:
- return render_to_response('modules/akismet/foundspam.html', {
- 'action_name': comment_type
- })
+ if api.comment_check(comment, data):
+ if request.is_ajax():
+ response = {
+ 'success': False,
+ 'error_message': _("Sorry, but akismet thinks your %s is spam.") % comment_type
+ }
+ return HttpResponse(simplejson.dumps(response), mimetype="application/json")
+ else:
+ return render_to_response('modules/akismet/foundspam.html', {
+ 'action_name': comment_type
+ })
return origin(request, *args, **kwargs)
return wrapper