Commit ab5067bb authored by travis%sedsystems.ca's avatar travis%sedsystems.ca

Bug 41972 : Per-user pref to turn quips off

Patch by Shane H. W. Travis <travis@sedsystems.ca> r=mkanat a=justdave
parent 6674f619
...@@ -237,6 +237,19 @@ sub UpdateParams { ...@@ -237,6 +237,19 @@ sub UpdateParams {
delete $param{'loginmethod'}; delete $param{'loginmethod'};
} }
# Remove quip-display control from parameters
# and give it to users via User Settings (Bug 41972)
if ( exists $param{'enablequips'}
&& !exists $param{'quip_list_entry_control'})
{
my $new_value;
($param{'enablequips'} eq 'on') && do {$new_value = 'open';};
($param{'enablequips'} eq 'approved') && do {$new_value = 'moderated';};
($param{'enablequips'} eq 'frozen') && do {$new_value = 'closed';};
$param{'quip_list_entry_control'} = $new_value;
delete $param{'enablequips'};
}
# --- DEFAULTS FOR NEW PARAMS --- # --- DEFAULTS FOR NEW PARAMS ---
foreach my $item (@param_list) { foreach my $item (@param_list) {
......
...@@ -4136,6 +4136,9 @@ if (!defined $dbh->bz_get_index_def('bugs_activity','who')) { ...@@ -4136,6 +4136,9 @@ if (!defined $dbh->bz_get_index_def('bugs_activity','who')) {
$dbh->do('ALTER TABLE bugs_activity ADD INDEX (who)'); $dbh->do('ALTER TABLE bugs_activity ADD INDEX (who)');
} }
# 2005-03-03 travis@sedsystems.ca -- Bug 41972
add_setting ("display_quips", {"on" => 1, "off" => 2 }, "on" );
# #
# Final checks... # Final checks...
......
...@@ -390,16 +390,16 @@ sub find_languages { ...@@ -390,16 +390,16 @@ sub find_languages {
}, },
{ {
name => 'enablequips', name => 'quip_list_entry_control',
desc => 'Controls the appearance of quips at the top of buglists.<ul> ' . desc => 'Controls how easily users can add entries to the quip list.' .
'<li>on - Bugzilla will display a quip, and lets users add to ' . '<ul><li>open - Users may freely add to the quip list, and ' .
'the list.</li><li>approved - quips can be entered, but need ' . 'their entries will immediately be available for viewing.</li>' .
'be approved before shown</li><li>frozen - Bugzilla will display ' . '<li>moderated - quips can be entered, but need to be approved ' .
'a quip but not permit new additions.</li><li>off - Bugzilla ' . 'by an admin before they will be shown</li><li>closed - no new ' .
'will not display quips.</li></ul>', 'additions to the quips list are allowed.</li></ul>',
type => 's', type => 's',
choices => ['on', 'approved', 'frozen', 'off'], choices => ['open', 'moderated', 'closed'],
default => 'on', default => 'open',
checker => \&check_multi checker => \&check_multi
}, },
......
...@@ -41,10 +41,6 @@ Bugzilla->login(LOGIN_REQUIRED); ...@@ -41,10 +41,6 @@ Bugzilla->login(LOGIN_REQUIRED);
my $cgi = Bugzilla->cgi; my $cgi = Bugzilla->cgi;
if (Param('enablequips') eq "off") {
ThrowUserError("quips_disabled");
}
my $action = $cgi->param('action') || ""; my $action = $cgi->param('action') || "";
if ($action eq "show") { if ($action eq "show") {
...@@ -75,12 +71,12 @@ if ($action eq "show") { ...@@ -75,12 +71,12 @@ if ($action eq "show") {
} }
if ($action eq "add") { if ($action eq "add") {
(Param('enablequips') eq "on" or Param('enablequips') eq "approved") (Param('quip_list_entry_control') eq "closed") &&
|| ThrowUserError("no_new_quips"); ThrowUserError("no_new_quips");
# Add the quip # Add the quip
my $approved = (Param('enablequips') eq "on") ? '1' : '0'; my $approved =
$approved = 1 if(UserInGroup('admin')); (Param('quip_list_entry_control') eq "open") || (UserInGroup('admin')) || 0;
my $comment = $cgi->param("quip"); my $comment = $cgi->param("quip");
$comment || ThrowUserError("need_quip"); $comment || ThrowUserError("need_quip");
$comment !~ m/</ || ThrowUserError("no_html_in_quips"); $comment !~ m/</ || ThrowUserError("no_html_in_quips");
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
[% PROCESS global/variables.none.tmpl %] [% PROCESS global/variables.none.tmpl %]
[% setting_descs = { [% setting_descs = {
"display_quips" => "Show a quip at the top of each bug list",
"off" => "Off", "off" => "Off",
"on" => "On" "on" => "On"
} }
......
...@@ -917,10 +917,6 @@ ...@@ -917,10 +917,6 @@
[% title = "Query Name Too Long" %] [% title = "Query Name Too Long" %]
The name of the query must be less than 64 characters long. The name of the query must be less than 64 characters long.
[% ELSIF error == "quips_disabled" %]
[% title = "Quips Disabled" %]
Quips are disabled.
[% ELSIF error == "reassign_to_empty" %] [% ELSIF error == "reassign_to_empty" %]
[% title = "Illegal Reassignment" %] [% title = "Illegal Reassignment" %]
To reassign [% terms.abug %], you must provide an address for To reassign [% terms.abug %], you must provide an address for
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
<p>[% query FILTER html %]</p> <p>[% query FILTER html %]</p>
[% END %] [% END %]
[% IF Param('enablequips') != 'off' %] [% IF user.settings.display_quips.value == 'on' %]
[% DEFAULT quip = "$terms.Bugzilla would like to put a random quip here, but no one has entered any." %] [% DEFAULT quip = "$terms.Bugzilla would like to put a random quip here, but no one has entered any." %]
<a href="quips.cgi"><i>[% quip FILTER html %]</i></a> <a href="quips.cgi"><i>[% quip FILTER html %]</i></a>
[% END %] [% END %]
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<p> <p>
<font color="red"> <font color="red">
Your quip '<tt>[% added_quip FILTER html %]</tt>' has been added. Your quip '<tt>[% added_quip FILTER html %]</tt>' has been added.
[% IF Param("enablequips") == "approved" AND !user.groups.admin %] [% IF Param("quip_list_entry_control") == "moderated" AND !user.groups.admin %]
It will be used as soon as it gets approved. It will be used as soon as it gets approved.
[% END %] [% END %]
</font> </font>
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
[% terms.Bugzilla %] will pick a random quip for the headline on each [% terms.bug %] list, and [% terms.Bugzilla %] will pick a random quip for the headline on each [% terms.bug %] list, and
you can extend the quip list. Type in something clever or funny or boring you can extend the quip list. Type in something clever or funny or boring
(but not obscene or offensive, please) and bonk on the button. (but not obscene or offensive, please) and bonk on the button.
[% IF Param("enablequips") == "approved" AND !user.groups.admin %] [% IF Param("quip_list_entry_control") == "moderated" AND !user.groups.admin %]
Note that your quip has to be approved before it is used. Note that your quip has to be approved before it is used.
[% END %] [% END %]
</p> </p>
...@@ -88,8 +88,8 @@ ...@@ -88,8 +88,8 @@
<h2>Edit existing quips:</h2> <h2>Edit existing quips:</h2>
<p> <p>
<strong>Note:</strong> Only approved quips will be shown. <strong>Note:</strong> Only approved quips will be shown.
If enablequips is set to <q>on</q>, entered quips are automatically If the parameter 'quip_list_entry_control' is set to <q>open</q>,
approved. entered quips are automatically approved.
</p> </p>
<form name="editform" method="post" action="quips.cgi"> <form name="editform" method="post" action="quips.cgi">
<input type="hidden" name="action" value="approve"> <input type="hidden" name="action" value="approve">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment