presseportale/database/factories/CompanyFactory.php
Kevin Adametz 3ff95bc93a UI: Agentur-Angaben im Profil, Firmen-Typ-Auswahl entfernt
A5 des Umbaus Agentur-Attribution → User-Profil: Kunden-Profil erhält
den Abschnitt „Agentur-Angaben" (Feld Agentur-/Verteilername, öffentlich
als Übermittler sichtbar). Firma-Anlegen (Kunde + Admin) und
Admin-Firma-Bearbeiten kommen ohne Typ-Feld aus — Neuanlagen sind immer
type=company. Firmen-Übersicht zeigt kein Typ-Label mehr. Admin-User-
Formulare pflegen agency_name; die Detailseite zeigt den Übermittler
als Badge. CompanyFactory erzeugt keine zufälligen Agentur-Typen mehr.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 09:44:17 +00:00

52 lines
1.4 KiB
PHP

<?php
namespace Database\Factories;
use App\Enums\CompanyType;
use App\Enums\Portal;
use App\Models\Company;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
/**
* @extends Factory<Company>
*/
class CompanyFactory extends Factory
{
protected $model = Company::class;
public function definition(): array
{
$name = fake()->company();
return [
'portal' => fake()->randomElement([Portal::Presseecho->value, Portal::Businessportal24->value]),
// Neuanlagen sind immer Newsrooms; der Legacy-Typ „agency" wird
// nur noch in Tests der Daten-Commands explizit gesetzt.
'type' => CompanyType::Company->value,
'name' => $name,
'slug' => Str::slug($name).'-'.fake()->unique()->numberBetween(1000, 9999),
'address' => fake()->streetAddress(),
'country_code' => 'DE',
'phone' => fake()->phoneNumber(),
'email' => fake()->companyEmail(),
'website' => fake()->url(),
'is_active' => true,
];
}
public function presseecho(): static
{
return $this->state(['portal' => Portal::Presseecho->value]);
}
public function businessportal24(): static
{
return $this->state(['portal' => Portal::Businessportal24->value]);
}
public function inactive(): static
{
return $this->state(['is_active' => false]);
}
}