Closed Bug 1268642 Opened 8 years ago Closed 8 years ago

[User Story] As a spam admin I want to mark revisions as spam/ham more easily, so I can be more efficient

Categories

(developer.mozilla.org Graveyard :: General, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: atopal, Unassigned)

Details

(Keywords: in-triage)

User Story

I as a spam admin want to mark revisions as spam/ham more easily, so I can be more efficient
Currently marking revisions as spam/ham on the revision dashboard requires 2 clicks to submit and navigating back to the revision dashboard and looses the position on the revision dashboard, making it rather time consuming to mark several items in quick succession.

I'd like to be able to mark an item as ham/spam and quickly move on to the next item.

My proposal: perform action without leaving the page. If possible, update status in place.
Component: Knowledge Base Software → General
Product: support.mozilla.org → Mozilla Developer Network
Severity: normal → enhancement
Keywords: in-triage
Including a link to the dashboard for reference:
https://developer.mozilla.org/en-US/dashboards/revisions
Summary: [User Story] I as a spam admin want to mark revisions as spam/ham more easily, so I can be more efficient → [User Story] As a spam admin I want to mark revisions as spam/ham more easily, so I can be more efficient
Details from our Friday conversation:

* Spam/Ham button are not visible unless you are superuser. This should be changed to the "Can add Akismet submission" permission.
* There is also a waffle flag "spam_submissions_enabled" to make the button visible. This will eventually be removed, and only Django permissions used. The existing waffle flag logic can be retained or removed, whatever makes feature easier to implement.
* Spam/Ham buttons currently open the Django admin to create a record. If possible, this should be changed to a standard Django view, checking the "Can add Akismet submission" permission, so that the Django Admin is not required. Again, up to the developer to include this work or to continue using the Django Admin.
* One-click access implies an AJAX call to create the submission, and in-page updating to show the new state.  Javascript can be assumed.  It must return an error if the user doesn't have the required permissions. If a user-visible HTML form is also provided, it must respond to GET as well as POST.
Should this bugfix include a fix for the "Resubmit" button as well?
The Resubmit button can continue being a link to the Django admin for this round.
Commits pushed to master at https://github.com/mozilla/kuma

https://github.com/mozilla/kuma/commit/60cceb9a27738a87acabbfc63aa0d48f4d1962dc
bug 1268642 - spam/ham buttons call new view that submits akismet automatically. View checks akismet permissions. Possible TODO - make this an ajax call, add a message back to the user for error and success.

https://github.com/mozilla/kuma/commit/8b928cb5b4c9c143056d8e6710fe63069ec3a18b
bug 1268642 - Add a model method to check Akismet permissions for user/group. Refactor this for akismet submit view. Check this method in the dashboard view for show_spam_submission flag.

https://github.com/mozilla/kuma/commit/bbb97e13f9a67b69395086d1f097ab4094494bd2
bug 1268642 - check for Akisment permission with exists(). Check for authentication before spam/ham permission check. Update tests for authenticated users and spam button existence.

https://github.com/mozilla/kuma/commit/d124d4d21a517b7606e459053bb9ce7bf133e1b6
bug 1268642 - Use the @permission_r
equired decorator on the spam/ham submit view, remove the authentication check, use the
 has_perm method in the dash view for button display. Remove unneeded model method for
permissions. Update test to use testuser account with permission and add a test without
 this permission. Pep8 fixes.

https://github.com/mozilla/kuma/commit/92899d11e96f0bacede20d89e141fa6e5cf4aace
bug 1268642 - test url redirection with the next variable with encoded url variable.

https://github.com/mozilla/kuma/commit/56846699bd3756b4cfc8f0043c004c392b744001
bug 1268642 - Add a test for no next URL variable present. Get replace filter for RevisionAkismetSubmission in tests.

https://github.com/mozilla/kuma/commit/892c6534cfaa61ea163f1fe82e2ecb7f4c25c3ce
bug 1268642 - Try/except around getting the revision for the akisment submission. Add a test for a nonexistent revision that tests the except case.

https://github.com/mozilla/kuma/commit/d9df4f6f3b26b2e37593a775f2b91fbb16511c81
Merge pull request #3863 from caktus/new-issue-1268642-mark-spam-one-click

bug 1268642 - mark spam/ham with one click (Akismet submission)
Change is live in production, appears to be working. Leaving open for a while for some possible additions (Form-based validation, AJAX method)
The change does not include submitting the missed spam to Akismet, which was done in the form clean logic in the admin version. More commits coming.
Commits pushed to master at https://github.com/mozilla/kuma

https://github.com/mozilla/kuma/commit/96a1b67c99429c4b5a446673e2ed166890fbb760
bug 1268642 - Move submit_akismet_spam tests

Move tests for submit_akismet_spam view into their own class, in
preparation for adding tests for Akismet interaction

https://github.com/mozilla/kuma/commit/295714b9060d60491ea03230b793bbec9b71dec1
bug 1268642 - submit_akismet_spam uses a form

* Create RevisionAkismetSubmissionSpamForm, sharing functionality with
  RevisionAkismetSubmissionAdminForm via a new base class
* Drop the unused clean_sender method from the Admin form
* Use the new form in the submit_akismet_spam view

https://github.com/mozilla/kuma/commit/c1982a16181cbc711ce1c941524daa8e07f3a5d2
bug 1268642 - Verify that Akismet is called

Verify that, when enabled, Akismet's submit endpoints are called.

https://github.com/mozilla/kuma/commit/e43ed532e9623eeea4a492c7477c76acf8a2f995
Merge pull request #3874 from mozilla/submit_spam_1268642

bug 1268642 - Submit spam to Akismet when spam is clicked on the dashboard
Latest version pushed to production.
QA Contact: kb-software
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Product: developer.mozilla.org → developer.mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.