Skip to content

Commit 0b2a2db

Browse files
committed
Fix roles usage
1 parent e4792bf commit 0b2a2db

File tree

3 files changed

+31
-25
lines changed

3 files changed

+31
-25
lines changed

src/Entity/User.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,6 @@ public function getUsername(): string
8989
public function getRoles(): array
9090
{
9191
$roles = $this->roles;
92-
// guarantee every user at least has ROLE_USER
93-
//$roles[] = 'ROLE_USER';
9492

9593
return array_unique($roles);
9694
}

src/Service/UserService.php

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,24 @@ class UserService extends Service
2323
*/
2424
public function userRegistration(Request $request): array
2525
{
26-
if ($request->get('isAdmin')) {
27-
$roles = ["ROLE_USER", "ROLE_ADMIN"];
28-
} else {
29-
$roles = ["ROLE_USER"];
26+
$roles = ["ROLE_USER"];
27+
28+
switch ($request->get('quotaRole')) {
29+
case 'isAdmin':
30+
array_push($roles, "ROLE_ADMIN");
31+
break;
32+
case 'isVip':
33+
array_push($roles, "ROLE_VIP");
34+
break;
35+
case 'isExternal':
36+
array_push($roles, "ROLE_EXTERNAL");
37+
break;
38+
case 'isPremium':
39+
array_push($roles, "ROLE_PREMIUM");
40+
break;
41+
case 'isFreemium':
42+
array_push($roles, "ROLE_FREEMIUM");
43+
break;
3044
}
3145

3246
$user = $this->checkUserExistence($request->get('email'));

templates/admin/registerApiUser.html.twig

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,39 +12,33 @@
1212
</div>
1313
<div class="form-group">
1414
<div class="form-check form-check-inline">
15-
<input class="form-check-input" type="checkbox" value="isUser" name="isUser" id="isUser" checked disabled>
16-
<label class="form-check-label" for="isUser">
17-
User
18-
</label>
19-
</div>
20-
<div class="form-check form-check-inline">
21-
<input class="form-check-input" type="checkbox" value="isAdmin" name="isAdmin" id="isAdmin">
15+
<input class="form-check-input" type="radio" value="isAdmin" name="quotaRole" id="isAdmin">
2216
<label class="form-check-label" for="isAdmin">
2317
Admin
2418
</label>
2519
</div>
2620
<div class="form-check form-check-inline">
27-
<input class="form-check-input" type="checkbox" value="isFreemium" name="isFreemium" id="isFreemium">
28-
<label class="form-check-label" for="isFreemium">
29-
Freemium
21+
<input class="form-check-input" type="radio" value="isVip" name="quotaRole" id="isVip">
22+
<label class="form-check-label" for="isVip">
23+
VIP
3024
</label>
3125
</div>
3226
<div class="form-check form-check-inline">
33-
<input class="form-check-input" type="checkbox" value="isPremium" name="isPremium" id="isPremium">
34-
<label class="form-check-label" for="isPremium">
35-
Premium
27+
<input class="form-check-input" type="radio" value="isExternal" name="quotaRole" id="isExternal">
28+
<label class="form-check-label" for="isExternal">
29+
External
3630
</label>
3731
</div>
3832
<div class="form-check form-check-inline">
39-
<input class="form-check-input" type="checkbox" value="isExternal" name="isExternal" id="isExternal">
40-
<label class="form-check-label" for="isExternal">
41-
External
33+
<input class="form-check-input" type="radio" value="isPremium" name="quotaRole" id="isPremium">
34+
<label class="form-check-label" for="isPremium">
35+
Premium
4236
</label>
4337
</div>
4438
<div class="form-check form-check-inline">
45-
<input class="form-check-input" type="checkbox" value="isVip" name="isVip" id="isVip">
46-
<label class="form-check-label" for="isVip">
47-
VIP
39+
<input class="form-check-input" type="radio" value="isFreemium" name="quotaRole" id="isFreemium">
40+
<label class="form-check-label" for="isFreemium">
41+
Freemium
4842
</label>
4943
</div>
5044
</div>

0 commit comments

Comments
 (0)