| Index: appengine/monorail/templates/tracker/spam-moderation-queue.ezt
|
| diff --git a/appengine/monorail/templates/tracker/spam-moderation-queue.ezt b/appengine/monorail/templates/tracker/spam-moderation-queue.ezt
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..86aac23904a236b6f04a5476e9b1e6dbb74f97b4
|
| --- /dev/null
|
| +++ b/appengine/monorail/templates/tracker/spam-moderation-queue.ezt
|
| @@ -0,0 +1,106 @@
|
| +[define title]Spam Moderation Queue[end]
|
| +[define category_css]css/ph_list.css[end]
|
| +[define page_css]css/ph_detail.css[end][# needed for infopeek]
|
| +
|
| +[if-any projectname]
|
| + [include "../framework/master-header.ezt" "showtabs"]
|
| +[else]
|
| + [include "../framework/master-header.ezt" "hidetabs"]
|
| +[end]
|
| +[include "../framework/js-placeholders.ezt" "showtabs"]
|
| +
|
| +<h2>Spam Moderation Queue</h2>
|
| +[include "../framework/artifact-list-pagination-part.ezt"]
|
| +
|
| +<form method="POST" action="spamqueue.do">
|
| +<button type="submit" vaue="mark_spam" disabled="true">Mark as Spam</button>
|
| +<button type="submit" value="mark_ham" disabled="true">Mark as Ham</button>
|
| +
|
| +<span style="margin:0 .7em">Select:
|
| + <a id="selectall" href="#">All</a>
|
| + <a id="selectnone" href="#">None</a>
|
| +</span>
|
| +
|
| +<table id='resultstable'>
|
| +<tr>
|
| + <td>
|
| + </td>
|
| + <td>ID</td>
|
| + <td>Author</td>
|
| + <td>Summary</td>
|
| + <td>Snippet</td>
|
| + <td>Opened at</td>
|
| + <td>Spam?</td>
|
| + <td>Verdict reason</td>
|
| + <td>Confidence</td>
|
| + <td>Verdict at</td>
|
| + <td>Flag count</td>
|
| +</tr>
|
| +[for spam_queue]
|
| +<tr>
|
| + <td><input type='checkbox' name='issue_local_id' value='[spam_queue.issue.local_id]'/></td>
|
| + <td><a href='/p/[projectname]/issues/detail?id=[spam_queue.issue.local_id]'>[spam_queue.issue.local_id]</a></td>
|
| + <td><a href='/u/[spam_queue.reporter.email]'>[spam_queue.reporter.email]</a></td>
|
| + <td><a href='/p/[projectname]/issues/detail?id=[spam_queue.issue.local_id]'>[spam_queue.summary]</a></td>
|
| + <td>
|
| + [spam_queue.comment_text]
|
| + </td>
|
| + <td>[spam_queue.issue.opened_timestamp]</td>
|
| + <td>[spam_queue.issue.is_spam]</td>
|
| +
|
| + <td>[spam_queue.reason]</td>
|
| + <td>[spam_queue.classifier_confidence]</td>
|
| + <td>[spam_queue.verdict_time]</td>
|
| + <td>[spam_queue.flag_count]</td>
|
| +</tr>
|
| +[end]
|
| +</table>
|
| +
|
| +[include "../framework/artifact-list-pagination-part.ezt"]
|
| +<input type="hidden" name="token" value="[moderate_spam_token]">
|
| +<button type="submit" vaue="mark_spam" disabled="true">Mark as Spam</button>
|
| +<button type="submit" value="mark_ham" disabled="true">Mark as Ham</button>
|
| +
|
| +</form>
|
| +
|
| +<script type="text/javascript" nonce="[nonce]">
|
| +runOnLoad(function() {
|
| + if ($("selectall")) {
|
| + $("selectall").addEventListener("click", function() {
|
| + _selectAllIssues();
|
| + setDisabled(false);
|
| + });
|
| + }
|
| + if ($("selectnone")) {
|
| + $("selectnone").addEventListener("click", function() {
|
| + _selectNoneIssues();
|
| + setDisabled(true);
|
| + });
|
| + }
|
| + var checkboxNodes = document.querySelectorAll("input[type=checkbox]");
|
| + var checkboxes = Array();
|
| + for (var i = 0; i < checkboxNodes.length; ++i) {
|
| + var checkbox = checkboxNodes.item(i);
|
| + checkboxes.push(checkbox);
|
| + checkbox.addEventListener("change", updateEnabled);
|
| + }
|
| +
|
| + function updateEnabled() {
|
| + var anySelected = checkboxes.some(function(checkbox) {
|
| + return checkbox.checked;
|
| + });
|
| + setDisabled(!anySelected);
|
| + }
|
| +
|
| + function setDisabled(disabled) {
|
| + var buttons = document.querySelectorAll("button[type=submit]");
|
| + for (var i = 0; i < buttons.length; ++i) {
|
| + buttons.item(i).disabled = disabled;
|
| + }
|
| + }
|
| +});
|
| +</script>
|
| +
|
| +[include "../framework/footer-script.ezt"]
|
| +
|
| +[include "../framework/master-footer.ezt"]
|
|
|