[vhffs-dev] [1733] No more HTML::Template in svn/index. |
[ Thread Index |
Date Index
| More vhffs.org/vhffs-dev Archives
]
Revision: 1733
Author: beuss
Date: 2011-05-14 22:28:54 +0200 (Sat, 14 May 2011)
Log Message:
-----------
No more HTML::Template in svn/index.
And information disclosure flaw fix.
Modified Paths:
--------------
trunk/vhffs-panel/svn/index.pl
Modified: trunk/vhffs-panel/svn/index.pl
===================================================================
--- trunk/vhffs-panel/svn/index.pl 2011-05-14 20:28:48 UTC (rev 1732)
+++ trunk/vhffs-panel/svn/index.pl 2011-05-14 20:28:54 UTC (rev 1733)
@@ -32,7 +32,6 @@
use utf8;
use POSIX qw(locale_h);
-use HTML::Template;
use locale;
use Locale::gettext;
use strict;
@@ -48,25 +47,31 @@
my $vhffs = $panel->{vhffs};
my $cgi = $panel->{'cgi'};
+my $user = $panel->{user};
my $group = Vhffs::Group::get_by_groupname( $vhffs , $cgi->param('group') );
if( ! defined($group) ) {
- $panel->set_title( gettext('Error') );
- $panel->add_error( gettext('You have to select a group first') );
- $panel->build;
- $panel->display;
+ $panel->render('misc/message.tt', { message => gettext('You have to select a group first') });
} else {
- # Group is in session => access is granted for user and group is activated
- # no need to check
+ if($group->get_status != Vhffs::Constants::ACTIVATED) {
+ $panel->render( 'misc/message.tt', { message => gettext('This group is not activated yet') } );
+ } elsif( ! $user->can_modify( $group ) ) {
+ $panel->render('misc/message.tt', { message => gettext( 'You\'re not allowed to do this (ACL rights)' ) } );
+ }
+
$panel->set_title( sprintf(gettext('SVN repositories for %s'), $group->get_groupname) );
+
my $svn = Vhffs::Panel::Svn::getall_per_group( $vhffs, $group->get_gid );
if($svn < 0) {
- $panel->add_error( gettext('Unable to get SVN repositories') );
- $panel->build;
- $panel->display;
+ $panel->render( 'misc/message.tt', { message => gettext('Unable to get SVN repositories') } );
} else {
- $panel->build( $panel->create_service_index('svn', $svn) );
- $panel->display;
+ $panel->render( 'misc/service-index.tt', {
+ label => 'SVN repositories',
+ group => $group,
+ list => $svn,
+ help_url => $vhffs->get_config->get_service('svn')->{url_doc},
+ type => 'svn'
+ });
}
}