implémentation de l'action addUserToGroup

php
Anthony RICHARD 1 year ago
parent f22ac75b59
commit 6ee3b356f7

@ -56,6 +56,10 @@ class AdminController
$this->addGroup(); $this->addGroup();
break; break;
case 'addUserToGroup':
$this->addUserToGroup();
break;
default: default:
$dVueEreur[] = "Erreur d'appel php"; $dVueEreur[] = "Erreur d'appel php";
echo $twig->render('vuephp1.html', ['dVueEreur' => $dVueEreur]); echo $twig->render('vuephp1.html', ['dVueEreur' => $dVueEreur]);
@ -123,7 +127,8 @@ class AdminController
global $twig; global $twig;
$model = new MdlAdmin(); $model = new MdlAdmin();
$groups = $model->showAllGroups(); $groups = $model->showAllGroups();
echo $twig->render('groupView.html', ['groups' => $groups]); $unassignedUsers = $model->getUnassignedUsers();
echo $twig->render('groupView.html', ['groups' => $groups, 'unassignedUsers' => $unassignedUsers]);
} }
public function showGroupDetails(): void { public function showGroupDetails(): void {
@ -132,7 +137,8 @@ class AdminController
$id = $_GET['selectedGroup']; $id = $_GET['selectedGroup'];
$groups = $model->showAllGroups(); $groups = $model->showAllGroups();
$users = $model->getUsersOfGroup($id); $users = $model->getUsersOfGroup($id);
echo $twig->render('groupView.html', ['groups' => $groups, 'selectedGroup' => $id, 'users' => $users]); $unassignedUsers = $model->getUnassignedUsers();
echo $twig->render('groupView.html', ['groups' => $groups, 'selectedGroup' => $id, 'users' => $users, 'unassignedUsers' => $unassignedUsers]);
} }
public function removeUserFromGroup(): void { public function removeUserFromGroup(): void {
@ -157,4 +163,13 @@ class AdminController
$model->addGroup($num, $year, $sector); $model->addGroup($num, $year, $sector);
$this->showAllGroups(); $this->showAllGroups();
} }
public function addUserToGroup(): void {
$model = new MdlAdmin();
$user = $_GET['userID'];
$group = $_GET['groupID'];
$model->addUserToGroup($user, $group);
$_GET['selectedGroup'] = $group;
$this->showGroupDetails();
}
} }

@ -277,4 +277,20 @@ class UserGateway extends AbsGateway
throw new Exception($e->getMessage()); throw new Exception($e->getMessage());
} }
} }
public function findUnassignedUsers()
{
try {
$query = "SELECT * FROM User_ WHERE groupID=0";
$this->con->executeQuery($query);
$results = $this->con->getResults();
$tab = array();
foreach ($results as $row)
$tab[] = new User($row['id'], $row['password'], $row['email'], $row['name'], $row['surname'], $row['nickname'], $row['image'], $row['extraTime'], $row['groupID'], $this->getRoles($row['id']));
return $tab;
}
catch(PDOException $e ){
throw new Exception($e->getMessage());
}
}
} }

@ -72,4 +72,14 @@ class MdlAdmin extends AbsModel
$gtw = new GroupGateway(new Connection('mysql:host=localhost;dbname=dbanrichard7', 'anrichard7', 'achanger')); $gtw = new GroupGateway(new Connection('mysql:host=localhost;dbname=dbanrichard7', 'anrichard7', 'achanger'));
$gtw->add(array($num, $year, $sector)); $gtw->add(array($num, $year, $sector));
} }
public function addUserToGroup($user, $group): void {
$gtw = new UserGateway(new Connection('mysql:host=localhost;dbname=dbanrichard7', 'anrichard7', 'achanger'));
$gtw->modifyGroup($user, $group);
}
public function getUnassignedUsers(): array {
$gtw = new UserGateway(new Connection('mysql:host=localhost;dbname=dbanrichard7', 'anrichard7', 'achanger'));
return $gtw->findUnassignedUsers();
}
} }

@ -9,6 +9,7 @@
body{ body{
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
flex-wrap: wrap;
} }
section{ section{
border: 1px solid black; border: 1px solid black;
@ -87,5 +88,37 @@
<input type="submit" value="Add"> <input type="submit" value="Add">
</form> </form>
</section> </section>
<section class="unassignedUsers">
<h1>Unassigned users</h1>
<table>
<tr>
<td>ID</td>
<td>Nickname</td>
<td>Name</td>
<td>Surname</td>
<td>Mail</td>
<td>Group</td>
<td>Role</td>
<td>Extra Time</td>
</tr>
{% if unassignedUsers is defined %}
{% for row in unassignedUsers %}
<tr>
<td>{{row.id}}</td>
<td>{{row.nickname}}</td>
<td>{{row.name}}</td>
<td>{{row.surname}}</td>
<td>{{row.email}}</td>
<td>{{row.group}}</td>
<td>{{row.role}}</td>
<td>{{row.extraTime}}</td>
<td><a href="index.php?action=addUserToGroup&userID={{row.id}}&groupID={{selectedGroup}}">
<input class="btn-black" type="button" value="Add to group"/>
</a></td>
</tr>
{% endfor %}
{% endif %}
</table>
</section>
</body> </body>
</html> </html>
Loading…
Cancel
Save