def save(self): for form in self.forms: if form.cleaned_data and user_can_delete_review( self.request, form.instance): action = int(form.cleaned_data['action']) if action == reviews.REVIEW_MODERATE_DELETE: form.instance.delete(user_responsible=self.request.user) elif action == reviews.REVIEW_MODERATE_KEEP: form.instance.approve(user=self.request.user)
def save(self): from olympia.reviews.helpers import user_can_delete_review for form in self.forms: if form.cleaned_data and user_can_delete_review(self.request, form.instance): action = int(form.cleaned_data['action']) if action == reviews.REVIEW_MODERATE_DELETE: form.instance.moderator_delete(user=self.request.user) elif action == reviews.REVIEW_MODERATE_KEEP: form.instance.moderator_approve(user=self.request.user)
def save(self): from olympia.reviews.helpers import user_can_delete_review for form in self.forms: if form.cleaned_data and user_can_delete_review( self.request, form.instance): action = int(form.cleaned_data['action']) if action == reviews.REVIEW_MODERATE_DELETE: form.instance.moderator_delete(user=self.request.user) elif action == reviews.REVIEW_MODERATE_KEEP: form.instance.moderator_approve(user=self.request.user)
def save(self): from olympia.reviews.helpers import user_can_delete_review for form in self.forms: if form.cleaned_data and user_can_delete_review( self.request, form.instance): action = int(form.cleaned_data['action']) is_flagged = (form.instance.reviewflag_set.count() > 0) if action != reviews.REVIEW_MODERATE_SKIP: # Delete flags. for flag in form.instance.reviewflag_set.all(): flag.delete() review = form.instance addon = review.addon if action == reviews.REVIEW_MODERATE_DELETE: review.delete() amo.log(amo.LOG.DELETE_REVIEW, addon, review, details=dict(title=unicode(review.title), body=unicode(review.body), addon_id=addon.id, addon_title=unicode(addon.name), is_flagged=is_flagged)) if self.request: ReviewerScore.award_moderation_points( self.request.user, addon, review.id) elif action == reviews.REVIEW_MODERATE_KEEP: review.editorreview = False review.save() amo.log(amo.LOG.APPROVE_REVIEW, addon, review, details=dict(title=unicode(review.title), body=unicode(review.body), addon_id=addon.id, addon_title=unicode(addon.name), is_flagged=is_flagged)) if self.request: ReviewerScore.award_moderation_points( self.request.user, addon, review.id)
def save(self): from olympia.reviews.helpers import user_can_delete_review for form in self.forms: if form.cleaned_data and user_can_delete_review(self.request, form.instance): action = int(form.cleaned_data['action']) is_flagged = (form.instance.reviewflag_set.count() > 0) if action != reviews.REVIEW_MODERATE_SKIP: # Delete flags. for flag in form.instance.reviewflag_set.all(): flag.delete() review = form.instance addon = review.addon if action == reviews.REVIEW_MODERATE_DELETE: review.delete() amo.log(amo.LOG.DELETE_REVIEW, addon, review, details=dict(title=unicode(review.title), body=unicode(review.body), addon_id=addon.id, addon_title=unicode(addon.name), is_flagged=is_flagged)) if self.request: ReviewerScore.award_moderation_points( self.request.user, addon, review.id) elif action == reviews.REVIEW_MODERATE_KEEP: review.editorreview = False review.save() amo.log(amo.LOG.APPROVE_REVIEW, addon, review, details=dict(title=unicode(review.title), body=unicode(review.body), addon_id=addon.id, addon_title=unicode(addon.name), is_flagged=is_flagged)) if self.request: ReviewerScore.award_moderation_points( self.request.user, addon, review.id)
def has_object_permission(self, request, view, obj): return user_can_delete_review(request, obj)