<?php
namespace App\Entity;
use App\Repository\ProjectSettingsRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: ProjectSettingsRepository::class)]
class ProjectSettings
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\OneToOne(inversedBy: 'projectSettings', cascade: ['persist', 'remove'])]
#[ORM\JoinColumn(nullable: false)]
private ?Project $project = null;
#[ORM\Column]
private array $wording = [];
#[ORM\Column]
private ?bool $hasComment = null;
#[ORM\Column]
private ?bool $hasTinyUrlComment = null;
#[ORM\Column]
private ?bool $hasInfoPopup = null;
#[ORM\Column]
private ?bool $hasDPI = null;
#[ORM\Column(length: 255)]
private ?string $defaultBaguette = null;
#[ORM\Column(length: 255)]
private ?string $defaultBigBaguette = null;
#[ORM\Column(length: 255)]
private ?string $defaultCaisseAmericaine = null;
#[ORM\Column]
private ?float $printPrice = null;
#[ORM\Column]
private ?bool $hasProEnabledByDefault = null;
#[ORM\Column]
private ?bool $hasValidateAfterLoadSave = null;
#[ORM\Column]
private ?bool $hasClientInfo = null;
#[ORM\Column]
private ?bool $hasSendMail = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $logoPath = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $mainColor = null;
#[ORM\Column]
private ?bool $hasTunnelPassepartout = null;
#[ORM\Column]
private ?bool $hasTunnelCaisseAmericaine = null;
#[ORM\Column]
private ?bool $hasContinueWithExample = null;
#[ORM\Column]
private ?bool $hasSendEmailToClient = null;
#[ORM\Column]
private ?bool $hasSellerName = null;
#[ORM\Column(nullable: true)]
private ?bool $hasUploadImage = null;
#[ORM\Column(length: 255)]
private ?string $sendOrderTo = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $dataProduitPath = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $defaultComment = null;
#[ORM\Column(type: Types::JSON)]
private array $clientOrderMandatoryFields = [];
#[ORM\Column(nullable: true)]
private ?bool $ableSelectProductVariant = null;
#[ORM\Column(nullable: true)]
private ?bool $ableToPrint = null;
#[ORM\Column(nullable: true)]
private ?bool $hasAutomaticSendToNielsen = null;
#[ORM\Column(nullable: true)]
private ?bool $hasNewDesign = null;
#[ORM\Column(nullable: true)]
private ?bool $hasLoyaltyCard = null;
#[ORM\Column(nullable: true)]
private ?bool $showOrderButton = null;
#[ORM\Column(nullable: true)]
private ?bool $canEditNielsenOrderReference = null;
#[ORM\Column(nullable: true)]
private ?bool $ableToEditClientOrder = null;
#[ORM\Column(nullable: true)]
private ?bool $ableToResendNielsenOrder = null;
public function __construct()
{
$this->wording = [
'step1_csm_title' => 'Encadrer une photo',
'stepdim_pp_title_ext' => 'Dimensions extérieures',
'stepdim_pp_title_int' => 'Dimensions intérieures (taille de la photo)',
'step1_pp_title' => 'Créer un passe-partout seul',
'step1_ca_title' => 'Encadrer une toile ou un sujet rigide',
'laststep_substep_subject_title' => 'Dimensions de la photo',
'laststep_substep_glass_invisible_name' => 'Verre anti-reflet',
];
$this->mainColor = '#e02b20';
$this->defaultBaguette = 'WC16003';
$this->defaultBigBaguette = 'WC16203';
$this->defaultCaisseAmericaine = 'WA93516';
$this->printPrice = 128;
$this->hasTunnelPassepartout = true;
$this->hasTunnelCaisseAmericaine = true;
$this->hasContinueWithExample = true;
$this->hasComment = false;
$this->hasTinyUrlComment = false;
$this->hasInfoPopup = false;
$this->hasDPI = false;
$this->hasProEnabledByDefault = false;
$this->hasValidateAfterLoadSave = true;
$this->hasClientInfo = false;
$this->hasSendMail = true;
$this->hasSendEmailToClient = false;
$this->hasSellerName = true;
$this->showOrderButton = true;
$this->sendOrderTo = "plateform";
}
public function getId(): ?int
{
return $this->id;
}
public function getProject(): ?Project
{
return $this->project;
}
public function setProject(Project $project): static
{
$this->project = $project;
return $this;
}
public function getWording(): array
{
return $this->wording;
}
public function setWording(array $wording): static
{
$this->wording = $wording;
return $this;
}
public function isHasComment(): ?bool
{
return $this->hasComment;
}
public function setHasComment(bool $hasComment): static
{
$this->hasComment = $hasComment;
return $this;
}
public function isHasInfoPopup(): ?bool
{
return $this->hasInfoPopup;
}
public function setHasInfoPopup(bool $hasInfoPopup): static
{
$this->hasInfoPopup = $hasInfoPopup;
return $this;
}
public function isHasDPI(): ?bool
{
return $this->hasDPI;
}
public function setHasDPI(bool $hasDPI): static
{
$this->hasDPI = $hasDPI;
return $this;
}
public function getDefaultBaguette(): ?string
{
return $this->defaultBaguette;
}
public function setDefaultBaguette(string $defaultBaguette): static
{
$this->defaultBaguette = $defaultBaguette;
return $this;
}
public function getDefaultBigBaguette(): ?string
{
return $this->defaultBigBaguette;
}
public function setDefaultBigBaguette(string $defaultBigBaguette): static
{
$this->defaultBigBaguette = $defaultBigBaguette;
return $this;
}
public function getPrintPrice(): ?float
{
return $this->printPrice;
}
public function setPrintPrice(float $printPrice): static
{
$this->printPrice = $printPrice;
return $this;
}
public function isHasProEnabledByDefault(): ?bool
{
return $this->hasProEnabledByDefault;
}
public function setHasProEnabledByDefault(bool $hasProEnabledByDefault): static
{
$this->hasProEnabledByDefault = $hasProEnabledByDefault;
return $this;
}
public function isHasValidateAfterLoadSave(): ?bool
{
return $this->hasValidateAfterLoadSave;
}
public function setHasValidateAfterLoadSave(bool $hasValidateAfterLoadSave): static
{
$this->hasValidateAfterLoadSave = $hasValidateAfterLoadSave;
return $this;
}
public function isHasClientInfo(): ?bool
{
return $this->hasClientInfo;
}
public function setHasClientInfo(bool $hasClientInfo): static
{
$this->hasClientInfo = $hasClientInfo;
return $this;
}
public function isHasSendMail(): ?bool
{
return $this->hasSendMail;
}
public function setHasSendMail(bool $hasSendMail): static
{
$this->hasSendMail = $hasSendMail;
return $this;
}
public function getLogoPath(): ?string
{
return $this->logoPath;
}
public function setLogoPath(?string $logoPath): static
{
$this->logoPath = $logoPath;
return $this;
}
public function getMainColor(): ?string
{
return $this->mainColor;
}
public function setMainColor(?string $mainColor): static
{
$this->mainColor = $mainColor;
return $this;
}
public function isHasTunnelPassepartout(): ?bool
{
return $this->hasTunnelPassepartout;
}
public function setHasTunnelPassepartout(bool $hasTunnelPassepartout): static
{
$this->hasTunnelPassepartout = $hasTunnelPassepartout;
return $this;
}
public function isHasContinueWithExample(): ?bool
{
return $this->hasContinueWithExample;
}
public function setHasContinueWithExample(bool $hasContinueWithExample): static
{
$this->hasContinueWithExample = $hasContinueWithExample;
return $this;
}
public function getSendOrderTo(): ?string
{
return $this->sendOrderTo;
}
public function setSendOrderTo(string $sendOrderTo): static
{
$this->sendOrderTo = $sendOrderTo;
return $this;
}
public function getDataProduitPath(): ?string
{
return $this->dataProduitPath;
}
public function setDataProduitPath(?string $dataProduitPath): static
{
$this->dataProduitPath = $dataProduitPath;
return $this;
}
public function getHasTunnelCaisseAmericaine(): ?bool
{
return $this->hasTunnelCaisseAmericaine;
}
public function setHasTunnelCaisseAmericaine(?bool $hasTunnelCaisseAmericaine): self
{
$this->hasTunnelCaisseAmericaine = $hasTunnelCaisseAmericaine;
return $this;
}
public function getDefaultCaisseAmericaine(): ?string
{
return $this->defaultCaisseAmericaine;
}
public function setDefaultCaisseAmericaine(?string $defaultCaisseAmericaine): self
{
$this->defaultCaisseAmericaine = $defaultCaisseAmericaine;
return $this;
}
public function getHasUploadImage(): ?bool
{
return $this->hasUploadImage;
}
public function setHasUploadImage(?bool $hasUploadImage): self
{
$this->hasUploadImage = $hasUploadImage;
return $this;
}
public function getDefaultComment(): ?string
{
return $this->defaultComment;
}
public function setDefaultComment(?string $defaultComment): static
{
$this->defaultComment = $defaultComment;
return $this;
}
public function getHasSendEmailToClient(): ?bool
{
return $this->hasSendEmailToClient;
}
public function setHasSendEmailToClient(?bool $hasSendEmailToClient): self
{
$this->hasSendEmailToClient = $hasSendEmailToClient;
return $this;
}
public function getClientOrderMandatoryFields(): array
{
return $this->clientOrderMandatoryFields;
}
public function setClientOrderMandatoryFields(array $clientOrderMandatoryFields): static
{
$this->clientOrderMandatoryFields = $clientOrderMandatoryFields;
return $this;
}
public function getHasSellerName(): ?bool
{
return $this->hasSellerName;
}
public function setHasSellerName(?bool $hasSellerName): self
{
$this->hasSellerName = $hasSellerName;
return $this;
}
public function getHasTinyUrlComment(): ?bool
{
return $this->hasTinyUrlComment;
}
public function setHasTinyUrlComment(?bool $hasTinyUrlComment): self
{
$this->hasTinyUrlComment = $hasTinyUrlComment;
return $this;
}
public function isAbleSelectProductVariant(): ?bool
{
return $this->ableSelectProductVariant;
}
public function setAbleSelectProductVariant(?bool $ableSelectProductVariant): static
{
$this->ableSelectProductVariant = $ableSelectProductVariant;
return $this;
}
public function isAbleToPrint(): ?bool
{
return $this->ableToPrint;
}
public function setAbleToPrint(?bool $ableToPrint): static
{
$this->ableToPrint = $ableToPrint;
return $this;
}
public function isHasAutomaticSendToNielsen(): ?bool
{
return $this->hasAutomaticSendToNielsen;
}
public function setHasAutomaticSendToNielsen(?bool $hasAutomaticSendToNielsen): static
{
$this->hasAutomaticSendToNielsen = $hasAutomaticSendToNielsen;
return $this;
}
public function isHasNewDesign(): ?bool
{
return $this->hasNewDesign;
}
public function setHasNewDesign(?bool $hasNewDesign): static
{
$this->hasNewDesign = $hasNewDesign;
return $this;
}
public function isHasLoyaltyCard(): ?bool
{
return $this->hasLoyaltyCard;
}
public function setHasLoyaltyCard(?bool $hasLoyaltyCard): static
{
$this->hasLoyaltyCard = $hasLoyaltyCard;
return $this;
}
public function isShowOrderButton(): ?bool
{
return $this->showOrderButton;
}
public function setShowOrderButton(?bool $showOrderButton): static
{
$this->showOrderButton = $showOrderButton;
return $this;
}
public function isCanEditNielsenOrderReference(): ?bool
{
return $this->canEditNielsenOrderReference;
}
public function setCanEditNielsenOrderReference(?bool $canEditNielsenOrderReference): static
{
$this->canEditNielsenOrderReference = $canEditNielsenOrderReference;
return $this;
}
public function isAbleToEditClientOrder(): ?bool
{
return $this->ableToEditClientOrder;
}
public function setAbleToEditClientOrder(?bool $ableToEditClientOrder): static
{
$this->ableToEditClientOrder = $ableToEditClientOrder;
return $this;
}
public function isAbleToResendNielsenOrder(): ?bool
{
return $this->ableToResendNielsenOrder;
}
public function setAbleToResendNielsenOrder(?bool $ableToResendNielsenOrder): static
{
$this->ableToResendNielsenOrder = $ableToResendNielsenOrder;
return $this;
}
}