diff --git a/lib/pause_2017/PAUSE/Web/Controller/User/Distperms.pm b/lib/pause_2017/PAUSE/Web/Controller/User/Distperms.pm index 3bf77859d..1f31f4d38 100644 --- a/lib/pause_2017/PAUSE/Web/Controller/User/Distperms.pm +++ b/lib/pause_2017/PAUSE/Web/Controller/User/Distperms.pm @@ -20,8 +20,8 @@ sub peek { my $query = qq{SELECT packages.distname, GROUP_CONCAT(DISTINCT primeur.userid ORDER BY primeur.userid), GROUP_CONCAT(DISTINCT perms.userid ORDER BY perms.userid) - FROM packages LEFT JOIN primeur ON primeur.package=packages.package - LEFT JOIN perms ON perms.package=packages.package AND primeur.userid <> perms.userid + FROM packages LEFT JOIN primeur ON primeur.lc_package=packages.lc_package + LEFT JOIN perms ON perms.lc_package=packages.lc_package AND primeur.userid <> perms.userid }; my $db = $mgr->connect; @@ -127,7 +127,7 @@ sub move_dist_primary { unless exists $all_dists->{$seldist}; my $mods = $db->selectcol_arrayref( q{SELECT primeur.package - FROM primeur JOIN packages ON primeur.package = packages.package + FROM primeur JOIN packages ON primeur.lc_package = packages.lc_package WHERE packages.distname=? AND primeur.userid=?}, undef, $seldist, $u->{userid}); for my $selmod (@$mods) { @@ -204,7 +204,7 @@ sub remove_dist_primary { unless exists $all_dists->{$seldist}; my $mods = $db->selectcol_arrayref( q{SELECT primeur.package - FROM primeur JOIN packages ON primeur.package = packages.package + FROM primeur JOIN packages ON primeur.lc_package = packages.lc_package WHERE packages.distname=? AND primeur.userid=?}, undef, $seldist, $u->{userid}); for my $selmod (@$mods) { @@ -286,7 +286,7 @@ sub make_dist_comaint { unless exists $all_dists->{$seldist}; my $mods = $db->selectcol_arrayref( q{SELECT primeur.package - FROM primeur JOIN packages ON primeur.package = packages.package + FROM primeur JOIN packages ON primeur.lc_package = packages.lc_package WHERE packages.distname=? AND primeur.userid=?}, undef, $seldist, $u->{userid}); for my $selmod (@$mods) { @@ -369,7 +369,7 @@ sub remove_dist_comaint { } my $mods = $db->selectcol_arrayref( q{SELECT primeur.package - FROM primeur JOIN packages ON primeur.package = packages.package + FROM primeur JOIN packages ON primeur.lc_package = packages.lc_package WHERE packages.distname=? AND primeur.userid=?}, undef, $seldist, $u->{userid}); for my $selmod (@$mods) { @@ -434,7 +434,7 @@ sub giveup_dist_comaint { unless exists $all_dists->{$seldist}; my $mods = $db->selectcol_arrayref( q{SELECT perms.package - FROM perms JOIN packages ON perms.package = packages.package + FROM perms JOIN packages ON perms.lc_package = packages.lc_package WHERE packages.distname=? AND perms.userid=?}, undef, $seldist, $u->{userid}); for my $selmod (@$mods) { @@ -489,12 +489,12 @@ sub all_pdists { # LEFT JOIN primeur AS p3 ON p2.package = p3.package GROUP BY packages.distname}); my $sth2 = $db->prepare( qq{SELECT packages.distname - FROM packages JOIN primeur ON primeur.userid = ? AND primeur.package=packages.package}); + FROM packages JOIN primeur ON primeur.userid = ? AND primeur.lc_package=packages.lc_package}); $sth2->execute($u->{userid}); while (my($distname) = $mgr->fetchrow($sth2, "fetchrow_array")) { next if $distname eq ''; my $owners = $db->selectcol_arrayref( - qq{SELECT DISTINCT(userid) FROM primeur JOIN packages ON packages.distname = ? AND primeur.package = packages.package}, + qq{SELECT DISTINCT(userid) FROM primeur JOIN packages ON packages.distname = ? AND primeur.lc_package = packages.lc_package}, undef, $distname); $all_dists{$distname} = join ',', @$owners; } @@ -509,8 +509,8 @@ sub all_cdists { my(%all_dists); my $sth2 = $db->prepare(qq{SELECT packages.distname, GROUP_CONCAT(DISTINCT primeur.userid ORDER BY primeur.userid) FROM packages - JOIN perms ON perms.userid = ? AND perms.package = packages.package - LEFT JOIN primeur ON packages.package = primeur.package + JOIN perms ON perms.userid = ? AND perms.lc_package = packages.lc_package + LEFT JOIN primeur ON packages.lc_package = primeur.lc_package GROUP BY packages.distname}); $sth2->execute($u->{userid}); while (my($id, $owner) = $mgr->fetchrow($sth2, "fetchrow_array")) { @@ -539,7 +539,7 @@ sub all_comaints { my $db = $mgr->connect; my $or = join " OR\n", map { "packages.distname='$_'" } keys %$all_dists; my $sth2 = $db->prepare(qq{SELECT packages.distname, userid, perms.package - FROM perms LEFT JOIN packages ON perms.package = packages.package + FROM perms LEFT JOIN packages ON perms.lc_package = packages.lc_package WHERE userid <> '$u->{userid}' AND ( $or ) }); $sth2->execute; diff --git a/lib/pause_2017/PAUSE/Web/Controller/User/Perms.pm b/lib/pause_2017/PAUSE/Web/Controller/User/Perms.pm index 9c3db8926..ba730ffc2 100644 --- a/lib/pause_2017/PAUSE/Web/Controller/User/Perms.pm +++ b/lib/pause_2017/PAUSE/Web/Controller/User/Perms.pm @@ -29,7 +29,7 @@ sub peek { "co-maint", primeur.userid FROM perms LEFT JOIN users ON perms.userid=users.userid - LEFT JOIN primeur ON perms.package=primeur.package + LEFT JOIN primeur ON perms.lc_package=primeur.lc_package }, ); @@ -582,7 +582,7 @@ sub all_cmods { my(%all_mods); my $sth2 = $db->prepare(qq{SELECT perms.package, primeur.userid FROM perms LEFT JOIN primeur - ON perms.package = primeur.package + ON perms.lc_package = primeur.lc_package WHERE perms.userid=?}); $sth2->execute($u->{userid}); while (my($id, $owner) = $mgr->fetchrow($sth2, "fetchrow_array")) { diff --git a/t/pause_2017/lib/Test/PAUSE/Web.pm b/t/pause_2017/lib/Test/PAUSE/Web.pm index 34b6338a1..66ba08178 100644 --- a/t/pause_2017/lib/Test/PAUSE/Web.pm +++ b/t/pause_2017/lib/Test/PAUSE/Web.pm @@ -423,6 +423,7 @@ sub reset_module_fixture { my $userdir = _userdir($dist->{owner}); $self->mod_db->insert("packages", { package => $package, + lc_package => lc $package, version => '0.01', dist => "$userdir/$dist->{name}-0.01.tar.gz", distname => $dist->{name}, @@ -432,6 +433,7 @@ sub reset_module_fixture { }); $self->mod_db->insert("primeur", { package => $package, + lc_package => lc $package, userid => $dist->{owner}, }); } @@ -441,6 +443,7 @@ sub reset_module_fixture { for my $package (@$packages) { $self->mod_db->insert("perms", { package => $package, + lc_package => lc $package, userid => $id, }); } @@ -448,6 +451,7 @@ sub reset_module_fixture { for my $package (@{$dist->{packages}}) { $self->mod_db->insert("perms", { package => $package, + lc_package => lc $package, userid => $comaint, }); }