implémentation de l'action addUserToGroup

php
Anthony RICHARD 1 year ago
parent f22ac75b59
commit 6ee3b356f7

@ -56,6 +56,10 @@ class AdminController
$this->addGroup();
break;
case 'addUserToGroup':
$this->addUserToGroup();
break;
default:
$dVueEreur[] = "Erreur d'appel php";
echo $twig->render('vuephp1.html', ['dVueEreur' => $dVueEreur]);
@ -123,7 +127,8 @@ class AdminController
global $twig;
$model = new MdlAdmin();
$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 {
@ -132,7 +137,8 @@ class AdminController
$id = $_GET['selectedGroup'];
$groups = $model->showAllGroups();
$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 {
@ -157,4 +163,13 @@ class AdminController
$model->addGroup($num, $year, $sector);
$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());
}
}
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->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{
display: flex;
justify-content: space-around;
flex-wrap: wrap;
}
section{
border: 1px solid black;
@ -87,5 +88,37 @@
<input type="submit" value="Add">
</form>
</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>
</html>
Loading…
Cancel
Save