3
0
This repository has been archived on 2024-06-18. You can view files and clone it, but cannot push or open issues or pull requests.
dnsmanagerv1/lib/rt/root.pm
karchnu 527313614c simplification du code, gestion plus claire des erreurs
Le code a été simplifié de plusieurs manières :
    du code plus générique, dans la gestion des utilisateurs et des
        routes, mais aussi côté gestion des zones et serveurs de zones
    ajout de commandes en cli pour gérer les zones et utilisateurs, et
        faire des tests du code plus simplement qu'en passant par
        l'interface web

Le projet est passé à Dancer2.

Le dépôt est désormais moins éparpillé également, ce qui est visible est
directement le projet Dancer.

Le code concernant l'init reste pas top, idem pour la gestion de
dépendances (un simple script), il faudrait utiliser les outils du cpan.
2015-10-13 19:06:37 +02:00

46 lines
963 B
Perl

package rt::root;
use configuration ':all';
use app;
use utf8;
use Exporter 'import';
# what we want to export eventually
our @EXPORT_OK = qw/rt_root/;
# bundle of exports (tags)
our %EXPORT_TAGS = ( all => [qw/rt_root/] );
sub rt_root {
my ($session) = @_;
my $res;
$$res{template} = 'index';
if( exists $$session{login} && length $$session{login} > 0) {
eval {
my $app = app->new(get_cfg());
my $user = $app->auth($$session{login}, $$session{passwd});
if( $user ) {
$$res{params} = {
login => $$session{login}
, admin => $$user{admin}
, domains => $$user{domains}
};
}
$app->disconnect();
};
if( $@ ) {
$$res{deferred}{errmsg} = q{Une erreur est survenue. } . $@;
$$res{sessiondestroy} = 1;
}
}
$res
}
1;