/** * Constructs the Snippet * * @param SnippetTemplate $template SnippetTemplate to set for this Snippet */ public function __construct(SnippetTemplate $template) { if (!$template->hasFields()) { throw new \Exception('SnippetTemplate should have fields'); } if (!$template->getEnabled()) { throw new \Exception('SnippetTemplate should be enabled'); } $this->fields = new ArrayCollection(); $this->articles = new ArrayCollection(); $this->setTemplate($template); $this->setCreated(); }
public function save(SnippetTemplate $snippetTemplate) { if (!$snippetTemplate->hasName()) { throw new \InvalidArgumentException("SnippetTemplate name cannot be empty"); } if (!$snippetTemplate->hasTemplateCode()) { throw new \InvalidArgumentException("SnippetTemplate templateCode cannot be empty"); } if (!$snippetTemplate->hasFields()) { throw new \InvalidArgumentException("SnippetTemplate requires at least 1 SnippetTemplateField"); } foreach ($snippetTemplate->getFields()->toArray() as $field) { $field->setTemplate($snippetTemplate); } $em = $this->getEntityManager(); $em->persist($snippetTemplate); $em->flush(); }