Bug 41972 : Per-user pref to turn quips off

Patch by Shane H. W. Travis <travis@sedsystems.ca>  r=mkanat  a=justdave
This commit is contained in:
travis%sedsystems.ca 2005-03-10 16:21:35 +00:00
Родитель c594f166bd
Коммит ce2ec689bd
8 изменённых файлов: 36 добавлений и 27 удалений

Просмотреть файл

@ -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) {

Просмотреть файл

@ -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...

Просмотреть файл

@ -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");

Просмотреть файл

@ -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"
}

Просмотреть файл

@ -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

Просмотреть файл

@ -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 %]

Просмотреть файл

@ -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">