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")