diff --git a/README.md b/README.md index 629e7ecb1..1cb9ae129 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@  +# Naudingos nuorodos + +https://github.com/aurelijusb/kickstart/pull/90 + NFQ Akademija ============ diff --git a/assets/js/validation.js b/assets/js/validation.js index 1881c8a67..4dbdf8491 100644 --- a/assets/js/validation.js +++ b/assets/js/validation.js @@ -1,21 +1,27 @@ const axios = require('axios'); -let name = document.getElementById('name'); -let validationResult = document.getElementById('validation-result'); -const validateName = function () { - validationResult.innerText = '...'; - axios.post(validationResult.dataset.path, {input: name.value}) +const validateType = (validate, type) => { + validate.innerText = '...'; + axios.post(validate.dataset.path, {input: type.value}) .then(function(response) { if (response.data.valid) { - validationResult.innerHTML = ":)"; + validate.innerHTML = ":)"; } else { - validationResult.innerHTML = ":("; + validate.innerHTML = ":("; } }) .catch(function (error) { - validationResult.innerText = 'Error: ' + error; + validate.innerText = 'Error: ' + error; }); }; -name.onkeyup = validateName; -name.onchange = validateName; +let name = document.getElementById('name'); +let validateName= document.getElementById('validation-result-name'); +name.onkeyup = () => validateType(validateName, name); +name.onchange = () => validateType(validateName, name); + + +let team = document.getElementById('team'); +let validateTeam = document.getElementById('validation-result-team'); +team.onkeyup = () => validateType(validateTeam, team); +team.onchange = () => validateType(validateTeam, team); diff --git a/src/Controller/PeopleController.php b/src/Controller/PeopleController.php index bb86b5f8e..51fa2d5d4 100644 --- a/src/Controller/PeopleController.php +++ b/src/Controller/PeopleController.php @@ -37,18 +37,20 @@ public function validate(Request $request, string $element) } $students = $this->getStudents(); + $teams = $this->getTeams(); switch ($element) { case 'name': return new JsonResponse(['valid' => in_array(strtolower($input), $students)]); + case 'team': + return new JsonResponse(['valid' => in_array(strtolower($input), $teams)]); } - return new JsonResponse(['error' => 'Invalid arguments'], Response::HTTP_BAD_REQUEST); } private function getStorage() { return /** @lang json */ - '{ + '{ "team1": { "name": "Team1", "mentors": [ @@ -242,4 +244,14 @@ private function getStudents(): array } return $students; } + + private function getTeams(): array + { + $teams = []; + $storage = json_decode($this->getStorage(), true); + foreach ($storage as $teamData => $teamInfo) { + $teams[] = $teamData; + } + return $teams; + } } diff --git a/templates/people/index.html.twig b/templates/people/index.html.twig index cd18cf87f..9c085e826 100644 --- a/templates/people/index.html.twig +++ b/templates/people/index.html.twig @@ -8,9 +8,13 @@