src/Entity/Settings.php line 20

  1. <?php
  2. namespace App\Entity;
  3. use ApiPlatform\Core\Annotation\ApiResource;
  4. use App\Flexy\ShopBundle\Entity\Taxes\ValueAddedTax;
  5. use App\Repository\SettingsRepository;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. use Gedmo\Translatable\Translatable;
  10. use Gedmo\Mapping\Annotation as Gedmo;
  11. use Symfony\Component\Serializer\Annotation\Groups;
  12. #[ORM\Entity(repositoryClassSettingsRepository::class)]
  13. #[ApiResource(
  14.     normalizationContext: ['groups' => ['read']],
  15.     denormalizationContext: ['groups' => ['write']],
  16.     
  17.     )]
  18. class Settings implements  Translatable
  19. {
  20.     #[ORM\Id]
  21.     #[ORM\GeneratedValue]
  22.     #[ORM\Column(type'integer')]
  23.     private $id;
  24.     #[ORM\Column(type'boolean'nullabletrue)]
  25.     private ?bool $isMonday null;
  26.     #[ORM\Column(type'boolean'nullabletrue)]
  27.     private ?bool $isTuesday null;
  28.     #[ORM\Column(type'boolean'nullabletrue)]
  29.     private ?bool $isWednesday null;
  30.     #[ORM\Column(type'boolean'nullabletrue)]
  31.     private ?bool $isThursday null;
  32.     #[ORM\Column(type'boolean'nullabletrue)]
  33.     private ?bool $isFriday null;
  34.     #[ORM\Column(type'boolean'nullabletrue)]
  35.     private ?bool $isSaturday null;
  36.     #[ORM\Column(type'boolean'nullabletrue)]
  37.     private ?bool $isSunday null;
  38.     #[ORM\Column(type'time'nullabletrue)]
  39.     private ?\DateTimeInterface $startWorkAt null;
  40.     #[ORM\Column(type'time'nullabletrue)]
  41.     private ?\DateTimeInterface $endWorkAt null;
  42.     #[ORM\Column(type'json'nullabletrue)]
  43.     private ?array $excludeDays = [];
  44.     #[ORM\Column(type'json'nullabletrue)]
  45.     private ?array $excludeDates = [];
  46.     #[ORM\Column(type'json'nullabletrue)]
  47.     private ?array $excludeHours = [];
  48.     #[ORM\Column(type'string'length255nullabletrue)]
  49.     private $logo "";
  50.         #[ORM\Column(type'text'nullabletrue)]
  51.     private $logoBase64 "";
  52.     #[ORM\Column(type'string'length255nullabletrue)]
  53.     private $favicon "";
  54.     #[ORM\Column(type'string'length255nullabletrue)]
  55.     #[Assert\Email]
  56.     private $email "contact@yourdomain.com";
  57.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  58.     private ?string $address null;
  59.     #[ORM\Column(length255nullabletrue)]
  60.     private ?string $currency null;
  61.     #[ORM\Column(length255nullabletrue)]
  62.     private ?string $defaultLang null;
  63.     #[ORM\Column(length255nullabletrue)]
  64.     private ?string $projectName null;
  65.     #[ORM\Column(length255nullabletrue,unique:true)]
  66.     private ?string $code null;
  67.     #[ORM\Column(length255nullabletrue)]
  68.     private ?string $assetFolderName null;
  69.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  70.     private ?string $mailOrderCreatedBody null;
  71.     #[ORM\Column(length255nullabletrue)]
  72.     private ?string $mailOrderCreatedTitle null;
  73.     #[ORM\Column(length255nullabletrue)]
  74.     private ?string $prefixOrder null;
  75.     #[ORM\Column(length255nullabletrue)]
  76.     private ?string $rootUrl null;
  77.     #[ORM\ManyToOne(inversedBy'settings')]
  78.     private ?FrontTheme $frontTheme null;
  79.     #[Gedmo\Translatable]
  80.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  81.     private ?string $description null;
  82.     #[ORM\Column(nullabletrue)]
  83.     private ?bool $isMercureEnabled null;
  84.     #[ORM\Column(nullabletrue)]
  85.     private ?bool $vatIncludedInOrders null;
  86.     
  87.     #[ORM\Column(nullabletrue)]
  88.     private ?bool $vatDisplayedInOrders null;
  89.     #[ORM\ManyToOne]
  90.     private ?ValueAddedTax $defaultValueAddedTax null;
  91.     #[ORM\Column(nullabletrue)]
  92.     private ?bool $sideBarMinimized null;
  93.     #[ORM\Column(length255nullabletrue)]
  94.     private ?string $mobileAppScheme null;
  95.     #[ORM\Column(length255nullabletrue)]
  96.     private ?string $mobileAppSchemeDev null;
  97.     #[ORM\Column(nullabletrue)]
  98.     private ?bool $developpementEnv null;
  99.     #[ORM\Column(length255,nullabletrue)]
  100.     private ?string $mobileAppSchemeIOS null;
  101.     #[ORM\Column(length255,nullabletrue)]
  102.     private ?string $mobileAppSchemeAndroid null;
  103.     #[ORM\ManyToOne(inversedBy'settings')]
  104.     private ?WebsiteTheme $websiteTheme null;
  105.     #[Gedmo\Translatable]
  106.     #[Groups(['read','write'])]
  107.     #[ORM\Column(length255nullabletrue)]
  108.     private ?string $title null;
  109.  /**
  110.      * Used locale to override Translation listener`s locale
  111.      * this is not a mapped field of entity metadata, just a simple property
  112.      */
  113.     #[Gedmo\Locale]
  114.     private $locale;
  115.     #[ORM\Column(length255nullabletrue)]
  116.     private ?string $orderPrefix null;
  117.     #[ORM\Column(length255nullabletrue)]
  118.     private ?string $invoicePrefix null;
  119.     #[ORM\Column(nullabletrue)]
  120.     private ?bool $isGeoLocalisationApiEnabled null;
  121.     #[ORM\Column(nullabletrue)]
  122.     private ?bool $isWebSocketNotificationEnabled null;
  123.     #[ORM\Column(length255nullabletrue)]
  124.     private ?string $absoluteUrl null;
  125.     public function getId(): ?int
  126.     {
  127.         return $this->id;
  128.     }
  129.     public function getIsMonday(): ?bool
  130.     {
  131.         return $this->isMonday;
  132.     }
  133.     public function setIsMonday(?bool $isMonday): self
  134.     {
  135.         $this->isMonday $isMonday;
  136.         return $this;
  137.     }
  138.     public function getIsTuesday(): ?bool
  139.     {
  140.         return $this->isTuesday;
  141.     }
  142.     public function setIsTuesday(?bool $isTuesday): self
  143.     {
  144.         $this->isTuesday $isTuesday;
  145.         return $this;
  146.     }
  147.     public function getIsWednesday(): ?bool
  148.     {
  149.         return $this->isWednesday;
  150.     }
  151.     public function setIsWednesday(?bool $isWednesday): self
  152.     {
  153.         $this->isWednesday $isWednesday;
  154.         return $this;
  155.     }
  156.     public function getIsThursday(): ?bool
  157.     {
  158.         return $this->isThursday;
  159.     }
  160.     public function setIsThursday(?bool $isThursday): self
  161.     {
  162.         $this->isThursday $isThursday;
  163.         return $this;
  164.     }
  165.     public function getIsFriday(): ?bool
  166.     {
  167.         return $this->isFriday;
  168.     }
  169.     public function setIsFriday(?bool $isFriday): self
  170.     {
  171.         $this->isFriday $isFriday;
  172.         return $this;
  173.     }
  174.     public function getIsSaturday(): ?bool
  175.     {
  176.         return $this->isSaturday;
  177.     }
  178.     public function setIsSaturday(bool $isSaturday): self
  179.     {
  180.         $this->isSaturday $isSaturday;
  181.         return $this;
  182.     }
  183.     public function getIsSunday(): ?bool
  184.     {
  185.         return $this->isSunday;
  186.     }
  187.     public function setIsSunday(?bool $isSunday): self
  188.     {
  189.         $this->isSunday $isSunday;
  190.         return $this;
  191.     }
  192.     public function getStartWorkAt(): ?\DateTimeInterface
  193.     {
  194.         return $this->startWorkAt;
  195.     }
  196.     public function setStartWorkAt(?\DateTimeInterface $startWorkAt): self
  197.     {
  198.         $this->startWorkAt $startWorkAt;
  199.         return $this;
  200.     }
  201.     public function getEndWorkAt(): ?\DateTimeInterface
  202.     {
  203.         return $this->endWorkAt;
  204.     }
  205.     public function setEndWorkAt(?\DateTimeInterface $endWorkAt): self
  206.     {
  207.         $this->endWorkAt $endWorkAt;
  208.         return $this;
  209.     }
  210.     public function getExcludeDays(): ?array
  211.     {
  212.         return $this->excludeDays;
  213.     }
  214.     public function setExcludeDays(?array $excludeDays): self
  215.     {
  216.         $this->excludeDays $excludeDays;
  217.         return $this;
  218.     }
  219.     public function getExcludeDates(): ?array
  220.     {
  221.         return array_values($this->excludeDates);
  222.     }
  223.     public function getExcludeDatesOnlyDates(): ?array
  224.     {
  225.         return array_column($this->excludeDates,"date");
  226.     }
  227.     public function setExcludeDates(?array $excludeDates): self
  228.     {
  229.         $this->excludeDates $excludeDates;
  230.         return $this;
  231.     }
  232.     public function getExcludeHours(): ?array
  233.     {
  234.         return $this->excludeHours;
  235.     }
  236.     public function setExcludeHours(?array $excludeHours): self
  237.     {
  238.         $this->excludeHours $excludeHours;
  239.         return $this;
  240.     }
  241.     /**
  242.      * Get the value of logo
  243.      */ 
  244.     public function getLogo()
  245.     {
  246.         return $this->logo;
  247.     }
  248.     /**
  249.      * Set the value of logo
  250.      *
  251.      * @return  self
  252.      */ 
  253.     public function setLogo($logo)
  254.     {
  255.         $this->logo $logo;
  256.         return $this;
  257.     }
  258.     /**
  259.      * Get the value of favicon
  260.      */ 
  261.     public function getFavicon()
  262.     {
  263.         return $this->favicon;
  264.     }
  265.     /**
  266.      * Set the value of favicon
  267.      *
  268.      * @return  self
  269.      */ 
  270.     public function setFavicon($favicon)
  271.     {
  272.         $this->favicon $favicon;
  273.         return $this;
  274.     }
  275.     /**
  276.      * Get the value of logoBase64
  277.      */ 
  278.     public function getLogoBase64()
  279.     {
  280.         return $this->logoBase64;
  281.     }
  282.     /**
  283.      * Set the value of logoBase64
  284.      *
  285.      * @return  self
  286.      */ 
  287.     public function setLogoBase64($logoBase64)
  288.     {
  289.         $this->logoBase64 $logoBase64;
  290.         return $this;
  291.     }
  292.     /**
  293.      * Get the value of email
  294.      */ 
  295.     public function getEmail()
  296.     {
  297.         return $this->email;
  298.     }
  299.     /**
  300.      * Set the value of email
  301.      *
  302.      * @return  self
  303.      */ 
  304.     public function setEmail($email)
  305.     {
  306.         $this->email $email;
  307.         return $this;
  308.     }
  309.     public function getAddress(): ?string
  310.     {
  311.         return $this->address;
  312.     }
  313.     public function setAddress(?string $address): self
  314.     {
  315.         $this->address $address;
  316.         return $this;
  317.     }
  318.     public function getCurrency(): ?string
  319.     {
  320.         return $this->currency;
  321.     }
  322.     public function setCurrency(?string $currency): self
  323.     {
  324.         $this->currency $currency;
  325.         return $this;
  326.     }
  327.     public function getDefaultLang(): ?string
  328.     {
  329.         return $this->defaultLang;
  330.     }
  331.     public function setDefaultLang(?string $defaultLang): self
  332.     {
  333.         $this->defaultLang $defaultLang;
  334.         return $this;
  335.     }
  336.     public function getProjectName(): ?string
  337.     {
  338.         return $this->projectName;
  339.     }
  340.     public function setProjectName(?string $projectName): self
  341.     {
  342.         $this->projectName $projectName;
  343.         return $this;
  344.     }
  345.     public function getCode(): ?string
  346.     {
  347.         return $this->code;
  348.     }
  349.     public function setCode(?string $code): self
  350.     {
  351.         $this->code $code;
  352.         return $this;
  353.     }
  354.     public function getAssetFolderName(): ?string
  355.     {
  356.         return $this->assetFolderName;
  357.     }
  358.     public function setAssetFolderName(?string $assetFolderName): self
  359.     {
  360.         $this->assetFolderName $assetFolderName;
  361.         return $this;
  362.     }
  363.     public function getMailOrderCreatedBody(): ?string
  364.     {
  365.         return $this->mailOrderCreatedBody;
  366.     }
  367.     public function setMailOrderCreatedBody(?string $mailOrderCreatedBody): self
  368.     {
  369.         $this->mailOrderCreatedBody $mailOrderCreatedBody;
  370.         return $this;
  371.     }
  372.     public function getMailOrderCreatedTitle(): ?string
  373.     {
  374.         return $this->mailOrderCreatedTitle;
  375.     }
  376.     public function setMailOrderCreatedTitle(?string $mailOrderCreatedTitle): self
  377.     {
  378.         $this->mailOrderCreatedTitle $mailOrderCreatedTitle;
  379.         return $this;
  380.     }
  381.     public function getPrefixOrder(): ?string
  382.     {
  383.         return $this->prefixOrder;
  384.     }
  385.     public function setPrefixOrder(?string $prefixOrder): self
  386.     {
  387.         $this->prefixOrder $prefixOrder;
  388.         return $this;
  389.     }
  390.     public function getRootUrl(): ?string
  391.     {
  392.         return $this->rootUrl;
  393.     }
  394.     public function setRootUrl(?string $rootUrl): self
  395.     {
  396.         $this->rootUrl $rootUrl;
  397.         return $this;
  398.     }
  399.     public function getFrontTheme(): ?FrontTheme
  400.     {
  401.         return $this->frontTheme;
  402.     }
  403.     public function setFrontTheme(?FrontTheme $frontTheme): self
  404.     {
  405.         $this->frontTheme $frontTheme;
  406.         return $this;
  407.     }
  408.     public function getDescription(): ?string
  409.     {
  410.         return $this->description;
  411.     }
  412.     public function setDescription(?string $description): self
  413.     {
  414.         $this->description $description;
  415.         return $this;
  416.     }
  417.     public function isIsMercureEnabled(): ?bool
  418.     {
  419.         return $this->isMercureEnabled;
  420.     }
  421.     public function setIsMercureEnabled(?bool $isMercureEnabled): self
  422.     {
  423.         $this->isMercureEnabled $isMercureEnabled;
  424.         return $this;
  425.     }
  426.     public function getMobileAppScheme(): ?string
  427.     {
  428.         return $this->mobileAppScheme;
  429.     }
  430.     public function setMobileAppScheme(?string $mobileAppScheme): self
  431.     {
  432.         $this->mobileAppScheme $mobileAppScheme;
  433.         return $this;
  434.     }
  435.     public function getMobileAppSchemeDev(): ?string
  436.     {
  437.         return $this->mobileAppSchemeDev;
  438.     }
  439.     public function setMobileAppSchemeDev(?string $mobileAppSchemeDev): self
  440.     {
  441.         $this->mobileAppSchemeDev $mobileAppSchemeDev;
  442.         return $this;
  443.     }
  444.     public function isDeveloppementEnv(): ?bool
  445.     {
  446.         return $this->developpementEnv;
  447.     }
  448.     public function setDeveloppementEnv(?bool $developpementEnv): self
  449.     {
  450.         $this->developpementEnv $developpementEnv;
  451.         return $this;
  452.     }
  453.     public function isMobileAppSchemeIOS(): ?string
  454.     {
  455.         return $this->mobileAppSchemeIOS;
  456.     }
  457.     public function setMobileAppSchemeIOS(?string $mobileAppSchemeIOS): self
  458.     {
  459.         $this->mobileAppSchemeIOS $mobileAppSchemeIOS;
  460.         return $this;
  461.     }
  462.     public function isMobileAppSchemeAndroid(): ?string
  463.     {
  464.         return $this->mobileAppSchemeAndroid;
  465.     }
  466.     public function setMobileAppSchemeAndroid(?string $mobileAppSchemeAndroid): self
  467.     {
  468.         $this->mobileAppSchemeAndroid $mobileAppSchemeAndroid;
  469.         return $this;
  470.     }
  471.     public function getWebsiteTheme(): ?WebsiteTheme
  472.     {
  473.         return $this->websiteTheme;
  474.     }
  475.     public function setWebsiteTheme(?WebsiteTheme $websiteTheme): static
  476.     {
  477.         $this->websiteTheme $websiteTheme;
  478.         return $this;
  479.     }
  480.     public function getTitle(): ?string
  481.     {
  482.         return $this->title;
  483.     }
  484.     public function setTitle(?string $title): static
  485.     {
  486.         $this->title $title;
  487.         return $this;
  488.     }
  489.     public function setTranslatableLocale($locale)
  490.     {
  491.         $this->locale $locale;
  492.     }
  493.     public function isVatIncludedInOrders(): ?bool
  494.     {
  495.         return $this->vatIncludedInOrders;
  496.     }
  497.     public function setVatIncludedInOrders(?bool $vatIncludedInOrders): self
  498.     {
  499.         $this->vatIncludedInOrders $vatIncludedInOrders;
  500.         return $this;
  501.     }
  502.     public function isVatDisplayedInOrders(): ?bool
  503.     {
  504.         return $this->vatDisplayedInOrders;
  505.     }
  506.     public function setVatDisplayedInOrders(?bool $vatDisplayedInOrders): self
  507.     {
  508.         $this->vatDisplayedInOrders $vatDisplayedInOrders;
  509.         return $this;
  510.     }
  511.     public function getDefaultValueAddedTax(): ?ValueAddedTax
  512.     {
  513.         return $this->defaultValueAddedTax;
  514.     }
  515.     public function setDefaultValueAddedTax(?ValueAddedTax $defaultValueAddedTax): self
  516.     {
  517.         $this->defaultValueAddedTax $defaultValueAddedTax;
  518.         return $this;
  519.     }
  520.     public function isSideBarMinimized(): ?bool
  521.     {
  522.         return $this->sideBarMinimized;
  523.     }
  524.     public function setSideBarMinimized(?bool $sideBarMinimized): self
  525.     {
  526.         $this->sideBarMinimized $sideBarMinimized;
  527.         return $this;
  528.     }
  529.     public function getOrderPrefix(): ?string
  530.     {
  531.         return $this->orderPrefix;
  532.     }
  533.     public function setOrderPrefix(?string $orderPrefix): static
  534.     {
  535.         $this->orderPrefix $orderPrefix;
  536.         return $this;
  537.     }
  538.     public function getInvoicePrefix(): ?string
  539.     {
  540.         return $this->invoicePrefix;
  541.     }
  542.     public function setInvoicePrefix(?string $invoicePrefix): static
  543.     {
  544.         $this->invoicePrefix $invoicePrefix;
  545.         return $this;
  546.     }
  547.     public function isIsGeoLocalisationApiEnabled(): ?bool
  548.     {
  549.         return $this->isGeoLocalisationApiEnabled;
  550.     }
  551.     public function setIsGeoLocalisationApiEnabled(?bool $isGeoLocalisationApiEnabled): static
  552.     {
  553.         $this->isGeoLocalisationApiEnabled $isGeoLocalisationApiEnabled;
  554.         return $this;
  555.     }
  556.     public function isIsWebSocketNotificationEnabled(): ?bool
  557.     {
  558.         return $this->isWebSocketNotificationEnabled;
  559.     }
  560.     public function setIsWebSocketNotificationEnabled(?bool $isWebSocketNotificationEnabled): static
  561.     {
  562.         $this->isWebSocketNotificationEnabled $isWebSocketNotificationEnabled;
  563.         return $this;
  564.     }
  565.     public function getAbsoluteUrl(): ?string
  566.     {
  567.         return $this->absoluteUrl;
  568.     }
  569.     public function setAbsoluteUrl(?string $absoluteUrl): static
  570.     {
  571.         $this->absoluteUrl $absoluteUrl;
  572.         return $this;
  573.     }
  574. }