summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2009-03-31 21:16:13 +0200
committerlpsolit%gmail.com <>2009-03-31 21:16:13 +0200
commitd8dc06a626ad4542d9d5db9c5e2a2de7f4003cc6 (patch)
treec931407869e349842e8b30a817f10f22217a37dd
parenta86ee3a1ca5213d5401c6425cfb0fcfc7bb15e78 (diff)
downloadbugzilla-d8dc06a626ad4542d9d5db9c5e2a2de7f4003cc6.tar.gz
bugzilla-d8dc06a626ad4542d9d5db9c5e2a2de7f4003cc6.tar.xz
Bug 478972: Remove the 'useentrygroupdefault' parameter - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=mkanat
-rw-r--r--Bugzilla/Config.pm4
-rw-r--r--Bugzilla/Config/GroupSecurity.pm6
-rw-r--r--Bugzilla/DB/Schema.pm6
-rw-r--r--Bugzilla/Install/DB.pm25
-rw-r--r--Bugzilla/Product.pm7
-rw-r--r--Bugzilla/User.pm10
-rw-r--r--docs/en/xml/administration.xml19
-rwxr-xr-xeditgroups.cgi5
-rwxr-xr-xsanitycheck.cgi12
-rw-r--r--template/en/default/admin/params/groupsecurity.html.tmpl6
10 files changed, 29 insertions, 71 deletions
diff --git a/Bugzilla/Config.pm b/Bugzilla/Config.pm
index 14f10bed9..4074abcd1 100644
--- a/Bugzilla/Config.pm
+++ b/Bugzilla/Config.pm
@@ -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'}) {
diff --git a/Bugzilla/Config/GroupSecurity.pm b/Bugzilla/Config/GroupSecurity.pm
index 0a238f209..f0038f153 100644
--- a/Bugzilla/Config/GroupSecurity.pm
+++ b/Bugzilla/Config/GroupSecurity.pm
@@ -49,12 +49,6 @@ sub get_param_list {
},
{
- name => 'useentrygroupdefault',
- type => 'b',
- default => 0
- },
-
- {
name => 'chartgroup',
type => 's',
choices => \&_get_all_group_names,
diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm
index 680f754ca..1afdb6598 100644
--- a/Bugzilla/DB/Schema.pm
+++ b/Bugzilla/DB/Schema.pm
@@ -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,
diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm
index ec6c8ce9c..de1d48361 100644
--- a/Bugzilla/Install/DB.pm
+++ b/Bugzilla/Install/DB.pm
@@ -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));
}
}
}
diff --git a/Bugzilla/Product.pm b/Bugzilla/Product.pm
index 88292d27e..03ebe2639 100644
--- a/Bugzilla/Product.pm
+++ b/Bugzilla/Product.pm
@@ -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 {
diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm
index fe04856aa..d373f019d 100644
--- a/Bugzilla/User.pm
+++ b/Bugzilla/User.pm
@@ -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";
diff --git a/docs/en/xml/administration.xml b/docs/en/xml/administration.xml
index df5671502..09cf36ed1 100644
--- a/docs/en/xml/administration.xml
+++ b/docs/en/xml/administration.xml
@@ -481,25 +481,6 @@
<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
</term>
<listitem>
diff --git a/editgroups.cgi b/editgroups.cgi
index 475b805cc..0554638fa 100755
--- a/editgroups.cgi
+++ b/editgroups.cgi
@@ -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);
diff --git a/sanitycheck.cgi b/sanitycheck.cgi
index 93228fc67..c43641fb6 100755
--- a/sanitycheck.cgi
+++ b/sanitycheck.cgi
@@ -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 = ?
diff --git a/template/en/default/admin/params/groupsecurity.html.tmpl b/template/en/default/admin/params/groupsecurity.html.tmpl
index 440e1cf2f..ab39a9149 100644
--- a/template/en/default/admin/params/groupsecurity.html.tmpl
+++ b/template/en/default/admin/params/groupsecurity.html.tmpl
@@ -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 " _