fix storage on CI setup
This commit is contained in:
@@ -27,6 +27,19 @@
|
|||||||
state: directory
|
state: directory
|
||||||
mode: "0775"
|
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
|
- name: Download and installs all libs and dependencies
|
||||||
block:
|
block:
|
||||||
- name: Composer install
|
- name: Composer install
|
||||||
|
|||||||
@@ -209,6 +209,10 @@ class UserController extends Controller
|
|||||||
->pluck('id')
|
->pluck('id')
|
||||||
->all();
|
->all();
|
||||||
$user->roles()->sync($roleIds);
|
$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');
|
$user->loadMissing('rank');
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ export default function ResetPassword() {
|
|||||||
navigate('/login')
|
navigate('/login')
|
||||||
} else {
|
} else {
|
||||||
await requestPasswordReset(email)
|
await requestPasswordReset(email)
|
||||||
navigate('/login')
|
navigate('/')
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
setError(err.message)
|
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)->toBe('new@example.com');
|
||||||
expect($target->email_verified_at)->toBeNull();
|
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