From: Sascha Peilicke
TODO: Need to add a callback that pops up a dialog to ask for a commit
message
---
src/webui/app/controllers/package_controller.rb | 34 +++++++---------------
src/webui/app/views/package/edit_file.html.erb | 24 ----------------
src/webui/app/views/package/view_file.rhtml | 24 ++++++----------
3 files changed, 20 insertions(+), 62 deletions(-)
delete mode 100644 src/webui/app/views/package/edit_file.html.erb
diff --git a/src/webui/app/controllers/package_controller.rb b/src/webui/app/controllers/package_controller.rb
index 80f8e91..8fdf08d 100644
--- a/src/webui/app/controllers/package_controller.rb
+++ b/src/webui/app/controllers/package_controller.rb
@@ -781,12 +781,11 @@ class PackageController < ApplicationController
def view_file
@filename = params[:file] || ''
- @expand = params[:expand]
@srcmd5 = params[:srcmd5]
@addeditlink = false
if @package.can_edit?( session[:login] )
begin
- files = @package.files(@srcmd5, @expand)
+ files = @package.files(@srcmd5, params[:expand])
rescue ActiveXML::Transport::Error => e
files = []
end
@@ -801,50 +800,39 @@ class PackageController < ApplicationController
@file = frontend.get_source(:project => @project.to_s, :package => @package.to_s, :filename => @filename, :rev => @srcmd5)
rescue ActiveXML::Transport::NotFoundError => e
flash[:error] = "File not found: #{@filename}"
- redirect_to :action => :files, :package => @package, :project => @project
- return
+ redirect_to :action => :files, :package => @package, :project => @project and return
rescue ActiveXML::Transport::Error => e
flash[:error] = "Error: #{e}"
- redirect_back_or_to :action => :files, :project => @project, :package => @package
- return
+ redirect_back_or_to :action => :files, :project => @project, :package => @package and return
end
if @spider_bot
- render :template => "package/simple_file_view"
- return
+ render :template => "package/simple_file_view" and return
end
end
def save_modified_file
- project = params[:project]
- package = params[:package]
+ required_parameters :project, :package, :filename, :file
if request.method != :post
flash[:warn] = "Saving file failed because this was no POST request. " +
"This probably happened because you were logged out in between. Please try again."
- redirect_to :action => :show, :project => project, :package => package and return
+ redirect_to :action => :show, :project => params[:project], :package => params[:package] and return
end
- required_parameters :project, :package, :filename, :file
+ project = params[:project]
+ package = params[:package]
filename = params[:filename]
file = params[:file]
comment = params[:comment]
file.gsub!( /\r\n/, "\n" )
begin
- frontend.put_file( file, :project => project, :package => package,
- :filename => filename, :comment => comment )
+ frontend.put_file(file, :project => project, :package => package, :filename => filename, :comment => comment)
flash[:note] = "Successfully saved file #{filename}"
Directory.free_cache( :project => project, :package => package )
rescue Timeout::Error => e
flash[:error] = "Timeout when saving file. Please try again."
rescue ActiveXML::Transport::Error => e
- message, code, api_exception = ActiveXML::Transport.extract_error_message e
- # if code == "validation_failed"
- flash[:error] = message
- params[:file] = filename
- params[:content] = file
- params[:comment] = comment
- edit_file # :package => package, :project => project, :file => filename, :content => file, :comment => comment
- return
+ flash[:error], _, _ = ActiveXML::Transport.extract_error_message e
end
- redirect_to :action => :files, :package => package, :project => project
+ redirect_to :action => 'view_file', :package => package, :project => project, :filename => filename
end
def rawlog
diff --git a/src/webui/app/views/package/edit_file.html.erb b/src/webui/app/views/package/edit_file.html.erb
deleted file mode 100644
index 48743c7..0000000
--- a/src/webui/app/views/package/edit_file.html.erb
+++ /dev/null
@@ -1,24 +0,0 @@
-<% @pagetitle = "Edit File #{@filename} of Package #{@package}" %>
-
-<% package_bread_crumb(
- link_to( 'Files', :action => :files, :project => @project, :package => @package ),
- @filename ) -%>
-
-<%= render :partial => "tabs" %>
-
-
-<h3><%= h @pagetitle %> (Project <%=h @project %>)</h3>
-
-<% form_tag :action => :save_modified_file, :project => @project, :package => @package, "class" => "edit" do %>
- <p>
- <%= text_area_tag( "file", @file, :cols => "80", :rows => "40" ) %>
- </p>
- <p>
- <strong>Comment your changes (optional):</strong><br/>
- <%= text_field_tag 'comment', '', :size => 100 %>
- </p>
- <p>
- <%= submit_tag %>
- <%= hidden_field_tag( "filename", @filename ) %>
- </p>
-<% end %>
diff --git a/src/webui/app/views/package/view_file.rhtml b/src/webui/app/views/package/view_file.rhtml
index 8a888e0..8ef65d6 100644
--- a/src/webui/app/views/package/view_file.rhtml
+++ b/src/webui/app/views/package/view_file.rhtml
@@ -1,20 +1,14 @@
-<% @pagetitle = "File #{@filename} of Package #{@package}"
- package_bread_crumb(link_to('Files', :action => :files, :project => @project, :package => @package, :rev => @srcmd5), h(@filename))
--%>
+<% @pagetitle = "File #{@filename} of Package #{@package}" %>
+<% package_bread_crumb(link_to('Files', :action => :files, :project => @project, :package => @package, :rev => @srcmd5), h(@filename)) %>
<%= render :partial => "tabs" %>
-<h3><%= h @pagetitle %> (Project <%=h @project %>)</h3>
-
-<% if @addeditlink %>
- <p>
- <%= link_to(image_tag('icons/package_edit.png', :title => 'Edit file' ), :action => :edit_file, :project => @project, :package => @package, :file => @filename, :srcmd5 => @srcmd5, :expand => @expand) %>
- <%= link_to('Edit file', :action => :edit_file, :project => @project, :package => @package, :file => @filename, :srcmd5 => @srcmd5, :expand => @expand) %>
- </p>
-<% end %>
-
-<%# TODO: Integrate direct edit!!!" %>
-<%# TODO: rename view to simply 'file', drop edit view %>
+<h3><%= @pagetitle %></h3>
<div style="margin-left: 15px; margin-right: 15px;">
- <%= render :partial => "shared/editor", :locals => {:text => @file, :mode => guess_code_class(@filename)} %>
+ <% if @addeditlink %>
+ <%= render :partial => "shared/editor", :locals => {:text => @file, :mode => guess_code_class(@filename), :save => {:url => {:controller => 'package', :action => 'save_modified_file'}, :method => 'POST', :data => {:project => @project, :package => @package, :file => '@@@', :comment => '', :filename => @filename, :srcmd5 => @srcmd5}}} %>
+ <%# TODO: Provide a comments field thru a callback!! %>
+ <% else %>
+ <%= render :partial => "shared/editor", :locals => {:text => @file, :mode => guess_code_class(@filename), :read_only => true} %>
+ <% end %>
</div>
--
1.7.7
--
To unsubscribe, e-mail: obs-commits+unsubscribe@opensuse.org
To contact the owner, e-mail: obs-commits+owner@opensuse.org