/**
  * @param DocumentRequest $request
  *
  * @return \Illuminate\Http\Response|\Redirect|\Symfony\Component\HttpFoundation\StreamedResponse
  */
 public function show(DocumentRequest $request)
 {
     $document = $request->entity();
     if (array_key_exists($document->type, Document::$types)) {
         return DocumentController::getDownloadResponse($document);
     } else {
         return $this->errorResponse(['error' => 'Invalid mime type'], 400);
     }
 }
 public function getVFSJS(DocumentRequest $request, $publicId, $name)
 {
     $document = $request->entity();
     if (substr($name, -3) == '.js') {
         $name = substr($name, 0, -3);
     }
     if (!$document->isPDFEmbeddable()) {
         return Response::view('error', array('error' => 'Image does not exist!'), 404);
     }
     $content = $document->preview ? $document->getRawPreview() : $document->getRaw();
     $content = 'ninjaAddVFSDoc(' . json_encode(intval($publicId) . '/' . strval($name)) . ',"' . base64_encode($content) . '")';
     $response = Response::make($content, 200);
     $response->header('content-type', 'text/javascript');
     $response->header('cache-control', 'max-age=31536000');
     return $response;
 }
Example #3
0
 /**
  * Update a specific document.
  *
  * @param DocumentRequest $request
  * @param string $hashid
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function update(DocumentRequest $request, $hashid)
 {
     $document = Document::with(['attachments'])->findOrFail($this->transformHashid($hashid));
     $document->fill($request->only(['group', 'published']));
     $document->getRelation('attachments')->first()->fill($request->only(['name']));
     $document->push();
     return Response::redirectToRoute('documents.index');
 }