/**
  * @param array                           $data
  * @param RZ\Roadiz\Core\Entities\Document $document
  */
 private function editDocument($data, Document $document)
 {
     /*
      * Rename document file
      */
     if (!empty($data['filename']) && $data['filename'] != $document->getFilename()) {
         $oldUrl = $document->getAbsolutePath();
         $fs = new Filesystem();
         /*
          * If file exists, just rename it
          */
         // set filename to clean given string before renaming file.
         $document->setFilename($data['filename']);
         $fs->rename($oldUrl, $document->getAbsolutePath());
         unset($data['filename']);
     }
     /*
      * Change privacy document status
      */
     if ($data['private'] != $document->isPrivate()) {
         if ($data['private'] === true) {
             $document->getHandler()->makePrivate();
         } else {
             $document->getHandler()->makePublic();
         }
         unset($data['private']);
     }
     foreach ($data as $key => $value) {
         $setter = 'set' . ucwords($key);
         $document->{$setter}($value);
     }
     $this->getService('em')->flush();
 }