diff options
author | travis%sedsystems.ca <> | 2005-03-11 00:21:33 +0000 |
---|---|---|
committer | travis%sedsystems.ca <> | 2005-03-11 00:21:33 +0000 |
commit | ab5067bb0995cce2afe51803b5f005cc9f994416 (patch) | |
tree | 93ee81693db753abb0660f6effb44c9706bcf0a5 | |
parent | 6674f61905d98aee08b95c22181aa439bfb041e5 (diff) | |
download | bugs-ab5067bb0995cce2afe51803b5f005cc9f994416.tar bugs-ab5067bb0995cce2afe51803b5f005cc9f994416.tar.gz bugs-ab5067bb0995cce2afe51803b5f005cc9f994416.tar.bz2 bugs-ab5067bb0995cce2afe51803b5f005cc9f994416.tar.xz bugs-ab5067bb0995cce2afe51803b5f005cc9f994416.zip |
Bug 41972 : Per-user pref to turn quips off
Patch by Shane H. W. Travis <travis@sedsystems.ca> r=mkanat a=justdave
-rw-r--r-- | Bugzilla/Config.pm | 13 | ||||
-rwxr-xr-x | checksetup.pl | 3 | ||||
-rw-r--r-- | defparams.pl | 18 | ||||
-rwxr-xr-x | quips.cgi | 14 | ||||
-rw-r--r-- | template/en/default/global/setting-descs.none.tmpl | 1 | ||||
-rw-r--r-- | template/en/default/global/user-error.html.tmpl | 4 | ||||
-rw-r--r-- | template/en/default/list/list.html.tmpl | 2 | ||||
-rw-r--r-- | template/en/default/list/quips.html.tmpl | 8 |
8 files changed, 36 insertions, 27 deletions
diff --git a/Bugzilla/Config.pm b/Bugzilla/Config.pm index 097c7b6c4..d91755891 100644 --- a/Bugzilla/Config.pm +++ b/Bugzilla/Config.pm @@ -237,6 +237,19 @@ sub UpdateParams { 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 --- foreach my $item (@param_list) { diff --git a/checksetup.pl b/checksetup.pl index 529b025b5..42ee7e295 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -4136,6 +4136,9 @@ if (!defined $dbh->bz_get_index_def('bugs_activity','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... diff --git a/defparams.pl b/defparams.pl index af5715235..5e2110d61 100644 --- a/defparams.pl +++ b/defparams.pl @@ -390,16 +390,16 @@ sub find_languages { }, { - name => 'enablequips', - desc => 'Controls the appearance of quips at the top of buglists.<ul> ' . - '<li>on - Bugzilla will display a quip, and lets users add to ' . - 'the list.</li><li>approved - quips can be entered, but need ' . - 'be approved before shown</li><li>frozen - Bugzilla will display ' . - 'a quip but not permit new additions.</li><li>off - Bugzilla ' . - 'will not display quips.</li></ul>', + name => 'quip_list_entry_control', + desc => 'Controls how easily users can add entries to the quip list.' . + '<ul><li>open - Users may freely add to the quip list, and ' . + 'their entries will immediately be available for viewing.</li>' . + '<li>moderated - quips can be entered, but need to be approved ' . + 'by an admin before they will be shown</li><li>closed - no new ' . + 'additions to the quips list are allowed.</li></ul>', type => 's', - choices => ['on', 'approved', 'frozen', 'off'], - default => 'on', + choices => ['open', 'moderated', 'closed'], + default => 'open', checker => \&check_multi }, @@ -41,10 +41,6 @@ Bugzilla->login(LOGIN_REQUIRED); my $cgi = Bugzilla->cgi; -if (Param('enablequips') eq "off") { - ThrowUserError("quips_disabled"); -} - my $action = $cgi->param('action') || ""; if ($action eq "show") { @@ -75,12 +71,12 @@ if ($action eq "show") { } if ($action eq "add") { - (Param('enablequips') eq "on" or Param('enablequips') eq "approved") - || ThrowUserError("no_new_quips"); - + (Param('quip_list_entry_control') eq "closed") && + ThrowUserError("no_new_quips"); + # Add the quip - my $approved = (Param('enablequips') eq "on") ? '1' : '0'; - $approved = 1 if(UserInGroup('admin')); + my $approved = + (Param('quip_list_entry_control') eq "open") || (UserInGroup('admin')) || 0; my $comment = $cgi->param("quip"); $comment || ThrowUserError("need_quip"); $comment !~ m/</ || ThrowUserError("no_html_in_quips"); diff --git a/template/en/default/global/setting-descs.none.tmpl b/template/en/default/global/setting-descs.none.tmpl index 26bed57a7..9e7ac9596 100644 --- a/template/en/default/global/setting-descs.none.tmpl +++ b/template/en/default/global/setting-descs.none.tmpl @@ -20,6 +20,7 @@ [% PROCESS global/variables.none.tmpl %] [% setting_descs = { + "display_quips" => "Show a quip at the top of each bug list", "off" => "Off", "on" => "On" } diff --git a/template/en/default/global/user-error.html.tmpl b/template/en/default/global/user-error.html.tmpl index 2d992dfce..0821fbcd3 100644 --- a/template/en/default/global/user-error.html.tmpl +++ b/template/en/default/global/user-error.html.tmpl @@ -917,10 +917,6 @@ [% title = "Query Name Too 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" %] [% title = "Illegal Reassignment" %] To reassign [% terms.abug %], you must provide an address for diff --git a/template/en/default/list/list.html.tmpl b/template/en/default/list/list.html.tmpl index 919c9b21c..e0a5a2b93 100644 --- a/template/en/default/list/list.html.tmpl +++ b/template/en/default/list/list.html.tmpl @@ -57,7 +57,7 @@ <p>[% query FILTER html %]</p> [% 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." %] <a href="quips.cgi"><i>[% quip FILTER html %]</i></a> [% END %] diff --git a/template/en/default/list/quips.html.tmpl b/template/en/default/list/quips.html.tmpl index f5f22edd1..c43822aa1 100644 --- a/template/en/default/list/quips.html.tmpl +++ b/template/en/default/list/quips.html.tmpl @@ -37,7 +37,7 @@ <p> <font color="red"> 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. [% END %] </font> @@ -60,7 +60,7 @@ [% 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 (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. [% END %] </p> @@ -88,8 +88,8 @@ <h2>Edit existing quips:</h2> <p> <strong>Note:</strong> Only approved quips will be shown. - If enablequips is set to <q>on</q>, entered quips are automatically - approved. + If the parameter 'quip_list_entry_control' is set to <q>open</q>, + entered quips are automatically approved. </p> <form name="editform" method="post" action="quips.cgi"> <input type="hidden" name="action" value="approve"> |