Bug 478972: Remove the 'useentrygroupdefault' parameter - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=mkanat

git-svn-id: svn://10.0.0.236/trunk@256770 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
lpsolit%gmail.com 2009-03-31 19:17:03 +00:00
parent 3cf86c1eba
commit bfda31bbd9
10 changed files with 29 additions and 71 deletions

View File

@ -151,10 +151,6 @@ sub update_params {
{
$param->{'makeproductgroups'} = $param->{'usebuggroups'};
}
if (exists $param->{'usebuggroupsentry'}
&& !exists $param->{'useentrygroupdefault'}) {
$param->{'useentrygroupdefault'} = $param->{'usebuggroupsentry'};
}
# Modularise auth code
if (exists $param->{'useLDAP'} && !exists $param->{'loginmethod'}) {

View File

@ -48,12 +48,6 @@ sub get_param_list {
default => 0
},
{
name => 'useentrygroupdefault',
type => 'b',
default => 0
},
{
name => 'chartgroup',
type => 's',

View File

@ -1010,10 +1010,12 @@ use constant ABSTRACT_SCHEMA => {
REFERENCES => {TABLE => 'products',
COLUMN => 'id',
DELETE => 'CASCADE'}},
entry => {TYPE => 'BOOLEAN', NOTNULL => 1},
entry => {TYPE => 'BOOLEAN', NOTNULL => 1,
DEFAULT => 'FALSE'},
membercontrol => {TYPE => 'BOOLEAN', NOTNULL => 1},
othercontrol => {TYPE => 'BOOLEAN', NOTNULL => 1},
canedit => {TYPE => 'BOOLEAN', NOTNULL => 1},
canedit => {TYPE => 'BOOLEAN', NOTNULL => 1,
DEFAULT => 'FALSE'},
editcomponents => {TYPE => 'BOOLEAN', NOTNULL => 1,
DEFAULT => 'FALSE'},
editbugs => {TYPE => 'BOOLEAN', NOTNULL => 1,

View File

@ -557,7 +557,13 @@ sub update_table_definitions {
# 2009-03-02 arbingersys@gmail.com - Bug 423613
$dbh->bz_add_index('profiles', 'profiles_extern_id_idx',
{TYPE => 'UNIQUE', FIELDS => [qw(extern_id)]});
# 2009-03-31 LpSolit@gmail.com - Bug 478972
$dbh->bz_alter_column('group_control_map', 'entry',
{TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 'FALSE'});
$dbh->bz_alter_column('group_control_map', 'canedit',
{TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 'FALSE'});
################################################################
# New --TABLE-- changes should go *** A B O V E *** this point #
################################################################
@ -1840,7 +1846,6 @@ sub _setup_usebuggroups_backward_compatibility {
#
# If group_control_map is empty, backward-compatibility
# usebuggroups-equivalent records should be created.
my $entry = Bugzilla->params->{'useentrygroupdefault'};
my ($maps_exist) = $dbh->selectrow_array(
"SELECT DISTINCT 1 FROM group_control_map");
if (!$maps_exist) {
@ -1857,11 +1862,9 @@ sub _setup_usebuggroups_backward_compatibility {
if ($groupname eq $productname) {
# Product and group have same name.
$dbh->do("INSERT INTO group_control_map " .
"(group_id, product_id, entry, membercontrol, " .
"othercontrol, canedit) " .
"VALUES ($groupid, $productid, $entry, " .
CONTROLMAPDEFAULT . ", " .
CONTROLMAPNA . ", 0)");
"(group_id, product_id, membercontrol, othercontrol) " .
"VALUES (?, ?, ?, ?)", undef,
($groupid, $productid, CONTROLMAPDEFAULT, CONTROLMAPNA));
} else {
# See if this group is a product group at all.
my $sth2 = $dbh->prepare("SELECT id FROM products
@ -1872,11 +1875,9 @@ sub _setup_usebuggroups_backward_compatibility {
# If there is no product with the same name as this
# group, then it is permitted for all products.
$dbh->do("INSERT INTO group_control_map " .
"(group_id, product_id, entry, membercontrol, " .
"othercontrol, canedit) " .
"VALUES ($groupid, $productid, 0, " .
CONTROLMAPSHOWN . ", " .
CONTROLMAPNA . ", 0)");
"(group_id, product_id, membercontrol, othercontrol) " .
"VALUES (?, ?, ?, ?)", undef,
($groupid, $productid, CONTROLMAPSHOWN, CONTROLMAPNA));
}
}
}

View File

@ -565,10 +565,9 @@ sub _create_bug_group {
# Associate the new group and new product.
$dbh->do('INSERT INTO group_control_map
(group_id, product_id, entry, membercontrol, othercontrol, canedit)
VALUES (?, ?, ?, ?, ?, ?)',
undef, ($group->id, $self->id, Bugzilla->params->{'useentrygroupdefault'},
CONTROLMAPDEFAULT, CONTROLMAPNA, 0));
(group_id, product_id, membercontrol, othercontrol)
VALUES (?, ?, ?, ?)',
undef, ($group->id, $self->id, CONTROLMAPDEFAULT, CONTROLMAPNA));
}
sub _create_series {

View File

@ -658,13 +658,9 @@ sub get_selectable_products {
my $query = "SELECT id " .
" FROM products " .
"LEFT JOIN group_control_map " .
" ON group_control_map.product_id = products.id ";
if (Bugzilla->params->{'useentrygroupdefault'}) {
$query .= " AND group_control_map.entry != 0 ";
} else {
$query .= " AND group_control_map.membercontrol = " . CONTROLMAPMANDATORY;
}
$query .= " AND group_id NOT IN(" . $self->groups_as_string . ") " .
"ON group_control_map.product_id = products.id " .
" AND group_control_map.membercontrol = " . CONTROLMAPMANDATORY .
" AND group_id NOT IN(" . $self->groups_as_string . ") " .
" WHERE group_id IS NULL " .
"ORDER BY name";

View File

@ -479,25 +479,6 @@
</listitem>
</varlistentry>
<varlistentry>
<term>
useentrygroupdefault
</term>
<listitem>
<para>
Bugzilla products can have a group associated with them, so that
certain users can only see bugs in certain products. When this
parameter is set to <quote>on</quote>, this
causes the initial group controls on newly created products
to place all newly-created bugs in the group
having the same name as the product immediately.
After a product is initially created, the group controls
can be further adjusted without interference by
this mechanism.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
usevisibilitygroups

View File

@ -214,9 +214,8 @@ if ($action eq 'new') {
# Permit all existing products to use the new group if makeproductgroups.
if ($cgi->param('insertnew')) {
$dbh->do('INSERT INTO group_control_map
(group_id, product_id, entry, membercontrol,
othercontrol, canedit)
SELECT ?, products.id, 0, ?, ?, 0 FROM products',
(group_id, product_id, membercontrol, othercontrol)
SELECT ?, products.id, ?, ? FROM products',
undef, ($group->id, CONTROLMAPSHOWN, CONTROLMAPNA));
}
delete_token($token);

View File

@ -140,14 +140,10 @@ if ($cgi->param('createmissinggroupcontrolmapentries')) {
my $na = CONTROLMAPNA;
my $shown = CONTROLMAPSHOWN;
my $insertsth = $dbh->prepare(
qq{INSERT INTO group_control_map (
group_id, product_id, entry,
membercontrol, othercontrol, canedit
)
VALUES (
?, ?, 0,
$shown, $na, 0
)});
qq{INSERT INTO group_control_map
(group_id, product_id, membercontrol, othercontrol)
VALUES (?, ?, $shown, $na)});
my $updatesth = $dbh->prepare(qq{UPDATE group_control_map
SET membercontrol = $shown
WHERE group_id = ?

View File

@ -27,12 +27,6 @@
makeproductgroups => "If this is on, $terms.Bugzilla will associate $terms.abug group " _
"with each product in the database, and use it for querying ${terms.bugs}.",
useentrygroupdefault => "If this is on, $terms.Bugzilla will use product $terms.bug groups " _
"by default to restrict who can enter ${terms.bugs}. If this is on, " _
"users can see any product to which they have entry access in search menus. " _
"If this is off, users can see any product to which they have not " _
"been excluded by a mandatory restriction.",
chartgroup => "The name of the group of users who can use the 'New Charts' " _
"feature. Administrators should ensure that the public categories " _
"and series definitions do not divulge confidential information " _