Skip to content

Commit

Permalink
Merge pull request #519 from Martii/Issue-261DataList
Browse files Browse the repository at this point in the history
Issue 261 data list

Auto-merge ... no additional comments
  • Loading branch information
Martii committed Jan 12, 2015
2 parents 17b69b2 + 4f86b35 commit 7610bcb
Show file tree
Hide file tree
Showing 7 changed files with 67 additions and 3 deletions.
2 changes: 1 addition & 1 deletion controllers/remove.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ exports.rm = function (aReq, aRes, aNext) {
return aNext();
}

// Destory all the sessions belonging to the removed user
// Destroy all the sessions belonging to the removed user
destroySessions(aReq, aUser, function () {
aRes.redirect('/');
});
Expand Down
9 changes: 9 additions & 0 deletions controllers/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ var modelQuery = require('../libs/modelQuery');
var modelParser = require('../libs/modelParser');
var countTask = require('../libs/tasks').countTask;
var pageMetadata = require('../libs/templateHelpers').pageMetadata;
var removeReasons = require('../views/includes/scriptModals.json').removeReasons;

// Let controllers know this is a `new` route
exports.new = function (aController) {
Expand Down Expand Up @@ -275,6 +276,14 @@ var setupScriptSidePanel = function (aOptions) {
if (authedUser && authedUser.isMod) {
//aOptions.authorTools = {}; // TODO: Support moderator edits on scripts?
aOptions.modTools = {};

if (removeReasons) {
aOptions.modTools.hasRemoveReasons = true;
aOptions.modTools.removeReasons = [];
removeReasons.forEach(function (aReason) {
aOptions.modTools.removeReasons.push({ 'name' : aReason });
});
}
}

// Admin
Expand Down
9 changes: 9 additions & 0 deletions controllers/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ var settings = require('../models/settings.json');
var github = require('./../libs/githubClient');
var pageMetadata = require('../libs/templateHelpers').pageMetadata;
var orderDir = require('../libs/templateHelpers').orderDir;
var removeReasons = require('../views/includes/userModals.json').removeReasons;

function caseInsensitive (aStr) {
return new RegExp('^' + (aStr || '').replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1")
Expand Down Expand Up @@ -127,6 +128,14 @@ var setupUserSidePanel = function (aOptions) {
if (authedUser && authedUser.isMod && (authedUser.role < user.role || aOptions.isYou)) {
//aOptions.userTools = {}; // TODO: Support moderator edits of user profiles?
aOptions.modTools = {};

if (removeReasons) {
aOptions.modTools.hasRemoveReasons = true;
aOptions.modTools.removeReasons = [];
removeReasons.forEach(function (aReason) {
aOptions.modTools.removeReasons.push({ 'name' : aReason });
});
}
}

// Admin
Expand Down
7 changes: 6 additions & 1 deletion views/includes/scriptModals.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,12 @@ <h4 class="modal-title">Remove {{script.fullName}}</h4>
</div>
<div class="modal-footer">
<form action="{{{script.scriptRemovePageUrl}}}" method="post" enctype="multipart/form-data">
<input type="text" class="form-control" name="reason" placeholder="Reason for removal.">
<input type="text" class="form-control" name="reason" placeholder="Reason for removal."{{#modTools.removeReasons}} list="reasons"{{/modTools.removeReasons}}>
{{#modTools.hasRemoveReasons}}
<datalist id="reasons">
{{#modTools.removeReasons}}<option value="{{{name}}}"></option>{{/modTools.removeReasons}}
</datalist>
{{/modTools.hasRemoveReasons}}
<br />
<button type="button" class="btn btn-default" data-dismiss="modal"><i class="fa fa-fw fa-close"></i> Close</button>
<input type="hidden" name="remove" value="true">
Expand Down
18 changes: 18 additions & 0 deletions views/includes/scriptModals.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"removeReasons" : [
"Bad external script host ",
"Cookie stealing ",
"Incomplete metadata block ",
"Licensing conflict ",
"Malware ",
"Obfuscated script ",
"Obfuscated external script ",
"Privacy stealing ",
"Spamming ",
"Unattributed script derivative ",
"Undocumented auto-like ",
"Vague description ",
"Vague script ",
"XSS attack "
]
}
7 changes: 6 additions & 1 deletion views/includes/userModals.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@ <h4 class="modal-title">Remove {{user.name}}</h4>
</div>
<div class="modal-footer">
<form action="{{{user.userRemovePageUrl}}}" method="post" enctype="multipart/form-data">
<input type="text" class="form-control" name="reason" placeholder="Reason for removal.">
<input type="text" class="form-control" name="reason" placeholder="Reason for removal."{{#modTools.removeReasons}} list="reasons"{{/modTools.removeReasons}}>
{{#modTools.hasRemoveReasons}}
<datalist id="reasons">
{{#modTools.removeReasons}}<option value="{{{name}}}"></option>{{/modTools.removeReasons}}
</datalist>
{{/modTools.hasRemoveReasons}}
<br />
<button type="button" class="btn btn-default" data-dismiss="modal"><i class="fa fa-fw fa-close"></i> Close</button>
<input type="hidden" name="remove" value="true">
Expand Down
18 changes: 18 additions & 0 deletions views/includes/userModals.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"removeReasons" : [
"Bad external script hosts ",
"Cookie stealings ",
"Incomplete metadata blocks ",
"Licensing conflicts ",
"Malwares ",
"Obfuscated scripts ",
"Obfuscated external scripts ",
"Privacy stealings ",
"Spammings ",
"Unattributed script derivatives ",
"Undocumented auto-likes ",
"Vague descriptions ",
"Vague scripts ",
"XSS attacks "
]
}

0 comments on commit 7610bcb

Please sign in to comment.