diff options
Diffstat (limited to 'editversions.cgi')
-rwxr-xr-x | editversions.cgi | 188 |
1 files changed, 93 insertions, 95 deletions
diff --git a/editversions.cgi b/editversions.cgi index 1d4e17d41..23de88071 100755 --- a/editversions.cgi +++ b/editversions.cgi @@ -19,10 +19,11 @@ use Bugzilla::Error; use Bugzilla::Version; 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 = {}; + # There is only one section about versions in the documentation, # so all actions point to the same page. $vars->{'doc_section'} = 'administering/categorization.html#versions'; @@ -37,9 +38,8 @@ print $cgi->header(); $user->in_group('editcomponents') || scalar(@{$user->get_products_by_permission('editcomponents')}) - || ThrowUserError("auth_failure", {group => "editcomponents", - action => "edit", - object => "versions"}); + || ThrowUserError("auth_failure", + {group => "editcomponents", action => "edit", object => "versions"}); # # often used variables @@ -48,26 +48,27 @@ my $product_name = trim($cgi->param('product') || ''); my $version_name = trim($cgi->param('version') || ''); my $action = trim($cgi->param('action') || ''); my $showbugcounts = (defined $cgi->param('showbugcounts')); -my $token = $cgi->param('token'); -my $isactive = $cgi->param('isactive'); +my $token = $cgi->param('token'); +my $isactive = $cgi->param('isactive'); # # product = '' -> Show nice list of products # unless ($product_name) { - my $selectable_products = $user->get_selectable_products; - # If the user has editcomponents privs for some products only, - # we have to restrict the list of products to display. - unless ($user->in_group('editcomponents')) { - $selectable_products = $user->get_products_by_permission('editcomponents'); - } - $vars->{'products'} = $selectable_products; - $vars->{'showbugcounts'} = $showbugcounts; - - $template->process("admin/versions/select-product.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - exit; + my $selectable_products = $user->get_selectable_products; + + # If the user has editcomponents privs for some products only, + # we have to restrict the list of products to display. + unless ($user->in_group('editcomponents')) { + $selectable_products = $user->get_products_by_permission('editcomponents'); + } + $vars->{'products'} = $selectable_products; + $vars->{'showbugcounts'} = $showbugcounts; + + $template->process("admin/versions/select-product.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + exit; } my $product = $user->check_can_admin_product($product_name); @@ -77,12 +78,12 @@ my $product = $user->check_can_admin_product($product_name); # unless ($action) { - $vars->{'showbugcounts'} = $showbugcounts; - $vars->{'product'} = $product; - $template->process("admin/versions/list.html.tmpl", $vars) - || ThrowTemplateError($template->error()); + $vars->{'showbugcounts'} = $showbugcounts; + $vars->{'product'} = $product; + $template->process("admin/versions/list.html.tmpl", $vars) + || ThrowTemplateError($template->error()); - exit; + exit; } # @@ -92,12 +93,12 @@ unless ($action) { # if ($action eq 'add') { - $vars->{'token'} = issue_session_token('add_version'); - $vars->{'product'} = $product; - $template->process("admin/versions/create.html.tmpl", $vars) - || ThrowTemplateError($template->error()); + $vars->{'token'} = issue_session_token('add_version'); + $vars->{'product'} = $product; + $template->process("admin/versions/create.html.tmpl", $vars) + || ThrowTemplateError($template->error()); - exit; + exit; } # @@ -105,18 +106,18 @@ if ($action eq 'add') { # if ($action eq 'new') { - check_token_data($token, 'add_version'); - my $version = Bugzilla::Version->create( - { value => $version_name, product => $product }); - delete_token($token); - - $vars->{'message'} = 'version_created'; - $vars->{'version'} = $version; - $vars->{'product'} = $product; - $template->process("admin/versions/list.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - - exit; + check_token_data($token, 'add_version'); + my $version + = Bugzilla::Version->create({value => $version_name, product => $product}); + delete_token($token); + + $vars->{'message'} = 'version_created'; + $vars->{'version'} = $version; + $vars->{'product'} = $product; + $template->process("admin/versions/list.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + + exit; } # @@ -126,15 +127,15 @@ if ($action eq 'new') { # if ($action eq 'del') { - my $version = Bugzilla::Version->check({ product => $product, - name => $version_name }); - $vars->{'version'} = $version; - $vars->{'product'} = $product; - $vars->{'token'} = issue_session_token('delete_version'); - $template->process("admin/versions/confirm-delete.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - - exit; + my $version + = Bugzilla::Version->check({product => $product, name => $version_name}); + $vars->{'version'} = $version; + $vars->{'product'} = $product; + $vars->{'token'} = issue_session_token('delete_version'); + $template->process("admin/versions/confirm-delete.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + + exit; } # @@ -142,21 +143,21 @@ if ($action eq 'del') { # if ($action eq 'delete') { - check_token_data($token, 'delete_version'); - my $version = Bugzilla::Version->check({ product => $product, - name => $version_name }); - $version->remove_from_db; - delete_token($token); + check_token_data($token, 'delete_version'); + my $version + = Bugzilla::Version->check({product => $product, name => $version_name}); + $version->remove_from_db; + delete_token($token); - $vars->{'message'} = 'version_deleted'; - $vars->{'version'} = $version; - $vars->{'product'} = $product; - $vars->{'no_edit_version_link'} = 1; + $vars->{'message'} = 'version_deleted'; + $vars->{'version'} = $version; + $vars->{'product'} = $product; + $vars->{'no_edit_version_link'} = 1; - $template->process("admin/versions/list.html.tmpl", $vars) - || ThrowTemplateError($template->error()); + $template->process("admin/versions/list.html.tmpl", $vars) + || ThrowTemplateError($template->error()); - exit; + exit; } # @@ -166,16 +167,16 @@ if ($action eq 'delete') { # if ($action eq 'edit') { - my $version = Bugzilla::Version->check({ product => $product, - name => $version_name }); - $vars->{'version'} = $version; - $vars->{'product'} = $product; - $vars->{'token'} = issue_session_token('edit_version'); + my $version + = Bugzilla::Version->check({product => $product, name => $version_name}); + $vars->{'version'} = $version; + $vars->{'product'} = $product; + $vars->{'token'} = issue_session_token('edit_version'); - $template->process("admin/versions/edit.html.tmpl", $vars) - || ThrowTemplateError($template->error()); + $template->process("admin/versions/edit.html.tmpl", $vars) + || ThrowTemplateError($template->error()); - exit; + exit; } # @@ -183,30 +184,27 @@ if ($action eq 'edit') { # if ($action eq 'update') { - check_token_data($token, 'edit_version'); - my $version_old_name = trim($cgi->param('versionold') || ''); - my $version = Bugzilla::Version->check({ product => $product, - name => $version_old_name }); - - $dbh->bz_start_transaction(); - - $version->set_all({ - value => $version_name, - isactive => $isactive - }); - my $changes = $version->update(); - - $dbh->bz_commit_transaction(); - delete_token($token); - - $vars->{'message'} = 'version_updated'; - $vars->{'version'} = $version; - $vars->{'product'} = $product; - $vars->{'changes'} = $changes; - $template->process("admin/versions/list.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - - exit; + check_token_data($token, 'edit_version'); + my $version_old_name = trim($cgi->param('versionold') || ''); + my $version + = Bugzilla::Version->check({product => $product, name => $version_old_name}); + + $dbh->bz_start_transaction(); + + $version->set_all({value => $version_name, isactive => $isactive}); + my $changes = $version->update(); + + $dbh->bz_commit_transaction(); + delete_token($token); + + $vars->{'message'} = 'version_updated'; + $vars->{'version'} = $version; + $vars->{'product'} = $product; + $vars->{'changes'} = $changes; + $template->process("admin/versions/list.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + + exit; } # No valid action found |