diff --git a/onyx/include/admin/import_users.php b/onyx/include/admin/import_users.php index b9b07dfc..c143971c 100644 --- a/onyx/include/admin/import_users.php +++ b/onyx/include/admin/import_users.php @@ -32,6 +32,8 @@ if (!empty($_FILES["inputFile"]['tmp_name'])) if (!is_null($elements)) { $output = ""; + $error = ""; + foreach ($elements as $element) { $team = new Team(); @@ -47,7 +49,10 @@ if (!empty($_FILES["inputFile"]['tmp_name'])) else if ($child->nodeName == "member") { if (!$team->update()) - erreur("Unable to add team ".$team->team_name); + { + $error .= "Unable to add team $team->team_name
"; + continue; + } $user = new Member(); $user->team = $team; @@ -62,15 +67,21 @@ if (!empty($_FILES["inputFile"]['tmp_name'])) else if ($child_member->nodeName == "company") $user->company = $child_member->nodeValue; + else if ($child_member->nodeName == "nickname") + $user->nickname = $child_member->nodeValue; } if (!$user->update()) - erreur("Unable to add user ".$user->nickname); + { + $error .= "Unable to add user $user->firstname $user->lastname $user->nickname
"; + $team->drop(); + continue; + } $team->members[] = $user; } } - if (!empty($team->team_name)) + if (!empty($team->id) && !empty($team->team_name)) { //TODO save the certificate subject $output .= new_client($team->team_name, $misc_dir); @@ -78,7 +89,11 @@ if (!empty($_FILES["inputFile"]['tmp_name'])) } $template->assign("output", $output); } - erreur("Fichier XML importé avec succès.", "success"); + + if ($error != "") + erreur($error); + else + erreur("Fichier XML importé avec succès.", "success"); } return "admin/import_users";