fix storage on CI setup
This commit is contained in:
@@ -27,6 +27,19 @@
|
||||
state: directory
|
||||
mode: "0775"
|
||||
|
||||
- name: Ensure public storage directory exists
|
||||
file:
|
||||
path: "{{ prod_base_dir }}/storage/app/public"
|
||||
state: directory
|
||||
mode: "0775"
|
||||
|
||||
- name: Ensure public storage symlink exists
|
||||
file:
|
||||
src: "{{ prod_base_dir }}/storage/app/public"
|
||||
dest: "{{ prod_base_dir }}/public/storage"
|
||||
state: link
|
||||
force: true
|
||||
|
||||
- name: Download and installs all libs and dependencies
|
||||
block:
|
||||
- name: Composer install
|
||||
|
||||
@@ -209,6 +209,10 @@ class UserController extends Controller
|
||||
->pluck('id')
|
||||
->all();
|
||||
$user->roles()->sync($roleIds);
|
||||
|
||||
if (in_array('ROLE_FOUNDER', $roleNames, true) && $user->email_verified_at === null) {
|
||||
$user->forceFill(['email_verified_at' => now()])->save();
|
||||
}
|
||||
}
|
||||
|
||||
$user->loadMissing('rank');
|
||||
|
||||
@@ -38,7 +38,7 @@ export default function ResetPassword() {
|
||||
navigate('/login')
|
||||
} else {
|
||||
await requestPasswordReset(email)
|
||||
navigate('/login')
|
||||
navigate('/')
|
||||
}
|
||||
} catch (err) {
|
||||
setError(err.message)
|
||||
|
||||
@@ -285,3 +285,28 @@ it('updates user name and email as admin', function (): void {
|
||||
expect($target->email)->toBe('new@example.com');
|
||||
expect($target->email_verified_at)->toBeNull();
|
||||
});
|
||||
|
||||
it('marks email verified when assigning founder role', function (): void {
|
||||
$admin = makeAdmin();
|
||||
$founderRole = Role::firstOrCreate(['name' => 'ROLE_FOUNDER'], ['color' => '#111111']);
|
||||
$target = User::factory()->create([
|
||||
'name' => 'Target',
|
||||
'email' => 'target@example.com',
|
||||
'email_verified_at' => null,
|
||||
]);
|
||||
|
||||
$admin->roles()->syncWithoutDetaching([$founderRole->id]);
|
||||
|
||||
Sanctum::actingAs($admin);
|
||||
$response = $this->patchJson("/api/users/{$target->id}", [
|
||||
'name' => 'Target',
|
||||
'email' => 'target@example.com',
|
||||
'rank_id' => null,
|
||||
'roles' => ['ROLE_FOUNDER'],
|
||||
]);
|
||||
|
||||
$response->assertOk();
|
||||
|
||||
$target->refresh();
|
||||
expect($target->email_verified_at)->not()->toBeNull();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user