notify users

This commit is contained in:
2025-05-12 19:37:09 +05:00
parent f0a08a8042
commit 6450b683d1
4 changed files with 96 additions and 8 deletions

View File

@@ -136,9 +136,19 @@ class LoanOrder extends Resource
*/
public static function afterCreate(NovaRequest $request, Model $model): void
{
/** @var LoanOrderModel */
$loanOrder = $model;
if ($request->user()->doesntHaveRoles()) {
LoanOrderRepo::notifyUser($request, $model, __('Loan order created'), 'success', 'pencil');
LoanOrderRepo::notifyUser($request, $loanOrder, __('Loan order created'), 'success', 'pencil');
}
LoanOrderRepo::notifyOperators(
loanOrder: $loanOrder,
message: __('Loan order created'),
type: 'success',
icon: 'pencil'
);
}
/**
@@ -157,7 +167,12 @@ class LoanOrder extends Resource
LoanOrderRepo::notifyUser($request, $loanOrder, __('Loan order updated'), 'info', 'pencil-alt');
}
LoanOrderRepo::notifyOperators($loanOrder);
LoanOrderRepo::notifyOperators(
loanOrder: $loanOrder,
message: __('Loan order updated'),
type: 'info',
icon: 'pencil-alt'
);
}
/**
@@ -169,8 +184,11 @@ class LoanOrder extends Resource
*/
public static function afterDelete(NovaRequest $request, Model $model): void
{
/** @var LoanOrderModel */
$loanOrder = $model;
if ($request->user()->doesntHaveRoles()) {
LoanOrderRepo::notifyUser($request, $model, __('Loan order deleted'), 'error', 'trash');
LoanOrderRepo::notifyUser($request, $loanOrder, __('Loan order deleted'), 'error', 'trash');
}
}

View File

@@ -130,6 +130,73 @@ class LoanOrderMobile extends Resource
return $query->where('user_id', $request->user()->id);
}
/**
* Register a callback to be called after the resource is created.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param \Illuminate\Database\Eloquent\Model $model
* @return void
*/
public static function afterCreate(NovaRequest $request, Model $model): void
{
/** @var LoanOrderModel */
$loanOrder = $model;
if ($request->user()->doesntHaveRoles()) {
LoanOrderRepo::notifyUser($request, $loanOrder, __('Loan order created'), 'success', 'pencil', true);
}
LoanOrderRepo::notifyOperators(
loanOrder: $loanOrder,
message: __('Loan order created'),
type: 'success',
icon: 'pencil',
mobile: true,
);
}
/**
* Register a callback to be called after the resource is updated.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param \Illuminate\Database\Eloquent\Model $model
* @return void
*/
public static function afterUpdate(NovaRequest $request, Model $model): void
{
/** @var LoanOrderModel */
$loanOrder = $model;
if ($request->user()->doesntHaveRoles()) {
LoanOrderRepo::notifyUser($request, $loanOrder, __('Loan order updated'), 'info', 'pencil-alt', true);
}
LoanOrderRepo::notifyOperators(
loanOrder: $loanOrder,
message: __('Loan order updated'),
type: 'info',
icon: 'pencil-alt',
mobile: true,
);
}
/**
* Register a callback to be called after the resource is deleted.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param \Illuminate\Database\Eloquent\Model $model
* @return void
*/
public static function afterDelete(NovaRequest $request, Model $model): void
{
/** @var LoanOrderModel */
$loanOrder = $model;
if ($request->user()->doesntHaveRoles()) {
LoanOrderRepo::notifyUser($request, $loanOrder, __('Loan order deleted'), 'error', 'trash', true);
}
}
/**
* Get the fields for index.
*

View File

@@ -36,7 +36,7 @@ class NovaLoanRemainingOrder extends Resource
* @var array<int, string>
*/
public static $search = [
'account_number',
'account_number', 'passport_id',
];
/**

View File

@@ -5,6 +5,7 @@ namespace App\Repos\Order\Loan;
use App\Models\Branch\Branch;
use App\Models\Order\Loan\LoanOrder;
use App\Nova\Resources\Order\Loan\LoanOrder as NovaLoanOrder;
use App\Nova\Resources\Order\Loan\LoanOrderMobile;
use App\Repos\Order\OrderRepo;
use Closure;
use Illuminate\Database\Eloquent\Model;
@@ -69,10 +70,11 @@ class LoanOrderRepo
string $message,
string $type = 'info',
string $icon = 'eye',
bool $mobile = false,
): void {
$id = $loanOrder->id;
$nova_path = config('nova.path');
$loan_order_path = NovaLoanOrder::uriKey();
$loan_order_path = $mobile ? LoanOrderMobile::uriKey() : NovaLoanOrder::uriKey();
$url = url($nova_path.'/resources/'.$loan_order_path.'/'.$id);
$request->user()->notifyNow(
@@ -89,11 +91,12 @@ class LoanOrderRepo
string $message,
string $type = 'info',
string $icon = 'eye',
bool $mobile = false
): void {
$id = $loanOrder->id;
$nova_path = config('nova.path');
$loan_order_path = NovaLoanOrder::uriKey();
$url = url($nova_path.'/resources/'.$loan_order_path.'/'.$id);
$loan_order_path = $mobile ? LoanOrderMobile::uriKey() : NovaLoanOrder::uriKey();
$url = URL::remote(url($nova_path.'/resources/'.$loan_order_path.'/'.$id));
// Get users related with branch...
$branch_users = DB::table('branch_user')->where('branch_id', $loanOrder->branch_id)->pluck('user_id');
@@ -116,7 +119,7 @@ class LoanOrderRepo
'message' => $message,
'actionText' => 'Görmek',
'actionUrl' => [
'url' => URL::remote($url),
'url' => $url,
'remote' => true,
],
'openInNewTab' => false,