Commit 2e6c635d authored by bugreport%peshkin.net's avatar bugreport%peshkin.net

Bug 159627 quips should be editable and deleteable using the web interface

patch by burnus r=timeless,a=justdave
parent e008fbf6
...@@ -58,6 +58,34 @@ if ($action eq "show") { ...@@ -58,6 +58,34 @@ if ($action eq "show") {
$vars->{'show_quips'} = 1; $vars->{'show_quips'} = 1;
} }
if ($action eq "edit") {
if (!UserInGroup('admin')) {
ThrowUserError("quips_edit_denied");
}
# Read in the entire quip list
SendSQL("SELECT quipid,userid,quip FROM quips");
my $quips;
my @quipids;
while (MoreSQLData()) {
my ($quipid, $userid, $quip) = FetchSQLData();
$quips->{$quipid} = {'userid' => $userid, 'quip' => $quip};
push(@quipids, $quipid);
}
my $users;
foreach my $quipid (@quipids) {
if (not defined $users->{$userid}) {
SendSQL("SELECT login_name FROM profiles WHERE userid = $userid");
$users->{$userid} = FetchSQLData();
}
}
$vars->{'quipids'} = \@quipids;
$vars->{'quips'} = $quips;
$vars->{'users'} = $users;
$vars->{'edit_quips'} = 1;
}
if ($action eq "add") { if ($action eq "add") {
(Param('enablequips') eq "on") || ThrowUserError("no_new_quips"); (Param('enablequips') eq "on") || ThrowUserError("no_new_quips");
...@@ -71,6 +99,19 @@ if ($action eq "add") { ...@@ -71,6 +99,19 @@ if ($action eq "add") {
$vars->{'added_quip'} = $comment; $vars->{'added_quip'} = $comment;
} }
if ($action eq "delete") {
if (!UserInGroup('admin')) {
ThrowUserError("quips_edit_denied");
}
my $quipid = $::FORM{"quipid"};
ThrowCodeError("need_quipid") unless $quipid =~ /(\d+)/;
$quipid = $1;
SendSQL("SELECT quip FROM quips WHERE quipid = $quipid");
$vars->{'deleted_quip'} = FetchSQLData();
SendSQL("DELETE FROM quips WHERE quipid = $quipid");
}
print "Content-type: text/html\n\n"; print "Content-type: text/html\n\n";
$template->process("list/quips.html.tmpl", $vars) $template->process("list/quips.html.tmpl", $vars)
|| ThrowTemplateError($template->error()); || ThrowTemplateError($template->error());
...@@ -177,6 +177,9 @@ ...@@ -177,6 +177,9 @@
No Y axis was defined when creating report. The X axis is optional, No Y axis was defined when creating report. The X axis is optional,
but the Y axis is compulsory. but the Y axis is compulsory.
[% ELSIF error == "need_quipid" %]
A valid quipid is needed.
[% ELSIF error == "request_queue_group_invalid" %] [% ELSIF error == "request_queue_group_invalid" %]
The group field <em>[% group FILTER html %]</em> is invalid. The group field <em>[% group FILTER html %]</em> is invalid.
......
...@@ -371,7 +371,7 @@ ...@@ -371,7 +371,7 @@
[% ELSIF error == "need_quip" %] [% ELSIF error == "need_quip" %]
[% title = "Quip Required" %] [% title = "Quip Required" %]
Please enter a quip in the text field. Please enter a quip in the text field.
[% ELSIF error == "new_password_missing" %] [% ELSIF error == "new_password_missing" %]
[% title = "New Password Missing" %] [% title = "New Password Missing" %]
You must enter a new password. You must enter a new password.
...@@ -480,6 +480,10 @@ ...@@ -480,6 +480,10 @@
[% title = "Quips Disabled" %] [% title = "Quips Disabled" %]
Quips are disabled. Quips are disabled.
[% ELSIF error == "quips_edit_denied" %]
[% title = "Permission Denied" %]
You do not have permission to edit quips.
[% ELSIF error == "reassign_to_empty" %] [% ELSIF error == "reassign_to_empty" %]
[% title = "Illegal Reassignment" %] [% title = "Illegal Reassignment" %]
You cannot reassign to a bug to nobody. Unless you You cannot reassign to a bug to nobody. Unless you
......
...@@ -39,6 +39,14 @@ ...@@ -39,6 +39,14 @@
</p> </p>
[% END %] [% END %]
[% IF deleted_quip %]
<p>
<font color="red">
The quip '<tt>[% deleted_quip FILTER html %]</tt>' has been deleted.
</font>
</p>
[% END %]
<p> <p>
Bugzilla will pick a random quip for the headline on each bug list, and Bugzilla will pick a random quip for the headline on each 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
...@@ -62,11 +70,38 @@ ...@@ -62,11 +70,38 @@
<li>[% quip FILTER html %]</li> <li>[% quip FILTER html %]</li>
[% END %] [% END %]
</ul> </ul>
[% ELSIF edit_quips %]
<h2>Edit existing quips:</h2>
<table border="1">
<thead><tr>
<th>Action</th>
<th>User</th>
<th>Quip</th>
</tr></thead><tbody>
[% FOREACH quipid = quipids %]
<tr>
<td>
<a href="quips.cgi?action=delete&amp;quipid=[% quipid FILTER uri%]">
Delete
</a>
</td>
<td>
[% userid = quips.$quipid.userid %]
[% users.$userid FILTER html %]
[% "Unknown" IF NOT users.$userid %]
</td>
<td>[% quips.$quipid.quip FILTER html %]</td>
</tr>
[% END %]
</tbody></table>
[% ELSE %] [% ELSE %]
<p> <p>
Those who like their wisdom in large doses can Those who like their wisdom in large doses can
<a href="quips.cgi?action=show">view the whole quip list</a>. <a href="quips.cgi?action=show">view the whole quip list</a>.
</p> </p>
[% IF UserInGroup('admin') %]
<p><a href="quips.cgi?action=edit">Edit</a> the quip list.</p>
[% END %]
[% END %] [% END %]
[% PROCESS global/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %]
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