/**
  * @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;
     }
 }