Archived
1
0
Fork 0

Add trace_update

This commit is contained in:
Mercier Pierre-Olivier 2013-10-18 04:15:17 +02:00
parent a3fca0f622
commit ad866e3a57

View file

@ -28,7 +28,10 @@ my %actions = (
"create" => \&update_project,
"update" => \&update_project,
"delete" => \&delete_project,
}
},
"trace" => {
"update" => \&update_trace,
},
);
sub create_tree($$)
@ -322,6 +325,58 @@ sub update_project
return "Ok";
}
sub update_trace
{
my $args = shift;
my $project_id = $args->{param}{id};
my $year = $args->{param}{year} // LDAP::get_year;
if (! $project_id) {
log ERROR, "No project_id given.";
return "No project_id given";
}
my $rendu_id = $args->{param}{rendu};
if (! $rendu_id) {
log ERROR, "No rendu_id given.";
return "No rendu_id given";
}
my $login = $args->{param}{login};
if (! $login) {
log ERROR, "No login given.";
return "No login given";
}
my $trace;
if (exists $args->{files}{"$login.xml"}) {
$trace = $args->{files}{"$login.xml"};
}
if (! $trace) {
log ERROR, "Invalid $login.xml received!";
return "Invalid $login.xml received!";
}
log INFO, "Update $year/$project_id/traces/$rendu_id/$login.xml";
if (! -e "$basedir/$year/$project_id/traces/") {
mkdir "$basedir/$year/$project_id/traces/";
}
if (! -e "$basedir/$year/$project_id/traces/$rendu_id/") {
mkdir "$basedir/$year/$project_id/traces/$rendu_id/";
chmod 0755, "$basedir/$year/$project_id/traces/$rendu_id/";
}
open my $out, ">", "$basedir/$year/$project_id/traces/$rendu_id/$login.xml";
print $out $trace;
close $out;
return "Ok";
}
sub delete_project
{
log WARN, "delete_project: not implemented."