diff options
Diffstat (limited to 'editkeywords.cgi')
-rwxr-xr-x | editkeywords.cgi | 144 |
1 files changed, 71 insertions, 73 deletions
diff --git a/editkeywords.cgi b/editkeywords.cgi index 01f30dbed..e4d769cd1 100755 --- a/editkeywords.cgi +++ b/editkeywords.cgi @@ -19,21 +19,20 @@ use Bugzilla::Error; use Bugzilla::Keyword; use Bugzilla::Token; -my $cgi = Bugzilla->cgi; -my $dbh = Bugzilla->dbh; +my $cgi = Bugzilla->cgi; +my $dbh = Bugzilla->dbh; my $template = Bugzilla->template; -my $vars = {}; +my $vars = {}; my $user = Bugzilla->login(LOGIN_REQUIRED); print $cgi->header(); -$user->in_group('editkeywords') - || ThrowUserError("auth_failure", {group => "editkeywords", - action => "edit", - object => "keywords"}); +$user->can_edit_keywords() + || ThrowUserError("auth_failure", + {group => "editkeywords", action => "edit", object => "keywords"}); -my $action = trim($cgi->param('action') || ''); +my $action = trim($cgi->param('action') || ''); my $key_id = $cgi->param('id'); my $token = $cgi->param('token'); @@ -41,41 +40,40 @@ $vars->{'action'} = $action; if ($action eq "") { - $vars->{'keywords'} = Bugzilla::Keyword->get_all_with_bug_count(); + $vars->{'keywords'} = Bugzilla::Keyword->get_all_with_bug_count(); - $template->process("admin/keywords/list.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - exit; + $template->process("admin/keywords/list.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + exit; } if ($action eq 'add') { - $vars->{'token'} = issue_session_token('add_keyword'); + $vars->{'token'} = issue_session_token('add_keyword'); - $template->process("admin/keywords/create.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - exit; + $template->process("admin/keywords/create.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + exit; } # # action='new' -> add keyword entered in the 'action=add' screen # if ($action eq 'new') { - check_token_data($token, 'add_keyword'); - my $name = $cgi->param('name') || ''; - my $desc = $cgi->param('description') || ''; + check_token_data($token, 'add_keyword'); + my $name = $cgi->param('name') || ''; + my $desc = $cgi->param('description') || ''; - my $keyword = Bugzilla::Keyword->create( - { name => $name, description => $desc }); + my $keyword = Bugzilla::Keyword->create({name => $name, description => $desc}); - delete_token($token); + delete_token($token); - $vars->{'message'} = 'keyword_created'; - $vars->{'name'} = $keyword->name; - $vars->{'keywords'} = Bugzilla::Keyword->get_all_with_bug_count(); + $vars->{'message'} = 'keyword_created'; + $vars->{'name'} = $keyword->name; + $vars->{'keywords'} = Bugzilla::Keyword->get_all_with_bug_count(); - $template->process("admin/keywords/list.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - exit; + $template->process("admin/keywords/list.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + exit; } @@ -86,15 +84,15 @@ if ($action eq 'new') { # if ($action eq 'edit') { - my $keyword = new Bugzilla::Keyword($key_id) - || ThrowUserError('invalid_keyword_id', { id => $key_id }); + my $keyword = new Bugzilla::Keyword($key_id) + || ThrowUserError('invalid_keyword_id', {id => $key_id}); - $vars->{'keyword'} = $keyword; - $vars->{'token'} = issue_session_token('edit_keyword'); + $vars->{'keyword'} = $keyword; + $vars->{'token'} = issue_session_token('edit_keyword'); - $template->process("admin/keywords/edit.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - exit; + $template->process("admin/keywords/edit.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + exit; } @@ -103,56 +101,56 @@ if ($action eq 'edit') { # if ($action eq 'update') { - check_token_data($token, 'edit_keyword'); - my $keyword = new Bugzilla::Keyword($key_id) - || ThrowUserError('invalid_keyword_id', { id => $key_id }); - - $keyword->set_all({ - name => scalar $cgi->param('name'), - description => scalar $cgi->param('description'), - }); - my $changes = $keyword->update(); - - delete_token($token); - - $vars->{'message'} = 'keyword_updated'; - $vars->{'keyword'} = $keyword; - $vars->{'changes'} = $changes; - $vars->{'keywords'} = Bugzilla::Keyword->get_all_with_bug_count(); - - $template->process("admin/keywords/list.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - exit; + check_token_data($token, 'edit_keyword'); + my $keyword = new Bugzilla::Keyword($key_id) + || ThrowUserError('invalid_keyword_id', {id => $key_id}); + + $keyword->set_all({ + name => scalar $cgi->param('name'), + description => scalar $cgi->param('description'), + }); + my $changes = $keyword->update(); + + delete_token($token); + + $vars->{'message'} = 'keyword_updated'; + $vars->{'keyword'} = $keyword; + $vars->{'changes'} = $changes; + $vars->{'keywords'} = Bugzilla::Keyword->get_all_with_bug_count(); + + $template->process("admin/keywords/list.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + exit; } if ($action eq 'del') { - my $keyword = new Bugzilla::Keyword($key_id) - || ThrowUserError('invalid_keyword_id', { id => $key_id }); + my $keyword = new Bugzilla::Keyword($key_id) + || ThrowUserError('invalid_keyword_id', {id => $key_id}); - $vars->{'keyword'} = $keyword; - $vars->{'token'} = issue_session_token('delete_keyword'); + $vars->{'keyword'} = $keyword; + $vars->{'token'} = issue_session_token('delete_keyword'); - $template->process("admin/keywords/confirm-delete.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - exit; + $template->process("admin/keywords/confirm-delete.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + exit; } if ($action eq 'delete') { - check_token_data($token, 'delete_keyword'); - my $keyword = new Bugzilla::Keyword($key_id) - || ThrowUserError('invalid_keyword_id', { id => $key_id }); + check_token_data($token, 'delete_keyword'); + my $keyword = new Bugzilla::Keyword($key_id) + || ThrowUserError('invalid_keyword_id', {id => $key_id}); - $keyword->remove_from_db(); + $keyword->remove_from_db(); - delete_token($token); + delete_token($token); - $vars->{'message'} = 'keyword_deleted'; - $vars->{'keyword'} = $keyword; - $vars->{'keywords'} = Bugzilla::Keyword->get_all_with_bug_count(); + $vars->{'message'} = 'keyword_deleted'; + $vars->{'keyword'} = $keyword; + $vars->{'keywords'} = Bugzilla::Keyword->get_all_with_bug_count(); - $template->process("admin/keywords/list.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - exit; + $template->process("admin/keywords/list.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + exit; } ThrowUserError('unknown_action', {action => $action}); |