summaryrefslogtreecommitdiffstats
path: root/editclassifications.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'editclassifications.cgi')
-rwxr-xr-xeditclassifications.cgi211
1 files changed, 108 insertions, 103 deletions
diff --git a/editclassifications.cgi b/editclassifications.cgi
index 285927a1e..1e7e3c27d 100755
--- a/editclassifications.cgi
+++ b/editclassifications.cgi
@@ -20,28 +20,29 @@ use Bugzilla::Error;
use Bugzilla::Classification;
use Bugzilla::Token;
-my $dbh = Bugzilla->dbh;
-my $cgi = Bugzilla->cgi;
+my $dbh = Bugzilla->dbh;
+my $cgi = Bugzilla->cgi;
my $template = Bugzilla->template;
local our $vars = {};
sub LoadTemplate {
- my $action = shift;
- my $cgi = Bugzilla->cgi;
- my $template = Bugzilla->template;
-
- $vars->{'classifications'} = [Bugzilla::Classification->get_all]
- if ($action eq 'select');
- # There is currently only one section about classifications,
- # so all pages point to it. Let's define it here.
- $vars->{'doc_section'} = 'classifications.html';
-
- $action =~ /(\w+)/;
- $action = $1;
- print $cgi->header();
- $template->process("admin/classifications/$action.html.tmpl", $vars)
- || ThrowTemplateError($template->error());
- exit;
+ my $action = shift;
+ my $cgi = Bugzilla->cgi;
+ my $template = Bugzilla->template;
+
+ $vars->{'classifications'} = [Bugzilla::Classification->get_all]
+ if ($action eq 'select');
+
+ # There is currently only one section about classifications,
+ # so all pages point to it. Let's define it here.
+ $vars->{'doc_section'} = 'classifications.html';
+
+ $action =~ /(\w+)/;
+ $action = $1;
+ print $cgi->header();
+ $template->process("admin/classifications/$action.html.tmpl", $vars)
+ || ThrowTemplateError($template->error());
+ exit;
}
#
@@ -52,13 +53,13 @@ Bugzilla->login(LOGIN_REQUIRED);
print $cgi->header();
-Bugzilla->user->in_group('editclassifications')
- || ThrowUserError("auth_failure", {group => "editclassifications",
- action => "edit",
- object => "classifications"});
+Bugzilla->user->in_group('editclassifications') || ThrowUserError(
+ "auth_failure",
+ {group => "editclassifications", action => "edit", object => "classifications"}
+);
ThrowUserError("auth_classification_not_enabled")
- unless Bugzilla->params->{"useclassification"};
+ unless Bugzilla->params->{"useclassification"};
#
# often used variables
@@ -79,8 +80,8 @@ LoadTemplate('select') unless $action;
#
if ($action eq 'add') {
- $vars->{'token'} = issue_session_token('add_classification');
- LoadTemplate($action);
+ $vars->{'token'} = issue_session_token('add_classification');
+ LoadTemplate($action);
}
#
@@ -88,20 +89,21 @@ if ($action eq 'add') {
#
if ($action eq 'new') {
- check_token_data($token, 'add_classification');
+ check_token_data($token, 'add_classification');
- my $classification =
- Bugzilla::Classification->create({name => $class_name,
- description => scalar $cgi->param('description'),
- sortkey => scalar $cgi->param('sortkey')});
+ my $classification = Bugzilla::Classification->create({
+ name => $class_name,
+ description => scalar $cgi->param('description'),
+ sortkey => scalar $cgi->param('sortkey')
+ });
- delete_token($token);
+ delete_token($token);
- $vars->{'message'} = 'classification_created';
- $vars->{'classification'} = $classification;
- $vars->{'classifications'} = [Bugzilla::Classification->get_all];
- $vars->{'token'} = issue_session_token('reclassify_classifications');
- LoadTemplate('reclassify');
+ $vars->{'message'} = 'classification_created';
+ $vars->{'classification'} = $classification;
+ $vars->{'classifications'} = [Bugzilla::Classification->get_all];
+ $vars->{'token'} = issue_session_token('reclassify_classifications');
+ LoadTemplate('reclassify');
}
#
@@ -112,20 +114,20 @@ if ($action eq 'new') {
if ($action eq 'del') {
- my $classification = Bugzilla::Classification->check($class_name);
+ my $classification = Bugzilla::Classification->check($class_name);
- if ($classification->id == 1) {
- ThrowUserError("classification_not_deletable");
- }
+ if ($classification->id == 1) {
+ ThrowUserError("classification_not_deletable");
+ }
- if ($classification->product_count()) {
- ThrowUserError("classification_has_products");
- }
+ if ($classification->product_count()) {
+ ThrowUserError("classification_has_products");
+ }
- $vars->{'classification'} = $classification;
- $vars->{'token'} = issue_session_token('delete_classification');
+ $vars->{'classification'} = $classification;
+ $vars->{'token'} = issue_session_token('delete_classification');
- LoadTemplate($action);
+ LoadTemplate($action);
}
#
@@ -133,15 +135,15 @@ if ($action eq 'del') {
#
if ($action eq 'delete') {
- check_token_data($token, 'delete_classification');
+ check_token_data($token, 'delete_classification');
- my $classification = Bugzilla::Classification->check($class_name);
- $classification->remove_from_db;
- delete_token($token);
+ my $classification = Bugzilla::Classification->check($class_name);
+ $classification->remove_from_db;
+ delete_token($token);
- $vars->{'message'} = 'classification_deleted';
- $vars->{'classification'} = $classification;
- LoadTemplate('select');
+ $vars->{'message'} = 'classification_deleted';
+ $vars->{'classification'} = $classification;
+ LoadTemplate('select');
}
#
@@ -151,12 +153,12 @@ if ($action eq 'delete') {
#
if ($action eq 'edit') {
- my $classification = Bugzilla::Classification->check($class_name);
+ my $classification = Bugzilla::Classification->check($class_name);
- $vars->{'classification'} = $classification;
- $vars->{'token'} = issue_session_token('edit_classification');
+ $vars->{'classification'} = $classification;
+ $vars->{'token'} = issue_session_token('edit_classification');
- LoadTemplate($action);
+ LoadTemplate($action);
}
#
@@ -164,22 +166,22 @@ if ($action eq 'edit') {
#
if ($action eq 'update') {
- check_token_data($token, 'edit_classification');
+ check_token_data($token, 'edit_classification');
- my $class_old_name = trim($cgi->param('classificationold') || '');
- my $classification = Bugzilla::Classification->check($class_old_name);
+ my $class_old_name = trim($cgi->param('classificationold') || '');
+ my $classification = Bugzilla::Classification->check($class_old_name);
- $classification->set_name($class_name);
- $classification->set_description(scalar $cgi->param('description'));
- $classification->set_sortkey(scalar $cgi->param('sortkey'));
+ $classification->set_name($class_name);
+ $classification->set_description(scalar $cgi->param('description'));
+ $classification->set_sortkey(scalar $cgi->param('sortkey'));
- my $changes = $classification->update;
- delete_token($token);
+ my $changes = $classification->update;
+ delete_token($token);
- $vars->{'message'} = 'classification_updated';
- $vars->{'classification'} = $classification;
- $vars->{'changes'} = $changes;
- LoadTemplate('select');
+ $vars->{'message'} = 'classification_updated';
+ $vars->{'classification'} = $classification;
+ $vars->{'changes'} = $changes;
+ LoadTemplate('select');
}
#
@@ -187,44 +189,47 @@ if ($action eq 'update') {
#
if ($action eq 'reclassify') {
- my $classification = Bugzilla::Classification->check($class_name);
-
- my $sth = $dbh->prepare("UPDATE products SET classification_id = ?
- WHERE name = ?");
- my @names;
-
- if (defined $cgi->param('add_products')) {
- check_token_data($token, 'reclassify_classifications');
- if (defined $cgi->param('prodlist')) {
- foreach my $prod ($cgi->param("prodlist")) {
- trick_taint($prod);
- $sth->execute($classification->id, $prod);
- push @names, $prod;
- }
- }
- delete_token($token);
- } elsif (defined $cgi->param('remove_products')) {
- check_token_data($token, 'reclassify_classifications');
- if (defined $cgi->param('myprodlist')) {
- foreach my $prod ($cgi->param("myprodlist")) {
- trick_taint($prod);
- $sth->execute(1, $prod);
- push @names, $prod;
- }
- }
- delete_token($token);
+ my $classification = Bugzilla::Classification->check($class_name);
+
+ my $sth = $dbh->prepare(
+ "UPDATE products SET classification_id = ?
+ WHERE name = ?"
+ );
+ my @names;
+
+ if (defined $cgi->param('add_products')) {
+ check_token_data($token, 'reclassify_classifications');
+ if (defined $cgi->param('prodlist')) {
+ foreach my $prod ($cgi->param("prodlist")) {
+ trick_taint($prod);
+ $sth->execute($classification->id, $prod);
+ push @names, $prod;
+ }
}
+ delete_token($token);
+ }
+ elsif (defined $cgi->param('remove_products')) {
+ check_token_data($token, 'reclassify_classifications');
+ if (defined $cgi->param('myprodlist')) {
+ foreach my $prod ($cgi->param("myprodlist")) {
+ trick_taint($prod);
+ $sth->execute(1, $prod);
+ push @names, $prod;
+ }
+ }
+ delete_token($token);
+ }
- $vars->{'classifications'} = [Bugzilla::Classification->get_all];
- $vars->{'classification'} = $classification;
- $vars->{'token'} = issue_session_token('reclassify_classifications');
+ $vars->{'classifications'} = [Bugzilla::Classification->get_all];
+ $vars->{'classification'} = $classification;
+ $vars->{'token'} = issue_session_token('reclassify_classifications');
- foreach my $name (@names) {
- Bugzilla->memcached->clear({ table => 'products', name => $name });
- }
- Bugzilla->memcached->clear_config();
+ foreach my $name (@names) {
+ Bugzilla->memcached->clear({table => 'products', name => $name});
+ }
+ Bugzilla->memcached->clear_config();
- LoadTemplate($action);
+ LoadTemplate($action);
}
#