Skip to content
Snippets Groups Projects
Commit 95e76cca authored by Jan-Hendrik Willms's avatar Jan-Hendrik Willms
Browse files

ensure mvv files are really only updated, fixes #4370

Closes #4370

Merge request studip/studip!3169
parent e057092e
No related branches found
No related tags found
No related merge requests found
...@@ -392,35 +392,36 @@ class Materialien_FilesController extends MVVController ...@@ -392,35 +392,36 @@ class Materialien_FilesController extends MVVController
$file->connectWithDataFile($_FILES['file']['tmp_name']); $file->connectWithDataFile($_FILES['file']['tmp_name']);
$file->store(); $file->store();
$file = new StandardFile($ref); $file = $ref->getFileType();
} else { } else {
$file = StandardFile::create($_FILES['file']); $file = StandardFile::create($_FILES['file']);
}
$error = $top_folder->validateUpload($file, $user->id); $error = $top_folder->validateUpload($file, $user->id);
if ($error !== null) { if ($error !== null) {
if (!$document_id) { if (!$document_id) {
$file->delete(); $file->delete();
}
$this->response->set_status(400);
$this->render_json(compact('error'));
return;
} }
$this->response->set_status(400); $file = $top_folder->addFile($file);
$this->render_json(compact('error'));
return;
}
$file = $top_folder->addFile($file);
if (!$file instanceof FileType) { if (!$file instanceof FileType) {
$error = _('Ein Systemfehler ist beim Upload aufgetreten.'); $error = _('Ein Systemfehler ist beim Upload aufgetreten.');
$this->response->set_status(400); $this->response->set_status(400);
$this->render_json(compact('error')); $this->render_json(compact('error'));
return; return;
} }
$mvv_file_fileref = new MvvFileFileref([ $mvv_file_fileref = new MvvFileFileref([
$output['mvvfile_id'], $output['mvvfile_id'],
Request::option('file_language'), Request::option('file_language'),
]); ]);
$mvv_file_fileref->fileref_id = $file->id; $mvv_file_fileref->fileref_id = $file->id;
$mvv_file_fileref->store(); $mvv_file_fileref->store();
}
$output['document_id'] = $file->id; $output['document_id'] = $file->id;
$output['icon'] = $file->getIcon(Icon::ROLE_CLICKABLE)->asImg(['class' => 'text-bottom']); $output['icon'] = $file->getIcon(Icon::ROLE_CLICKABLE)->asImg(['class' => 'text-bottom']);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment