diff --git a/app/controllers/tree_controller.rb b/app/controllers/tree_controller.rb index 475e2b61a18ab0dd35bd5c7eceb0e3db6edb669f..c9098cca67814ad406266a10efd7ab5c982df0a2 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) @@ -34,10 +35,18 @@ class TreeController < ProjectResourceController ) if update_status - redirect_to project_tree_path(@project, @id), :notice => "File has been successfully changed" + redirect_to project_tree_path(@project, @id), notice: "Your changes have been successfully commited" else - flash[:notice] = "You can't save file because it has been changed" + flash[:notice] = "Your changes could not be commited, because the file has been changed" 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