protected function delivery($id)
{
- if (!FluidbookPublication::hasPermission($id,'read')) {
+ if (!FluidbookPublication::hasPermission($id, 'read')) {
abort(401);
}
}
if (!in_array($action, ['download', 'install', 'scormcloud'])) {
abort(404, __('Cette action n\'est pas disponible'));
}
- if (!FluidbookPublication::hasPermission($id,'read')) {
+ if (!FluidbookPublication::hasPermission($id, 'read')) {
abort(401, __('Cette publication ne peut pas être téléchargée'));
}
+ /** @var FluidbookPublication $fluidbook */
$fluidbook = FluidbookPublication::find($id);
if (!$fluidbook->{'download_' . $version} && !can('fluidbook-publication:download:all-versions')) {
abort(401, __('Cette version n\'est pas disponible au téléchargement'));
}
+ // Mark the fluidbook as downloaded when status is ready and user is not an admin
+ if ($fluidbook->status == 1 && !can('fluidbook-publication:admin')) {
+ $fluidbook->status = 2;
+ $fluidbook->save();
+ }
+
Download::dispatch($fluidbook, $version, $action, backpack_user())->onQueue('download');
Alert::add('success', __('La compilation a été placée en file d\'attente. Vous recevrez un email lorsqu\'elle sera terminée.'))->flash();
return redirect(backpack_url('fluidbook-publication'));
protected function packageScorm($id, $action, $scormVersion)
{
- if (!FluidbookPublication::hasPermission($id,'read')) {
+ if (!FluidbookPublication::hasPermission($id, 'read')) {
abort(401, __('Cette publication ne peut pas être téléchargée'));
}
$fluidbook = FluidbookPublication::find($id);