From 672b365a0eb737bf5fa8605f99e2990a34721d07 Mon Sep 17 00:00:00 2001 From: Fabrice Bellingard Date: Mon, 30 Jan 2012 15:09:04 +0100 Subject: [PATCH] SONAR-3104 Improve the usability of the project 'History' page - Remove possibility to specify an event category - And then simplify the UI consequently --- .../resources/org/sonar/l10n/core.properties | 2 +- .../app/controllers/project_controller.rb | 50 ++++++------------- .../app/views/project/_edit_event.html.erb | 26 ---------- .../app/views/project/history.html.erb | 37 +++++++++----- 4 files changed, 41 insertions(+), 74 deletions(-) delete mode 100644 sonar-server/src/main/webapp/WEB-INF/app/views/project/_edit_event.html.erb diff --git a/plugins/sonar-l10n-en-plugin/src/main/resources/org/sonar/l10n/core.properties b/plugins/sonar-l10n-en-plugin/src/main/resources/org/sonar/l10n/core.properties index 4053171992c..77fbccad043 100644 --- a/plugins/sonar-l10n-en-plugin/src/main/resources/org/sonar/l10n/core.properties +++ b/plugins/sonar-l10n-en-plugin/src/main/resources/org/sonar/l10n/core.properties @@ -876,7 +876,7 @@ project_history.remove_event=Remove project_history.event_updated=Event was successfully updated. project_history.event_deleted=Event "{0}" was deleted. project_history.event_created=Event "{0}" was created. -project_history.event_already_exists=Event "{0}" (category "{1}") already exists. +project_history.event_already_exists=Event "{0}" already exists. #------------------------------------------------------------------------------ diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/project_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/project_controller.rb index f8016804530..7273a65e47d 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/project_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/project_controller.rb @@ -239,60 +239,40 @@ class ProjectController < ApplicationController redirect_to :action => 'history', :id => snapshot.root_project_id end - def new_event + def create_event snapshot=Snapshot.find(params[:sid]) not_found("Snapshot not found") unless snapshot access_denied unless is_admin?(snapshot) - @event = Event.new(:snapshot => snapshot, :resource => snapshot.resource) - @categories=EventCategory.categories(false) - @categories << EventCategory.other_category - render :partial => 'edit_event' - end - - def create_event - event = Event.new(params[:event]) - access_denied unless is_admin?(event.resource) - - if Event.already_exists(event.snapshot_id, event.name, event.category) - flash[:error] = message('project_history.event_already_exists', :params => [event.name, event.category]) + if Event.already_exists(snapshot.id, params[:event_name], EventCategory::KEY_OTHER) + flash[:error] = message('project_history.event_already_exists', :params => params[:event_name]) else - snapshots = find_project_snapshots(event.snapshot_id) + snapshots = find_project_snapshots(snapshot.id) snapshots.each do |snapshot| - e = Event.new(params[:event]) - e.snapshot = snapshot - e.resource_id = snapshot.project_id - e.event_date = snapshot.created_at + e = Event.new({:name => params[:event_name], + :category => EventCategory::KEY_OTHER, + :snapshot => snapshot, + :resource_id => snapshot.project_id, + :event_date => snapshot.created_at}) e.save! end - flash[:notice] = message('project_history.event_created', :params => event.name) + flash[:notice] = message('project_history.event_created', :params => params[:event_name]) end - redirect_to :action => 'history', :id => event.resource_id - end - - def edit_event - @event = Event.find(params[:id]) - not_found("Event not found") unless @event - access_denied unless is_admin?(@event.resource) - - @categories=EventCategory.categories(false) - @categories << EventCategory.other_category - render :partial => 'edit_event' + redirect_to :action => 'history', :id => snapshot.project_id end def update_event - event = Event.find(params[:event][:id]) + event = Event.find(params[:id]) not_found("Event not found") unless event access_denied unless is_admin?(event.resource) - if Event.already_exists(event.snapshot_id, params[:event][:name], params[:event][:category]) - flash[:error] = message('project_history.event_already_exists', :params => [event.name, event.category]) + if Event.already_exists(event.snapshot_id, params[:event_name], EventCategory::KEY_OTHER) + flash[:error] = message('project_history.event_already_exists', :params => event.name) else events = find_events(event) events.each do |e| - e.name = params[:event][:name] - e.category = params[:event][:category] + e.name = params[:event_name] e.save! end flash[:notice] = message('project_history.event_updated') diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/project/_edit_event.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/project/_edit_event.html.erb deleted file mode 100644 index 8cdffc2dd0c..00000000000 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/project/_edit_event.html.erb +++ /dev/null @@ -1,26 +0,0 @@ -<% form_for(@event, :url => "#{ApplicationController.root_context}/project/#{@event.id ? 'update_event' : 'create_event'}") do |f| %> - <%= f.hidden_field :id %> - <%= f.hidden_field :resource_id %> - <%= f.hidden_field :snapshot_id %> - - - - - - - - - - - -
- <%= message('events.name_required') -%>
- <%= f.text_field :name, :onkeyup => "if (this.value=='') $('event_#{@event.id}_submit').disabled='true'; else $('event_#{@event.id}_submit').disabled='';" -%> -
- <%= message('category') -%>
- <%= f.select(:category, @categories.collect {|c| [ message('event.category.' + c.name, :default => c.name), c.name ] }) %> -
- > - <%= message('cancel') -%> -
-<% end %> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/project/history.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/project/history.html.erb index 10bbcc63772..a35a0af57ce 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/project/history.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/project/history.html.erb @@ -42,9 +42,7 @@ <%= version_event.name if version_event -%> - - <%= version_event ? message('project_history.rename_version') : message('project_history.create_version') -%> - + <%= version_event ? message('project_history.rename_version') : message('project_history.create_version') -%> <% if version_event && !snapshot.islast? %> <%= link_to( message('project_history.remove_version'), { :action => 'delete_version', :sid => snapshot.id}, @@ -68,27 +66,42 @@ <% other_events.each do |event| %> - + + + + <% end %> - + + + +
<%= event.name -%> - <%= link_to_remote( message('project_history.edit_event'), - :url => { :action => 'edit_event', :id => event.id}, - :update => "event_#{snapshot.id}_form" ) %> + <%= message('project_history.edit_event') -%> <%= link_to( message('project_history.remove_version'), { :action => 'delete_event', :id => event.id}, :confirm => message('project_history.do_you_want_to_remove_version', :params => event.name) ) -%>
- <%= link_to_remote( message('project_history.create_event'), - :url => { :action => 'new_event', :sid => snapshot.id}, - :update => "event_#{snapshot.id}_form" ) %> + <%= message('project_history.create_event') -%> +
-
-- 2.39.5