new deployer command
This commit is contained in:
@@ -14,7 +14,6 @@ class RouteServiceProvider extends ServiceProvider
|
||||
*/
|
||||
protected $moduleNamespace = 'Modules\AuditTrail\Http\Controllers';
|
||||
|
||||
|
||||
/**
|
||||
* Define the routes for the application.
|
||||
*
|
||||
|
||||
@@ -14,7 +14,6 @@ class RouteServiceProvider extends ServiceProvider
|
||||
*/
|
||||
protected $moduleNamespace = 'Modules\ChatGPT\Http\Controllers';
|
||||
|
||||
|
||||
/**
|
||||
* Define the routes for the application.
|
||||
*
|
||||
|
||||
@@ -13,6 +13,7 @@ class StoreCountryRequest extends FormRequest
|
||||
private const MAX_STRING = 'max:255';
|
||||
|
||||
private const MAX_SHORT = 'max:16';
|
||||
|
||||
/**
|
||||
* Authorize country reference-data administration.
|
||||
*/
|
||||
|
||||
@@ -13,6 +13,7 @@ class UpdateCountryRequest extends FormRequest
|
||||
private const MAX_STRING = 'max:255';
|
||||
|
||||
private const MAX_SHORT = 'max:16';
|
||||
|
||||
/**
|
||||
* Authorize country reference-data administration.
|
||||
*/
|
||||
|
||||
@@ -18,6 +18,7 @@ class DocumentationController extends Controller
|
||||
private const string STORAGE_DISK_CONFIG = 'documentation.storage_disk';
|
||||
|
||||
private const string UPLOAD_PATH_CONFIG = 'documentation.upload_path';
|
||||
|
||||
/**
|
||||
* Display the documentation dashboard and document list.
|
||||
*/
|
||||
|
||||
@@ -14,7 +14,6 @@ class RouteServiceProvider extends ServiceProvider
|
||||
*/
|
||||
protected $moduleNamespace = 'Modules\Documentation\Http\Controllers';
|
||||
|
||||
|
||||
/**
|
||||
* Define the routes for the application.
|
||||
*
|
||||
|
||||
@@ -17,6 +17,8 @@ use Modules\Helpdesk\Models\Ticket;
|
||||
*/
|
||||
final class TicketFactory extends Factory
|
||||
{
|
||||
private const FACTORY_BODY = self::FACTORY_BODY;
|
||||
|
||||
/**
|
||||
* The model name for the factory.
|
||||
*
|
||||
@@ -74,9 +76,9 @@ final class TicketFactory extends Factory
|
||||
$put('reference', 'HD-' . now()->format('Y') . '-' . str_pad((string) $this->faker->unique()->numberBetween(1, 9999), 4, '0', STR_PAD_LEFT));
|
||||
$put('subject', 'Factory helpdesk ticket');
|
||||
$put('title', 'Factory helpdesk ticket');
|
||||
$put('body', '<p>Factory helpdesk ticket body.</p>');
|
||||
$put('details', '<p>Factory helpdesk ticket body.</p>');
|
||||
$put('description', '<p>Factory helpdesk ticket body.</p>');
|
||||
$put('body', self::FACTORY_BODY);
|
||||
$put('details', self::FACTORY_BODY);
|
||||
$put('description', self::FACTORY_BODY);
|
||||
$put('search_text', 'factory helpdesk ticket body');
|
||||
$put('last_activity_at', now());
|
||||
|
||||
|
||||
@@ -6,6 +6,4 @@ namespace Modules\Helpdesk\Exceptions;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
final class TicketPersistenceException extends RuntimeException
|
||||
{
|
||||
}
|
||||
final class TicketPersistenceException extends RuntimeException {}
|
||||
|
||||
@@ -17,6 +17,8 @@ use Modules\Helpdesk\Services\WorkflowNotificationService;
|
||||
|
||||
final class KanbanBoard extends Component
|
||||
{
|
||||
private const OWNER_RELATION = self::OWNER_RELATION;
|
||||
|
||||
public ?int $board_id = null;
|
||||
|
||||
public int $refreshNonce = 0;
|
||||
@@ -98,7 +100,7 @@ final class KanbanBoard extends Component
|
||||
public function moveTicketToBoard(int|string $ticketId, int|string|null $boardId, WorkflowNotificationService $workflow): void
|
||||
{
|
||||
$ticket = Ticket::query()->with('board')->visibleTo(Auth::user())->findOrFail((int) $ticketId);
|
||||
$board = KanbanBoardModel::query()->with(['statuses', 'owner:id,name,email'])->findOrFail((int) $boardId);
|
||||
$board = KanbanBoardModel::query()->with(['statuses', self::OWNER_RELATION])->findOrFail((int) $boardId);
|
||||
$oldBoardName = $ticket->board?->name ?? 'No board';
|
||||
|
||||
$this->authorize('update', $ticket);
|
||||
@@ -165,7 +167,7 @@ final class KanbanBoard extends Component
|
||||
public function render(): View
|
||||
{
|
||||
$boards = KanbanBoardModel::query()
|
||||
->with(['statuses', 'owner:id,name,email'])
|
||||
->with(['statuses', self::OWNER_RELATION])
|
||||
->orderBy('sort_order')
|
||||
->orderBy('name')
|
||||
->get();
|
||||
@@ -175,10 +177,10 @@ final class KanbanBoard extends Component
|
||||
|
||||
if ($board instanceof KanbanBoardModel && $board->statuses->isEmpty()) {
|
||||
$this->ensureBoardHasStatuses($board);
|
||||
$board->load(['statuses', 'owner:id,name,email']);
|
||||
$board->load(['statuses', self::OWNER_RELATION]);
|
||||
|
||||
$boards = KanbanBoardModel::query()
|
||||
->with(['statuses', 'owner:id,name,email'])
|
||||
->with(['statuses', self::OWNER_RELATION])
|
||||
->orderBy('sort_order')
|
||||
->orderBy('name')
|
||||
->get();
|
||||
@@ -205,7 +207,7 @@ final class KanbanBoard extends Component
|
||||
}
|
||||
|
||||
return Ticket::query()
|
||||
->with(['user:id,name,email', 'owner:id,name,email', 'agent:id,name,email', 'status', 'priority', 'category', 'project', 'team', 'product', 'tags', 'checklistItems', 'board'])
|
||||
->with(['user:id,name,email', self::OWNER_RELATION, 'agent:id,name,email', 'status', 'priority', 'category', 'project', 'team', 'product', 'tags', 'checklistItems', 'board'])
|
||||
->visibleTo(Auth::user())
|
||||
->where('board_id', $board->id)
|
||||
->latest('last_activity_at')
|
||||
|
||||
@@ -25,9 +25,7 @@ final class TicketPolicy
|
||||
|
||||
public function create(User $user): bool
|
||||
{
|
||||
unset($user);
|
||||
|
||||
return true;
|
||||
return $user->exists;
|
||||
}
|
||||
|
||||
public function update(User $user, Ticket $ticket): bool
|
||||
|
||||
@@ -14,7 +14,6 @@ class RouteServiceProvider extends ServiceProvider
|
||||
*/
|
||||
protected $moduleNamespace = 'Modules\M3\Http\Controllers';
|
||||
|
||||
|
||||
/**
|
||||
* Define the routes for the application.
|
||||
*
|
||||
|
||||
@@ -14,7 +14,6 @@ class RouteServiceProvider extends ServiceProvider
|
||||
*/
|
||||
protected $moduleNamespace = 'Modules\OTM\Http\Controllers';
|
||||
|
||||
|
||||
/**
|
||||
* Define the routes for the application.
|
||||
*
|
||||
|
||||
@@ -11,6 +11,8 @@ use Modules\Platform\app\Models\PlatformPrice;
|
||||
|
||||
class PlatformPriceController extends Controller
|
||||
{
|
||||
private const MIN_ZERO = self::MIN_ZERO;
|
||||
|
||||
/**
|
||||
* Display the customer-facing platform pricing cards.
|
||||
*/
|
||||
@@ -101,12 +103,12 @@ class PlatformPriceController extends Controller
|
||||
'name' => ['required', 'string', 'max:255'],
|
||||
'strapline' => ['nullable', 'string', 'max:255'],
|
||||
'description' => ['nullable', 'string', 'max:2000'],
|
||||
'monthly_amount' => ['required', 'numeric', 'min:0', 'max:999999.99'],
|
||||
'annual_amount' => ['nullable', 'numeric', 'min:0', 'max:999999.99'],
|
||||
'monthly_amount' => ['required', 'numeric', self::MIN_ZERO, 'max:999999.99'],
|
||||
'annual_amount' => ['nullable', 'numeric', self::MIN_ZERO, 'max:999999.99'],
|
||||
'currency' => ['required', 'string', 'size:3'],
|
||||
'badge_label' => ['nullable', 'string', 'max:60'],
|
||||
'features' => ['nullable', 'string', 'max:4000'],
|
||||
'sort_order' => ['required', 'integer', 'min:0', 'max:65535'],
|
||||
'sort_order' => ['required', 'integer', self::MIN_ZERO, 'max:65535'],
|
||||
'is_featured' => ['nullable', 'boolean'],
|
||||
'is_active' => ['nullable', 'boolean'],
|
||||
]);
|
||||
|
||||
@@ -14,7 +14,6 @@ class RouteServiceProvider extends ServiceProvider
|
||||
*/
|
||||
protected $moduleNamespace = 'Modules\Pricing\Http\Controllers';
|
||||
|
||||
|
||||
/**
|
||||
* Define the routes for the application.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user