. */ declare(strict_types=1); namespace App\Settings\MiscSettings; use App\Settings\SettingsIcon; use Jbtronics\SettingsBundle\Metadata\EnvVarMode; use Jbtronics\SettingsBundle\ParameterTypes\StringType; use Jbtronics\SettingsBundle\Settings\Settings; use Jbtronics\SettingsBundle\Settings\SettingsParameter; use Jbtronics\SettingsBundle\Settings\SettingsTrait; use Symfony\Component\Translation\StaticMessage; use Symfony\Component\Translation\TranslatableMessage as TM; use Symfony\Component\Validator\Constraints as Assert; #[Settings(label: new TM("settings.misc.ipn_suggest"))] #[SettingsIcon("fa-list")] class IpnSuggestSettings { use SettingsTrait; #[SettingsParameter( label: new TM("settings.misc.ipn_suggest.regex"), description: new TM("settings.misc.ipn_suggest.regex.help"), options: ['type' => StringType::class], formOptions: ['attr' => ['placeholder' => new StaticMessage( '^[A-Za-z0-9]{3,4}(?:-[A-Za-z0-9]{3,4})*-\d{4}$')]], envVar: "IPN_SUGGEST_REGEX", envVarMode: EnvVarMode::OVERWRITE, )] public ?string $regex = null; #[SettingsParameter( label: new TM("settings.misc.ipn_suggest.regex_help"), description: new TM("settings.misc.ipn_suggest.regex_help_description"), options: ['type' => StringType::class], formOptions: ['attr' => ['placeholder' => new TM('settings.misc.ipn_suggest.regex.help.placeholder')]], envVar: "IPN_SUGGEST_REGEX_HELP", envVarMode: EnvVarMode::OVERWRITE, )] public ?string $regexHelp = null; #[SettingsParameter( label: new TM("settings.misc.ipn_suggest.autoAppendSuffix"), envVar: "bool:IPN_AUTO_APPEND_SUFFIX", envVarMode: EnvVarMode::OVERWRITE, )] public bool $autoAppendSuffix = false; #[SettingsParameter(label: new TM("settings.misc.ipn_suggest.suggestPartDigits"), description: new TM("settings.misc.ipn_suggest.suggestPartDigits.help"), formOptions: ['attr' => ['min' => 1, 'max' => 8]], envVar: "int:IPN_SUGGEST_PART_DIGITS", envVarMode: EnvVarMode::OVERWRITE )] #[Assert\Range(min: 1, max: 8)] public int $suggestPartDigits = 4; #[SettingsParameter( label: new TM("settings.misc.ipn_suggest.useDuplicateDescription"), description: new TM("settings.misc.ipn_suggest.useDuplicateDescription.help"), envVar: "bool:IPN_USE_DUPLICATE_DESCRIPTION", envVarMode: EnvVarMode::OVERWRITE, )] public bool $useDuplicateDescription = false; #[SettingsParameter( label: new TM("settings.misc.ipn_suggest.fallbackPrefix"), description: new TM("settings.misc.ipn_suggest.fallbackPrefix.help"), options: ['type' => StringType::class], )] public string $fallbackPrefix = 'N.A.'; #[SettingsParameter( label: new TM("settings.misc.ipn_suggest.numberSeparator"), description: new TM("settings.misc.ipn_suggest.numberSeparator.help"), options: ['type' => StringType::class], )] public ?string $numberSeparator = '-'; #[SettingsParameter( label: new TM("settings.misc.ipn_suggest.categorySeparator"), description: new TM("settings.misc.ipn_suggest.categorySeparator.help"), options: ['type' => StringType::class], )] public ?string $categorySeparator = '-'; #[SettingsParameter( label: new TM("settings.misc.ipn_suggest.globalPrefix"), description: new TM("settings.misc.ipn_suggest.globalPrefix.help"), options: ['type' => StringType::class], )] public ?string $globalPrefix = null; }