M3 Integration fixes

This commit is contained in:
Mark Gregory
2026-09-21 10:14:57 +01:00
parent 4af997c465
commit 6d60cbff84
5853 changed files with 79032 additions and 1825 deletions
View File
View File
View File
View File
+19 -16
View File
@@ -4,11 +4,12 @@ declare(strict_types=1);
namespace Modules\Helpdesk\Database\factories;
use Modules\Company\Models\Company;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Str;
use Modules\Company\Models\Company;
use Modules\Helpdesk\Models\Ticket;
/**
@@ -16,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.
*
@@ -31,11 +34,11 @@ final class TicketFactory extends Factory
public function definition(): array
{
$company = Company::query()->create([
'name' => 'Helpdesk Factory Company '.Str::random(8),
'slug' => 'helpdesk-factory-company-'.Str::lower(Str::random(8)),
'name' => 'Helpdesk Factory Company ' . Str::random(8),
'slug' => 'helpdesk-factory-company-' . Str::lower(Str::random(8)),
'status' => 'active',
'timezone' => 'Europe/London',
'billing_email' => 'helpdesk-factory-'.Str::lower(Str::random(8)).'@example.test',
'billing_email' => 'helpdesk-factory-' . Str::lower(Str::random(8)) . '@example.test',
'is_system_company' => false,
]);
$user = User::factory()->create([
@@ -52,7 +55,7 @@ final class TicketFactory extends Factory
*/
private function ticketPayload(Company $company, User $user): array
{
$ticket = new Ticket();
$ticket = new Ticket;
$table = $ticket->getTable();
$data = [];
@@ -70,43 +73,43 @@ final class TicketFactory extends Factory
$put('assigned_to_id', $user->getKey());
$put('agent_id', $user->getKey());
$put('reference', 'HD-'.now()->format('Y').'-'.str_pad((string) $this->faker->unique()->numberBetween(1, 9999), 4, '0', STR_PAD_LEFT));
$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());
$statusId = $this->lookupId(
'Modules\\Helpdesk\\Models\\TicketStatus',
['name' => 'Open'],
['slug' => 'open', 'color' => 'blue', 'is_closed' => false, 'sort_order' => 10]
['slug' => 'open', 'color' => 'blue', 'is_closed' => false, 'sort_order' => 10],
);
$priorityId = $this->lookupId(
'Modules\\Helpdesk\\Models\\TicketPriority',
['name' => 'Normal'],
['slug' => 'normal', 'color' => 'blue', 'sort_order' => 20]
['slug' => 'normal', 'color' => 'blue', 'sort_order' => 20],
);
$categoryId = $this->lookupId(
'Modules\\Helpdesk\\Models\\TicketCategory',
['name' => 'General'],
['slug' => 'general', 'color' => 'blue', 'sort_order' => 10]
['slug' => 'general', 'color' => 'blue', 'sort_order' => 10],
);
$teamId = $this->lookupId(
'Modules\\Helpdesk\\Models\\HelpdeskTeam',
['name' => 'Support'],
['slug' => 'support', 'color' => 'blue', 'sort_order' => 10]
['slug' => 'support', 'color' => 'blue', 'sort_order' => 10],
);
$projectId = $this->lookupId(
'Modules\\Helpdesk\\Models\\HelpdeskProject',
['name' => 'General'],
['slug' => 'general', 'color' => 'blue', 'sort_order' => 10]
['slug' => 'general', 'color' => 'blue', 'sort_order' => 10],
);
$put('status_id', $statusId);
@@ -140,8 +143,8 @@ final class TicketFactory extends Factory
return null;
}
/** @var class-string<\Illuminate\Database\Eloquent\Model> $class */
$model = new $class();
/** @var class-string<Model> $class */
$model = new $class;
if (! Schema::hasTable($model->getTable())) {
return null;