API refactor
This commit is contained in:
parent
ca5d061fce
commit
42835c5930
@ -44,7 +44,22 @@ sub parse($$)
|
|||||||
|
|
||||||
my $parser = XML::SAX::ParserFactory->parser( Handler => $sax_handler );
|
my $parser = XML::SAX::ParserFactory->parser( Handler => $sax_handler );
|
||||||
|
|
||||||
|
eval {
|
||||||
$parser->parse_string(shift);
|
$parser->parse_string(shift);
|
||||||
|
};
|
||||||
|
if ($@)
|
||||||
|
{
|
||||||
|
$parsed->{result} = 256;
|
||||||
|
$parsed->{message} = "Erreur du parser.";
|
||||||
|
log WARN, "Erreur du parser";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! exists $parsed->{result})
|
||||||
|
{
|
||||||
|
$parsed->{result} = -1;
|
||||||
|
$parsed->{message} = "Pas de code de retour fourni." if (! exists $parsed->{message});
|
||||||
|
}
|
||||||
|
$parsed->{message} = "" if (! exists $parsed->{message});
|
||||||
|
|
||||||
return $parsed;
|
return $parsed;
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ package API::Projects;
|
|||||||
use v5.10.1;
|
use v5.10.1;
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
use Carp;
|
||||||
|
|
||||||
use ACU::API::Base;
|
use ACU::API::Base;
|
||||||
use ACU::LDAP;
|
use ACU::LDAP;
|
||||||
@ -15,16 +16,18 @@ sub add($;$)
|
|||||||
my $year = shift;
|
my $year = shift;
|
||||||
|
|
||||||
if ($year and $year != LDAP::get_year) {
|
if ($year and $year != LDAP::get_year) {
|
||||||
return "Impossible d'ajouter un projet d'une autre année : non implémenté"
|
croak "Impossible d'ajouter un projet d'une autre année : non implémenté";
|
||||||
}
|
}
|
||||||
|
|
||||||
my $res = API::Base::send('ResultHandler', "projects/projects/add.xml", [ project_name => $project_name ]);
|
my $res = API::Base::send('ResultHandler',
|
||||||
|
"projects/projects/add.xml",
|
||||||
|
[ project_name => $project_name ]);
|
||||||
|
|
||||||
if ($res->{result} ne '0') {
|
if ($res->{result} ne '0') {
|
||||||
return "Erreur durant l'ajout : ".$res->{message};
|
croak "Erreur durant l'ajout : ".$res->{message};
|
||||||
} else {
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub get($;$)
|
sub get($;$)
|
||||||
@ -32,13 +35,11 @@ sub get($;$)
|
|||||||
my $project_name = shift;
|
my $project_name = shift;
|
||||||
my $year = shift;
|
my $year = shift;
|
||||||
|
|
||||||
my $res = API::Base::get('ProjectMemberHandler', "projects/projects/get/$project_name.xml");
|
my $res = API::Base::get('ProjectMemberHandler',
|
||||||
|
"projects/projects/get/$project_name.xml");
|
||||||
|
|
||||||
if ($res->{result} && $res->{result} eq '0') {
|
if ($res->{result} ne '0') {
|
||||||
say "Projet ajouté correctement";
|
croak "Erreur durant l'ajout : " . $res->{message};
|
||||||
}
|
|
||||||
else {
|
|
||||||
say "Ajout non ok: ".$res->{message};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $res;
|
return $res;
|
||||||
@ -52,18 +53,14 @@ sub get_users($;$)
|
|||||||
my $url;
|
my $url;
|
||||||
if ($year) {
|
if ($year) {
|
||||||
$url = "projects/projects/users/$project_name/$year.xml";
|
$url = "projects/projects/users/$project_name/$year.xml";
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$url = "projects/projects/users/$project_name.xml";
|
$url = "projects/projects/users/$project_name.xml";
|
||||||
}
|
}
|
||||||
|
|
||||||
my $res = API::Base::get('ProjectMemberHandler', $url);
|
my $res = API::Base::get('ProjectMemberHandler', $url);
|
||||||
|
|
||||||
if ($res->{result} && $res->{result} eq '0') {
|
if ($res->{result} ne '0') {
|
||||||
say "Projet ajouté correctement";
|
croak "Erreur durant l'ajout : " . $res->{message};
|
||||||
}
|
|
||||||
else {
|
|
||||||
say "Ajout non ok: ".$res->{message};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $res;
|
return $res;
|
||||||
@ -71,22 +68,32 @@ sub get_users($;$)
|
|||||||
|
|
||||||
sub add_grades($;$)
|
sub add_grades($;$)
|
||||||
{
|
{
|
||||||
my $project_name = shift;
|
my %data = (
|
||||||
my $year = shift;
|
project_name => shift
|
||||||
my %data;
|
);
|
||||||
|
$data{year} = $_ if (shift);
|
||||||
$data{project_name} = $project_name if ($project_name);
|
|
||||||
$data{year} = $year if ($year);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
my $res = API::Base::get('ResultHandler', "projects/groups/generate.xml");
|
my $res = API::Base::get('ResultHandler', "projects/groups/generate.xml");
|
||||||
|
|
||||||
if ($res->{result} && $res->{result} eq '0') {
|
if ($res->{result} ne '0') {
|
||||||
say "Ajout de notes effectué.";
|
croak "Erreur durant l'ajout : " . $res->{message};
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
say "Ajout non ok: ", $res->{message};
|
return $res;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub add_traces($$;$)
|
||||||
|
{
|
||||||
|
my %data = (
|
||||||
|
project_name => shift,
|
||||||
|
trace_name => shift,
|
||||||
|
);
|
||||||
|
$data{year} = $_ if (shift);
|
||||||
|
|
||||||
|
my $res = API::Base::send('ResultHandler', "projects/traces/add.xml", \%data);
|
||||||
|
|
||||||
|
if ($res->{result} ne '0') {
|
||||||
|
croak "Erreur durant l'ajout : " . $res->{message};
|
||||||
}
|
}
|
||||||
|
|
||||||
return $res;
|
return $res;
|
||||||
@ -109,13 +116,10 @@ sub gen_groups($;$)
|
|||||||
$url = "projects/groups/generate/$project_name.xml";
|
$url = "projects/groups/generate/$project_name.xml";
|
||||||
}
|
}
|
||||||
|
|
||||||
my $res = API::Base::get('ResultHandler', $url);
|
my $res = API::Base::send('ResultHandler', $url, %data);
|
||||||
|
|
||||||
if ($res->{result} eq '0') {
|
if ($res->{result} ne '0') {
|
||||||
say "Génération des groupes OK.";
|
croak "Erreur lors de la génération de groupes : " . $res->{message};
|
||||||
}
|
|
||||||
else {
|
|
||||||
say "Génération non ok: ", $res->{message};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $res;
|
return $res;
|
||||||
|
Reference in New Issue
Block a user