Archived
1
0
Fork 0

Tag defense,... done

This commit is contained in:
Mercier Pierre-Olivier 2013-09-20 02:01:39 +02:00
parent bad4dd3766
commit 951470b06b
8 changed files with 601 additions and 232 deletions

View file

@ -18,6 +18,9 @@ my %actions = (
"create" => \&update_project,
"update" => \&update_project,
"delete" => \&delete_project,
},
"defense" => {
"update" => \&update_defense,
}
);
@ -71,6 +74,53 @@ sub update_project
return "Ok";
}
sub update_defense
{
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 $defense_id = $args->{param}{defense_id};
if (! $defense_id) {
log ERROR, "No defense_id given.";
return "No defense_id given";
}
my $defense;
if (exists $args->{files}{"$defense_id.xml"}) {
$defense = $args->{files}{"$defense_id.xml"};
}
if (! $defense) {
log ERROR, "Invalid $defense_id.xml received!";
return "Invalid $defense_id.xml received!";
}
log INFO, "Update $year/$project_id/defenses/$defense_id.xml";
if (! -e "$basedir/$year/$project_id/defenses/") {
mkdir "$basedir/$year/$project_id/defenses/";
}
if (! -e "$basedir/$year/$project_id/traces/") {
mkdir "$basedir/$year/$project_id/traces/";
}
if (! -e "$basedir/$year/$project_id/traces/defense_$defense_id/") {
mkdir "$basedir/$year/$project_id/traces/defense_$defense_id/";
}
open my $out, ">", "$basedir/$year/$project_id/defenses/$defense_id.xml";
print $out $defense;
close $out;
return "Ok";
}
sub delete_project
{
log WARN, "delete_project: not implemented."