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,
|
"create" => \&update_project,
|
||||||
"update" => \&update_project,
|
"update" => \&update_project,
|
||||||
"delete" => \&delete_project,
|
"delete" => \&delete_project,
|
||||||
}
|
},
|
||||||
|
"trace" => {
|
||||||
|
"update" => \&update_trace,
|
||||||
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
sub create_tree($$)
|
sub create_tree($$)
|
||||||
|
|
@ -322,6 +325,58 @@ sub update_project
|
||||||
return "Ok";
|
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
|
sub delete_project
|
||||||
{
|
{
|
||||||
log WARN, "delete_project: not implemented."
|
log WARN, "delete_project: not implemented."
|
||||||
|
|
|
||||||
Reference in a new issue