mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-05 18:23:48 +00:00
- send notification to native user when file request was sent via email
- updated mysql dump
This commit is contained in:
@@ -19,7 +19,7 @@ DB_DATABASE=laravel
|
|||||||
DB_USERNAME=root
|
DB_USERNAME=root
|
||||||
DB_PASSWORD=
|
DB_PASSWORD=
|
||||||
|
|
||||||
DB_MYSQLDUMP_PATH=
|
DB_MYSQLDUMP_PATH=/usr/bin
|
||||||
|
|
||||||
BROADCAST_DRIVER=null
|
BROADCAST_DRIVER=null
|
||||||
CACHE_DRIVER=file
|
CACHE_DRIVER=file
|
||||||
|
|||||||
@@ -954,5 +954,6 @@ return [
|
|||||||
'remote_download_finished' => 'Remote upload was successfully finished',
|
'remote_download_finished' => 'Remote upload was successfully finished',
|
||||||
'remote_upload_progress' => 'Uploading Remotely - {processed} / {total}',
|
'remote_upload_progress' => 'Uploading Remotely - {processed} / {total}',
|
||||||
'remote_upload_failed_count' => 'Failed: {count}',
|
'remote_upload_failed_count' => 'Failed: {count}',
|
||||||
|
'file_request_notify_center_description' => 'Please click on the link below and upload your files for :name.',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'version' => '2.1.3',
|
'version' => '2.2',
|
||||||
|
|
||||||
'is_demo' => env('APP_DEMO', false),
|
'is_demo' => env('APP_DEMO', false),
|
||||||
|
|
||||||
@@ -69,5 +69,6 @@ return [
|
|||||||
'2_0_16',
|
'2_0_16',
|
||||||
'2_1_1',
|
'2_1_1',
|
||||||
'2_1_2',
|
'2_1_2',
|
||||||
|
'2_2_0',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -82,6 +82,20 @@
|
|||||||
</span>
|
</span>
|
||||||
<chevron-right-icon size="16" class="text-theme vue-feather" />
|
<chevron-right-icon size="16" class="text-theme vue-feather" />
|
||||||
</router-link>
|
</router-link>
|
||||||
|
|
||||||
|
<!--Open Link-->
|
||||||
|
<a
|
||||||
|
@click.native="closeCenter"
|
||||||
|
v-if="action && action.type === 'url'"
|
||||||
|
:target="action.params.target === 'blank' ? '_blank' : '_self'"
|
||||||
|
:href="action.params.url"
|
||||||
|
class="mt-4 flex items-center"
|
||||||
|
>
|
||||||
|
<span class="mr-2 whitespace-nowrap text-xs font-bold">
|
||||||
|
{{ action.params.button }}
|
||||||
|
</span>
|
||||||
|
<chevron-right-icon size="16" class="text-theme vue-feather" />
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
5
resources/js/store/modules/uploadRequest.js
vendored
5
resources/js/store/modules/uploadRequest.js
vendored
@@ -59,7 +59,7 @@ const actions = {
|
|||||||
.delete(`/api/file-request/${router.currentRoute.params.token}`)
|
.delete(`/api/file-request/${router.currentRoute.params.token}`)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
commit('LOADING_STATE', { loading: false, data: [] })
|
commit('LOADING_STATE', { loading: false, data: [] })
|
||||||
commit('SET_UPLOAD_REQUEST', response.data)
|
commit('SET_UPLOAD_REQUEST_AS_FILLED')
|
||||||
})
|
})
|
||||||
.catch(() => this.$isSomethingWrong())
|
.catch(() => this.$isSomethingWrong())
|
||||||
},
|
},
|
||||||
@@ -69,6 +69,9 @@ const mutations = {
|
|||||||
SET_UPLOAD_REQUEST(state, payload) {
|
SET_UPLOAD_REQUEST(state, payload) {
|
||||||
state.uploadRequest = payload
|
state.uploadRequest = payload
|
||||||
},
|
},
|
||||||
|
SET_UPLOAD_REQUEST_AS_FILLED(state) {
|
||||||
|
state.uploadRequest.data.attributes.status = 'filled'
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
const getters = {
|
const getters = {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Domain\UploadRequest\Controllers;
|
namespace Domain\UploadRequest\Controllers;
|
||||||
|
|
||||||
use Auth;
|
use App\Users\Models\User;
|
||||||
use Gate;
|
use Gate;
|
||||||
use Notification;
|
use Notification;
|
||||||
use Domain\Folders\Models\Folder;
|
use Domain\Folders\Models\Folder;
|
||||||
@@ -28,7 +28,7 @@ class CreateUploadRequestController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create upload request
|
// Create upload request
|
||||||
$uploadRequest = Auth::user()->uploadRequest()->create([
|
$uploadRequest = auth()->user()->uploadRequest()->create([
|
||||||
'folder_id' => $request->input('folder_id'),
|
'folder_id' => $request->input('folder_id'),
|
||||||
'email' => $request->input('email'),
|
'email' => $request->input('email'),
|
||||||
'notes' => $request->input('notes'),
|
'notes' => $request->input('notes'),
|
||||||
@@ -37,8 +37,16 @@ class CreateUploadRequestController extends Controller
|
|||||||
|
|
||||||
// If user type email, notify by email
|
// If user type email, notify by email
|
||||||
if ($request->has('email')) {
|
if ($request->has('email')) {
|
||||||
Notification::route('mail', $uploadRequest->email)
|
// Check if user exists
|
||||||
->notify(new UploadRequestNotification($uploadRequest));
|
$user = User::where('email', $uploadRequest->email)
|
||||||
|
->first();
|
||||||
|
|
||||||
|
if ($user) {
|
||||||
|
$user->notify(new UploadRequestNotification($uploadRequest));
|
||||||
|
} else {
|
||||||
|
Notification::route('mail', $uploadRequest->email)
|
||||||
|
->notify(new UploadRequestNotification($uploadRequest));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json(new UploadRequestResource($uploadRequest), 201);
|
return response()->json(new UploadRequestResource($uploadRequest), 201);
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class UploadRequestNotification extends Notification implements ShouldQueue
|
|||||||
*/
|
*/
|
||||||
public function via($notifiable)
|
public function via($notifiable)
|
||||||
{
|
{
|
||||||
return ['mail'];
|
return ['mail', 'database', 'broadcast'];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -56,13 +56,21 @@ class UploadRequestNotification extends Notification implements ShouldQueue
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the array representation of the notification.
|
* Get the array representation of the notification.
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return array
|
|
||||||
*/
|
*/
|
||||||
public function toArray($notifiable)
|
public function toArray(mixed $notifiable): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
'category' => 'file-request',
|
||||||
|
'title' => __t('file_request_notify_title', ['name' => $this->uploadRequest->user->settings->first_name]),
|
||||||
|
'description' => __t('file_request_notify_center_description', ['name' => $this->uploadRequest->user->settings->first_name]),
|
||||||
|
'action' => [
|
||||||
|
'type' => 'url',
|
||||||
|
'params' => [
|
||||||
|
'target' => 'blank',
|
||||||
|
'url' => url("/request/{$this->uploadRequest->id}/upload"),
|
||||||
|
'button' => __t('upload_files'),
|
||||||
|
],
|
||||||
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,13 @@ class UpgradingVersionsController
|
|||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function upgrade_to_2_2_0(): void
|
||||||
|
{
|
||||||
|
setEnvironmentValue([
|
||||||
|
'DB_MYSQLDUMP_PATH' => '/usr/bin',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function upgrade_to_2_1_2(): void
|
public function upgrade_to_2_1_2(): void
|
||||||
{
|
{
|
||||||
($this->updateLanguageStrings)([
|
($this->updateLanguageStrings)([
|
||||||
|
|||||||
@@ -58,6 +58,36 @@ class UploadRequestTest extends TestCase
|
|||||||
Notification::assertTimesSent(1, UploadRequestNotification::class);
|
Notification::assertTimesSent(1, UploadRequestNotification::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function user_create_upload_request_with_native_user_email()
|
||||||
|
{
|
||||||
|
$user = User::factory()
|
||||||
|
->hasSettings()
|
||||||
|
->create();
|
||||||
|
|
||||||
|
$recipient = User::factory()
|
||||||
|
->hasSettings()
|
||||||
|
->create();
|
||||||
|
|
||||||
|
$folder = Folder::factory()
|
||||||
|
->create([
|
||||||
|
'user_id' => $user->id,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this
|
||||||
|
->actingAs($user)
|
||||||
|
->postJson('/api/file-request', [
|
||||||
|
'folder_id' => $folder->id,
|
||||||
|
'email' => $recipient->email,
|
||||||
|
'notes' => 'Please send me your files...',
|
||||||
|
])
|
||||||
|
->assertCreated();
|
||||||
|
|
||||||
|
Notification::assertSentTo($recipient, UploadRequestNotification::class);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @test
|
* @test
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user