/**
  * Updates the Upload/Attach response from the UploadField
  * with the new DataObject records for the JS template
  * 
  * @param  DataObject $record Newly create DataObject record
  * @param  array $uploadResponse Upload or Attach response from UploadField
  * @return array                 Updated $uploadResponse with $record data
  */
 protected function newRecordJSTemplateData(DataObject &$record, &$uploadResponse)
 {
     // fetch uploadedFile record and sort out previewURL
     // update $uploadResponse datas in case changes happened onAfterWrite()
     $uploadedFile = DataObject::get_by_id($this->component->getFileRelationClassName($this->gridField), $uploadResponse['id']);
     if ($uploadedFile) {
         $uploadResponse['name'] = $uploadedFile->Name;
         $uploadResponse['url'] = $uploadedFile->getURL();
         if ($uploadedFile instanceof Image) {
             $uploadResponse['thumbnail_url'] = $uploadedFile->CroppedImage(30, 30)->getURL();
         } else {
             $uploadResponse['thumbnail_url'] = $uploadedFile->Icon();
         }
         // check if our new record has a Title, if not create one automatically
         $title = $record->getTitle();
         if (!$title || $title === $record->ID) {
             if ($record->hasDatabaseField('Title')) {
                 $record->Title = $uploadedFile->Title;
                 $record->write();
             } else {
                 if ($record->hasDatabaseField('Name')) {
                     $record->Name = $uploadedFile->Title;
                     $record->write();
                 }
             }
         }
     }
     // Collect all data for JS template
     $return = array_merge($uploadResponse, array('record' => array('id' => $record->ID)));
     return $return;
 }