[vhffs-dev] [1810] No more HTML::Template in admin/cvs/list |
[ Thread Index |
Date Index
| More vhffs.org/vhffs-dev Archives
]
Revision: 1810
Author: beuss
Date: 2011-05-25 13:18:33 +0200 (Wed, 25 May 2011)
Log Message:
-----------
No more HTML::Template in admin/cvs/list
Modified Paths:
--------------
trunk/vhffs-api/src/Vhffs/Panel/Cvs.pm
trunk/vhffs-panel/admin/cvs/list.pl
trunk/vhffs-panel/templates/Makefile.am
Removed Paths:
-------------
trunk/vhffs-panel/templates/admin/cvs/part.tmpl
Modified: trunk/vhffs-api/src/Vhffs/Panel/Cvs.pm
===================================================================
--- trunk/vhffs-api/src/Vhffs/Panel/Cvs.pm 2011-05-25 11:18:26 UTC (rev 1809)
+++ trunk/vhffs-api/src/Vhffs/Panel/Cvs.pm 2011-05-25 11:18:33 UTC (rev 1810)
@@ -36,7 +36,6 @@
use DBI;
use POSIX qw(locale_h);
-use HTML::Template;
use locale;
use Locale::gettext;
use CGI;
@@ -51,26 +50,23 @@
sub search
{
my ($main, $name) = @_;
- my $sql;
+
my @params;
- my $cvs = [];
+ my $sql = 'SELECT cvs.cvsroot as label, g.groupname as owner_group, o.state, u.username as owner_user '.
+ 'FROM vhffs_cvs cvs '.
+ 'INNER JOIN vhffs_object o ON (o.object_id = cvs.object_id) '.
+ 'INNER JOIN vhffs_groups g ON (g.gid = o.owner_gid) '.
+ 'INNER JOIN vhffs_users u ON (u.uid = o.owner_uid) ';
if( defined $name ) {
- $sql = 'SELECT c.cvsroot, g.groupname, o.state FROM vhffs_cvs c INNER JOIN vhffs_object o ON o.object_id = c.object_id INNER JOIN vhffs_groups g ON g.gid = o.owner_gid WHERE cvsroot LIKE ?';
+ $sql .= 'WHERE cvs.cvsroot LIKE ? ';
push(@params, '%'.lc($name).'%');
- } else {
- $sql = 'SELECT c.cvsroot, g.groupname, o.state FROM vhffs_cvs c INNER JOIN vhffs_object o ON o.object_id = c.object_id INNER JOIN vhffs_groups g ON g.gid = o.owner_gid';
}
- my $dbh = $main->get_db_object();
- my $sth = $dbh->prepare($sql) or return undef;
- return undef unless($sth->execute(@params));
-
- while(my $c = $sth->fetchrow_hashref('NAME_lc')) {
- $c->{state} = Vhffs::Functions::status_string_from_status_id($c->{state});
- push(@$cvs, $c);
- }
- return $cvs;
+ $sql .= 'ORDER BY cvs.cvsroot';
+
+ my $dbh = $main->get_db_object();
+ return $dbh->selectall_arrayref($sql, { Slice => {} }, @params);
}
Modified: trunk/vhffs-panel/admin/cvs/list.pl
===================================================================
--- trunk/vhffs-panel/admin/cvs/list.pl 2011-05-25 11:18:26 UTC (rev 1809)
+++ trunk/vhffs-panel/admin/cvs/list.pl 2011-05-25 11:18:33 UTC (rev 1810)
@@ -32,64 +32,30 @@
use strict;
use utf8;
use POSIX qw(locale_h);
-use HTML::Template;
use locale;
use Locale::gettext;
use CGI;
use CGI::Session;
use lib '%VHFFS_LIB_DIR%';
-use Vhffs::User;
-use Vhffs::Panel::Main;
+use Vhffs::Panel::Admin;
use Vhffs::Panel::Cvs;
-my $panel = new Vhffs::Panel::Main();
-exit 0 unless $panel;
-my $session = $panel->get_session;
-exit 0 unless $session;
+my $panel = new Vhffs::Panel::Admin();
my $vhffs = $panel->{'vhffs'};
-my $user = $panel->{'user'};
my $cgi = $panel->{'cgi'};
-my $templatedir = $panel->{'templatedir'};
-my $template;
+my $name = $cgi->param('NAME');
+my $vars = {
+ type => 'cvs'
+};
-if( ($user->is_moderator != 1 ) && ( $user->is_admin != 1 ) )
-{
- $template = new HTML::Template( filename => $templatedir.'/panel/misc/simplemsg.tmpl' );
- $template->param( MESSAGE => gettext('You are not allowed to see it') );
+if( defined( $name ) ) {
+ $vars->{list_title} = sprintf( gettext('Search result for CVS repository %s'), $name );
+} else {
+ $vars->{list_title} = gettext('List of all CVS repositories');
}
-else
-{
- $template = new HTML::Template( filename => $templatedir.'/panel/admin/misc/list.tmpl' );
- my $name = $cgi->param('NAME');
- if( defined( $name ) )
- {
- $template->param( TITLE => gettext('Search result for CVS repository').': '.$name );
- }
- else
- {
- $template->param( TITLE => gettext('List of all CVS repositories') );
- }
-
- $template->param( TEXT_TITLE1 => gettext('CVS Root') );
- $template->param( TEXT_TITLE2 => gettext('Group') );
- $template->param( TEXT_TITLE3 => gettext('State') );
-
- my $cvs = Vhffs::Panel::Cvs::search( $vhffs, $name );
- if( defined $cvs ) {
- my $subtemplate = new HTML::Template( filename => $templatedir.'/panel/admin/cvs/part.tmpl', global_vars => 1);
- if( $user->is_admin == 1 ) {
- $subtemplate->param( ACTION => gettext('Modify') );
- } else {
- $subtemplate->param( ACTION => gettext('Show') );
- }
-
- $subtemplate->param(CVSES => $cvs);
- $template->param( LIST => $subtemplate->output );
- }
-}
-
-$panel->build( $template );
-$panel->display;
+$vars->{label_title} = gettext('CVS Root');
+$vars->{list} = Vhffs::Panel::Cvs::search( $vhffs, $name );
+$panel->render('admin/misc/list.tt', $vars);
Modified: trunk/vhffs-panel/templates/Makefile.am
===================================================================
--- trunk/vhffs-panel/templates/Makefile.am 2011-05-25 11:18:26 UTC (rev 1809)
+++ trunk/vhffs-panel/templates/Makefile.am 2011-05-25 11:18:33 UTC (rev 1810)
@@ -2,7 +2,6 @@
nobase_dist_paneltemplates_DATA = \
admin/bazaar/part.tmpl \
admin/bazaar/search.tmpl \
- admin/cvs/part.tmpl \
admin/cvs/search.tmpl \
admin/dns/search.tmpl \
admin/group/part.tmpl \
Deleted: trunk/vhffs-panel/templates/admin/cvs/part.tmpl
===================================================================
--- trunk/vhffs-panel/templates/admin/cvs/part.tmpl 2011-05-25 11:18:26 UTC (rev 1809)
+++ trunk/vhffs-panel/templates/admin/cvs/part.tmpl 2011-05-25 11:18:33 UTC (rev 1810)
@@ -1,16 +0,0 @@
-<TMPL_LOOP NAME="CVSES">
-<tr>
- <td>
- <TMPL_VAR ESCAPE=1 NAME="CVSROOT">
- </td>
- <td>
- <TMPL_VAR ESCAPE=1 NAME="GROUPNAME">
- </td>
- <td>
- <TMPL_VAR ESCAPE=1 NAME="STATE">
- </td>
- <td>
- <a href="/cvs/prefs.pl?admin_menu=1&name=<TMPL_VAR ESCAPE=1 NAME="CVSROOT">"><TMPL_VAR ESCAPE=1 NAME="ACTION"></a>
- </td>
-</tr>
-</TMPL_LOOP>