Add trace_update
This commit is contained in:
parent
a3fca0f622
commit
ad866e3a57
1 changed files with 56 additions and 1 deletions
|
@ -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."
|
||||
|
|
Reference in a new issue