summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiyad Preukschas <riyad@informatik.uni-bremen.de>2012-10-15 21:47:38 +0200
committerRiyad Preukschas <riyad@informatik.uni-bremen.de>2012-10-16 12:45:48 +0200
commit8e8d82d49ac80b230e89f034f7aac00ddd555d1e (patch)
tree2ac00ef792152685090f3d72e8ca66c58414fdf5
parentad5a6a4ae1fa784b2a6ecac8cc9791e23ec8f134 (diff)
downloadgitlab-ce-8e8d82d49ac80b230e89f034f7aac00ddd555d1e.tar.gz
Only allow editing text files
-rw-r--r--app/controllers/tree_controller.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/app/controllers/tree_controller.rb b/app/controllers/tree_controller.rb
index 2781d791cbd..c9098cca678 100644
--- a/app/controllers/tree_controller.rb
+++ b/app/controllers/tree_controller.rb
@@ -8,6 +8,7 @@ class TreeController < ProjectResourceController
before_filter :require_non_empty_project
before_filter :assign_ref_vars
+ before_filter :edit_requirements, only: [:edit, :update]
def show
@hex_path = Digest::SHA1.hexdigest(@path)
@@ -40,4 +41,12 @@ class TreeController < ProjectResourceController
render :edit
end
end
+
+ private
+
+ def edit_requirements
+ unless @tree.is_blob? && @tree.text?
+ redirect_to project_tree_path(@project, @id), notice: "You can only edit text files"
+ end
+ end
end