# -*- Mode: perl; indent-tabs-mode: nil -*- # # The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is the Bugzilla Bug Tracking System. # # The Initial Developer of the Original Code is Netscape Communications # Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): Terry Weissman <terry@mozilla.org> # Dawn Endico <endico@mozilla.org> # Dan Mosedale <dmose@mozilla.org> # Joe Robins <jmrobins@tgix.com> # Jacob Steenhagen <jake@bugzilla.org> # J. Paul Reed <preed@sigkill.com> # Bradley Baetz <bbaetz@student.usyd.edu.au> # Joseph Heenan <joseph@heenan.me.uk> # Erik Stambaugh <erik@dasbistro.com> # Frédéric Buclin <LpSolit@gmail.com> # package Bugzilla::Config::GroupSecurity; use strict; use Bugzilla::Config::Common; use Bugzilla::Group; $Bugzilla::Config::GroupSecurity::sortkey = "07"; sub get_param_list { my $class = shift; my @param_list = ( { name => 'makeproductgroups', type => 'b', default => 0 }, { name => 'useentrygroupdefault', type => 'b', default => 0 }, { name => 'chartgroup', type => 's', choices => \&_get_all_group_names, default => 'editbugs', checker => \&check_group }, { name => 'insidergroup', type => 's', choices => \&_get_all_group_names, default => '', checker => \&check_group }, { name => 'timetrackinggroup', type => 's', choices => \&_get_all_group_names, default => 'editbugs', checker => \&check_group }, { name => 'querysharegroup', type => 's', choices => \&_get_all_group_names, default => 'editbugs', checker => \&check_group }, { name => 'usevisibilitygroups', type => 'b', default => 0 }, { name => 'strict_isolation', type => 'b', default => 0 } ); return @param_list; } sub _get_all_group_names { my @group_names = map {$_->name} Bugzilla::Group->get_all; unshift(@group_names, ''); return \@group_names; } 1;