AccessCommunication.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. <?php
  2. namespace AppBundle\Entity\AccessAndFunction;
  3. use AppBundle\Entity\AccessAndFunction\Access;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Dunglas\ApiBundle\Annotation\Iri;
  7. use Symfony\Component\Serializer\Annotation\Groups;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. use AppBundle\Entity\Traits\TimestampableEntity;
  10. use AppBundle\Entity\Traits\CreatorUpdaterEntity;
  11. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  12. use AppBundle\Validator\Constraints\Access as OpentalentAssert;
  13. /**
  14. * Paramètres d'abonnement à la com pour un Access
  15. *
  16. * @Iri("http://schema.org/AccessCommunication")
  17. */
  18. #[ORM\Entity]
  19. class AccessCommunication
  20. {
  21. use TimestampableEntity;
  22. use CreatorUpdaterEntity;
  23. //INSERT INTO AccessCommunication (access_id, culturalNewsletter, adminNewsletter, userNewsletter, opentalentBusinessNewsletter, partnerBusinessNewsletter)
  24. //SELECT Access.id as accessId, true,true,true,true,false
  25. //FROM Access
  26. /**
  27. * @var int
  28. */
  29. #[ORM\Column(type: 'integer')]
  30. #[ORM\Id]
  31. #[ORM\GeneratedValue(strategy: 'AUTO')]
  32. #[Groups(['accesscommunication'])]
  33. private $id;
  34. /**
  35. * @var Access
  36. */
  37. #[ORM\OneToOne(targetEntity: 'AppBundle\Entity\AccessAndFunction\Access', inversedBy: 'accessCommunication', cascade: ['persist'], fetch: 'EAGER')]
  38. #[ORM\JoinColumn(nullable: true, onDelete: 'CASCADE')]
  39. #[Groups(['accesscommunication'])]
  40. private $access;
  41. /**
  42. * @var bool
  43. */
  44. #[ORM\Column(type: 'boolean', options: ['default' => true])]
  45. #[Assert\Type(type: 'boolean')]
  46. #[Assert\NotNull]
  47. #[Groups(['accesscommunication'])]
  48. private $culturalNewsletter = true;
  49. /**
  50. * @var bool
  51. */
  52. #[ORM\Column(type: 'boolean', options: ['default' => true])]
  53. #[Assert\Type(type: 'boolean')]
  54. #[Assert\NotNull]
  55. #[Groups(['accesscommunication'])]
  56. private $adminNewsletter = true;
  57. /**
  58. * @var bool
  59. */
  60. #[ORM\Column(type: 'boolean', options: ['default' => true])]
  61. #[Assert\Type(type: 'boolean')]
  62. #[Assert\NotNull]
  63. #[Groups(['accesscommunication'])]
  64. private $userNewsletter = true;
  65. /**
  66. * @var bool
  67. */
  68. #[ORM\Column(type: 'boolean', options: ['default' => true])]
  69. #[Assert\Type(type: 'boolean')]
  70. #[Assert\NotNull]
  71. #[Groups(['accesscommunication'])]
  72. private $opentalentBusinessNewsletter = true;
  73. /**
  74. * @var bool
  75. */
  76. #[ORM\Column(type: 'boolean', options: ['default' => false])]
  77. #[Assert\Type(type: 'boolean')]
  78. #[Assert\NotNull]
  79. #[Groups(['accesscommunication'])]
  80. private $partnerBusinessNewsletter = false;
  81. /**
  82. * The constructor
  83. */
  84. public function __construct() {
  85. }
  86. /**
  87. * Sets id.
  88. *
  89. * @param int $id
  90. *
  91. * @return $this
  92. */
  93. public function setId($id)
  94. {
  95. $this->id = $id;
  96. return $this;
  97. }
  98. /**
  99. * Gets id.
  100. *
  101. * @return int
  102. */
  103. public function getId()
  104. {
  105. return $this->id;
  106. }
  107. /**
  108. * Set culturalNewsletter
  109. *
  110. * @param boolean $culturalNewsletter
  111. *
  112. * @return AccessCommunication
  113. */
  114. public function setCulturalNewsletter($culturalNewsletter)
  115. {
  116. $this->culturalNewsletter = $culturalNewsletter;
  117. return $this;
  118. }
  119. /**
  120. * Get culturalNewsletter
  121. *
  122. * @return boolean
  123. */
  124. public function getCulturalNewsletter()
  125. {
  126. return $this->culturalNewsletter;
  127. }
  128. /**
  129. * Set adminNewsletter
  130. *
  131. * @param boolean $adminNewsletter
  132. *
  133. * @return AccessCommunication
  134. */
  135. public function setAdminNewsletter($adminNewsletter)
  136. {
  137. $this->adminNewsletter = $adminNewsletter;
  138. return $this;
  139. }
  140. /**
  141. * Get adminNewsletter
  142. *
  143. * @return boolean
  144. */
  145. public function getAdminNewsletter()
  146. {
  147. return $this->adminNewsletter;
  148. }
  149. /**
  150. * Set partnerBusinessNewsletter
  151. *
  152. * @param boolean $partnerBusinessNewsletter
  153. *
  154. * @return AccessCommunication
  155. */
  156. public function setPartnerBusinessNewsletter($partnerBusinessNewsletter)
  157. {
  158. $this->partnerBusinessNewsletter = $partnerBusinessNewsletter;
  159. return $this;
  160. }
  161. /**
  162. * Get partnerBusinessNewsletter
  163. *
  164. * @return boolean
  165. */
  166. public function getPartnerBusinessNewsletter()
  167. {
  168. return $this->partnerBusinessNewsletter;
  169. }
  170. /**
  171. * Set access
  172. *
  173. * @param \AppBundle\Entity\AccessAndFunction\Access $access
  174. *
  175. * @return AccessCommunication
  176. */
  177. public function setAccess(\AppBundle\Entity\AccessAndFunction\Access $access = null)
  178. {
  179. $this->access = $access;
  180. return $this;
  181. }
  182. /**
  183. * Get access
  184. *
  185. * @return \AppBundle\Entity\AccessAndFunction\Access
  186. */
  187. public function getAccess()
  188. {
  189. return $this->access;
  190. }
  191. /**
  192. * Set userNewsletter
  193. *
  194. * @param boolean $userNewsletter
  195. *
  196. * @return AccessCommunication
  197. */
  198. public function setUserNewsletter($userNewsletter)
  199. {
  200. $this->userNewsletter = $userNewsletter;
  201. return $this;
  202. }
  203. /**
  204. * Get userNewsletter
  205. *
  206. * @return boolean
  207. */
  208. public function getUserNewsletter()
  209. {
  210. return $this->userNewsletter;
  211. }
  212. /**
  213. * Set opentalentBusinessNewsletter
  214. *
  215. * @param boolean $opentalentBusinessNewsletter
  216. *
  217. * @return AccessCommunication
  218. */
  219. public function setOpentalentBusinessNewsletter($opentalentBusinessNewsletter)
  220. {
  221. $this->opentalentBusinessNewsletter = $opentalentBusinessNewsletter;
  222. return $this;
  223. }
  224. /**
  225. * Get opentalentBusinessNewsletter
  226. *
  227. * @return boolean
  228. */
  229. public function getOpentalentBusinessNewsletter()
  230. {
  231. return $this->opentalentBusinessNewsletter;
  232. }
  233. }