X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/f58a11f6c1d78b0d78abc9a7e21471e6efbbbf54..a67c564e9a6b8779bd6f0ce694b56eaabb337dcb:/forum/actions/user.py?ds=sidebyside
diff --git a/forum/actions/user.py b/forum/actions/user.py
index 94c9f17..5a6aba5 100644
--- a/forum/actions/user.py
+++ b/forum/actions/user.py
@@ -3,10 +3,12 @@ from django.core.urlresolvers import reverse
from django.db.models import F
from forum.models.action import ActionProxy
from forum.models import Award, Badge, ValidationHash, User
-from forum import settings
+from forum import settings, REQUEST_HOLDER
from forum.settings import APP_SHORT_NAME
from forum.utils.mail import send_template_email
+from django.contrib import messages
+
class UserJoinsAction(ActionProxy):
verb = _("joined")
@@ -76,8 +78,7 @@ class BonusRepAction(ActionProxy):
message=_("Congratulations, you have been awarded an extra %s reputation points.") % self._value +
'
%s' % self.extra.get('message', _('Thank you')))
else:
- self._affected.message_set.create(
- message=_("You have been penalized in %s reputation points.") % self._value +
+ messages.info(REQUEST_HOLDER.request, _("You have penalized %s in %s reputation points.") % (self._affected, self._value) +
'
%s' % self.extra.get('message', ''))
def describe(self, viewer=None):
@@ -110,7 +111,6 @@ class AwardPointsAction(ActionProxy):
self.repute(self._affected, self._value)
self.repute(self.user, -self._value)
-
self._affected.message_set.create(
message=_("Congratulations, you have been awarded an extra %(points)s reputation %(points_label)s on this answer.") % {
'points': self._value,
@@ -164,10 +164,10 @@ class AwardAction(ActionProxy):
self.user.save()
self.user.message_set.create(message=_(
- """Congratulations, you have received a badge '%(badge_name)s'. Find out who has it, too."""
+ """Congratulations, you have received a badge '%(badge_name)s'. Find out who has it, too."""
) % dict(
badge_name=award.badge.name,
- badges_url=reverse("badges")))
+ badge_url=award.badge.get_absolute_url()))
def cancel_action(self):
award = self.award
@@ -193,6 +193,35 @@ class AwardAction(ActionProxy):
'badge_name': self.award.badge.name,
}
+
+class ReportAction(ActionProxy):
+ verb = _("suspended")
+
+ def process_data(self, **kwargs):
+ self.extra = kwargs
+ # message here?
+
+
+ def process_action(self):
+
+ all_superusers = User.objects.filter(is_superuser=True)
+
+
+ send_template_email(all_superusers, "notifications/user_reported.html", {
+ 'reported': self.extra['reported'],
+ 'user':self.user,
+ 'message': self.extra['publicmsg']
+ }
+ )
+
+ def describe(self, viewer=None):
+
+ return _("%(user)s reported %(reported) : %(msg)s") % {
+ 'user': self.hyperlink(self.user.get_profile_url(), self.friendly_username(viewer, self.user)),
+ 'reporter': self.extra.get('reported').username,
+ 'msg': self.extra.get('publicmsg', _('N/A'))
+ }
+
class SuspendAction(ActionProxy):
verb = _("suspended")