summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortravis%sedsystems.ca <>2005-03-11 01:21:33 +0100
committertravis%sedsystems.ca <>2005-03-11 01:21:33 +0100
commitab5067bb0995cce2afe51803b5f005cc9f994416 (patch)
tree93ee81693db753abb0660f6effb44c9706bcf0a5
parent6674f61905d98aee08b95c22181aa439bfb041e5 (diff)
downloadbugzilla-ab5067bb0995cce2afe51803b5f005cc9f994416.tar.gz
bugzilla-ab5067bb0995cce2afe51803b5f005cc9f994416.tar.xz
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.pm13
-rwxr-xr-xchecksetup.pl3
-rw-r--r--defparams.pl18
-rwxr-xr-xquips.cgi14
-rw-r--r--template/en/default/global/setting-descs.none.tmpl1
-rw-r--r--template/en/default/global/user-error.html.tmpl4
-rw-r--r--template/en/default/list/list.html.tmpl2
-rw-r--r--template/en/default/list/quips.html.tmpl8
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
},
diff --git a/quips.cgi b/quips.cgi
index dc0106450..766d1a792 100755
--- a/quips.cgi
+++ b/quips.cgi
@@ -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">