From 0050c07fdda59f36ca2959e08d422ff5d6479e10 Mon Sep 17 00:00:00 2001
From: Marin Jankovski <marin@gitlab.com>
Date: Thu, 24 Apr 2014 15:00:18 +0200
Subject: [PATCH] Serve a file if in wiki.

---
 app/controllers/projects/wikis_controller.rb | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/app/controllers/projects/wikis_controller.rb b/app/controllers/projects/wikis_controller.rb
index bcd9e0d5219..0eb9364eaa4 100644
--- a/app/controllers/projects/wikis_controller.rb
+++ b/app/controllers/projects/wikis_controller.rb
@@ -15,6 +15,17 @@ class Projects::WikisController < Projects::ApplicationController
 
     if @page
       render 'show'
+    elsif file = @project_wiki.wiki.file(params[:id], @project_wiki.wiki.ref, true)
+       if file.on_disk?
+         send_file file.on_disk_path, :disposition => 'inline'
+       else
+          send_data(
+            file.raw_data,
+            type: file.mime_type,
+            disposition: 'inline',
+            filename: file.name
+          )
+       end
     else
       return render('empty') unless can?(current_user, :write_wiki, @project)
       @page = WikiPage.new(@project_wiki)
-- 
GitLab