/** * @param Album $album * @param ArrayAccess $albumData */ public function edit(Album $album, ArrayAccess $albumData) { $album->setArtist($albumData['artist']); $album->setAlbumName($albumData['albumName']); $album->setYear($albumData['year']); $this->em->persist($album); $this->em->flush(); }
/** * @param string $name */ public function createComponentAlbumForm($name) { $form = new Form($this, $name); $form->addText('artist', 'Artist')->setRequired(); $form->addText('albumName', 'Album name')->setRequired(); $form->addText('year', 'Year')->setRequired()->addRule(Form::INTEGER); if ($this->album) { $form->setDefaults(['artist' => $this->album->getArtist(), 'albumName' => $this->album->getAlbumName(), 'year' => $this->album->getYear()]); $form->addSubmit('save', 'Edit album'); $form->onSuccess[] = $this->successEditAlbumForm; } else { $form->addSubmit('save', 'Add new album'); $form->onSuccess[] = $this->successAddAlbumForm; } }