Skip to content

Commit 17070b9

Browse files
committed
Adding validator for mac csv + user import in groups.
1 parent 495ca7a commit 17070b9

File tree

4 files changed

+16
-5
lines changed

4 files changed

+16
-5
lines changed

Controller/Administration/GroupsController.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,10 @@ public function importMembersAction(Group $group)
488488

489489
if ($form->isValid()) {
490490
$file = $form->get('file')->getData();
491-
$lines = str_getcsv(file_get_contents($file), PHP_EOL);
491+
492+
$data = file_get_contents($file);
493+
$data = $this->container->get('claroline.utilities.misc')->formatCsvOutput($data);
494+
$lines = str_getcsv($data, PHP_EOL);
492495

493496
foreach ($lines as $line) {
494497
$users[] = str_getcsv($line, ';');

Validator/Constraints/CsvWorkspaceUserImportValidator.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ public function validate($value, Constraint $constraint)
6666
foreach ($workspaceRoles as $workspaceRole) {
6767
$wsRoleNames[] = $workspaceRole->getTranslationKey();
6868
}
69-
$lines = str_getcsv(file_get_contents($value), PHP_EOL);
69+
70+
$data = $this->ut->formatCsvOutput(file_get_contents($value));
71+
$lines = str_getcsv($data, PHP_EOL);
7072

7173
foreach ($lines as $line) {
7274
$linesTab = explode(';', $line);

Validator/Constraints/CsvWorkspaceValidator.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ public function __construct(
4848

4949
public function validate($value, Constraint $constraint)
5050
{
51-
$lines = str_getcsv(file_get_contents($value), PHP_EOL);
51+
$data = $this->ut->formatCsvOutput(file_get_contents($value));
52+
$lines = str_getcsv($data, PHP_EOL);
5253
$codes = [];
5354

5455
foreach ($lines as $line) {

Validator/Constraints/ImportUsersInGroupValidator.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use JMS\DiExtraBundle\Annotation as DI;
1717
use Claroline\CoreBundle\Manager\UserManager;
1818
use Symfony\Component\Translation\TranslatorInterface;
19+
use Claroline\CoreBundle\Library\Utilities\ClaroUtilities;
1920

2021
/**
2122
* @DI\Validator("import_user_in_group_validator")
@@ -30,20 +31,24 @@ class ImportUsersInGroupValidator extends ConstraintValidator
3031
* @DI\InjectParams({
3132
* "userManager" = @DI\Inject("claroline.manager.user_manager"),
3233
* "translator" = @DI\Inject("translator"),
34+
* "ut" = @DI\Inject("claroline.utilities.misc")
3335
* })
3436
*/
3537
public function __construct(
3638
UserManager $userManager,
37-
TranslatorInterface $translator
39+
TranslatorInterface $translator,
40+
ClaroUtilities $ut
3841
)
3942
{
4043
$this->userManager = $userManager;
4144
$this->translator = $translator;
45+
$this->ut = $ut;
4246
}
4347

4448
public function validate($value, Constraint $constraint)
4549
{
46-
$usernames = str_getcsv(file_get_contents($value), PHP_EOL);
50+
$data = $this->ut->formatCsvOutput(file_get_contents($value));
51+
$usernames = str_getcsv($data, PHP_EOL);
4752

4853
foreach ($usernames as $username) {
4954

0 commit comments

Comments
 (0)