Skip to content

Commit

Permalink
[webui] make project routes readable too
Browse files Browse the repository at this point in the history
  • Loading branch information
coolo committed Jul 3, 2013
1 parent 91a101f commit d59a62f
Show file tree
Hide file tree
Showing 5 changed files with 120 additions and 132 deletions.
12 changes: 6 additions & 6 deletions src/webui/app/controllers/project_controller.rb
Expand Up @@ -755,25 +755,25 @@ def remove_target
end

def remove_path_from_target
@project.remove_path_from_target( params['repository'], params['path_project'], params['path_repository'] )
required_parameters :repository, :path_project, :path_repository
@project.remove_path_from_target( params[:repository], params[:path_project], params[:path_repository] )
@project.save
flash[:success] = "Removed path #{params['path_project']}/#{params['path_repository']} from #{params['repository']}"
redirect_to :action => :repositories, :project => @project
return
end

def move_path_up
@project.repository[params['repository']].move_path(params['path_project'] + '/' + params['path_repository'], :up)
required_parameters :repository, :path_project, :path_repository
@project.repository[params[:repository]].move_path(params[:path_project] + '/' + params[:path_repository], :up)
@project.save
redirect_to :action => :repositories, :project => @project
return
end

def move_path_down
@project.repository[params['repository']].move_path(params['path_project'] + '/' + params['path_repository'], :down)
required_parameters :repository, :path_project, :path_repository
@project.repository[params[:repository]].move_path(params[:path_project] + '/' + params[:path_repository], :down)
@project.save
redirect_to :action => :repositories, :project => @project
return
end

def change_role_options(params, action)
Expand Down
96 changes: 47 additions & 49 deletions src/webui/config/routes.rb
Expand Up @@ -126,69 +126,67 @@
get 'project/autocomplete_incidents' => :autocomplete_incidents
get 'project/autocomplete_packages' => :autocomplete_packages
get 'project/autocomplete_repositories' => :autocomplete_repositories
get 'project/users' => :users
get 'project/subprojects' => :subprojects
get 'project/attributes' => :attributes
get 'project/users/:project' => :users, constraints: cons, as: 'project_users'
get 'project/subprojects/:project' => :subprojects, constraints: cons, as: 'project_subprojects'
get 'project/attributes/:project' => :attributes, constraints: cons, as: 'project_attributes'
get 'project/new' => :new
get 'project/new_incident' => :new_incident
get 'project/new_package' => :new_package
get 'project/new_package_branch' => :new_package_branch
get 'project/new_package/:project' => :new_package, constraints: cons
get 'project/new_package_branch/:project' => :new_package_branch, constraints: cons
get 'project/incident_request_dialog' => :incident_request_dialog
post 'project/new_incident_request' => :new_incident_request
get 'project/release_request_dialog' => :release_request_dialog
get 'project/new_release_request' => :new_release_request
get 'project/show' => :show
get 'project/load_releasetargets' => :load_releasetargets
get 'project/linking_projects' => :linking_projects
get 'project/add_repository_from_default_list' => :add_repository_from_default_list
get 'project/add_repository' => :add_repository
get 'project/add_person' => :add_person
get 'project/add_group' => :add_group
get 'project/buildresult' => :buildresult
get 'project/new_release_request/:project' => :new_release_request
get 'project/show/(:project)' => :show, constraints: cons, as: 'project_show'
get 'project/linking_projects/:project' => :linking_projects, constraints: cons
get 'project/add_repository_from_default_list/:project' => :add_repository_from_default_list, constraints: cons
get 'project/add_repository/:project' => :add_repository, constraints: cons
get 'project/add_person/:project' => :add_person, constraints: cons
get 'project/add_group/:project' => :add_group, constraints: cons
get 'project/buildresult' => :buildresult, constraints: cons
get 'project/delete_dialog' => :delete_dialog
post 'project/delete' => :delete
get 'project/edit_repository' => :edit_repository
post 'project/update_target' => :update_target
get 'project/repositories' => :repositories
get 'project/repository_state' => :repository_state
get 'project/rebuild_time' => :rebuild_time
get 'project/rebuild_time_png' => :rebuild_time_png
get 'project/packages' => :packages
get 'project/requests' => :requests
post 'project/save_new' => :save_new
post 'project/save' => :save
get 'project/edit_repository/:project' => :edit_repository
post 'project/update_target/:project' => :update_target
get 'project/repositories/:project' => :repositories, constraints: cons, as: 'project_repositories'
get 'project/repository_state/:project' => :repository_state, constraints: cons
get 'project/rebuild_time/:project' => :rebuild_time, constraints: cons
get 'project/rebuild_time_png/:project' => :rebuild_time_png, constraints: cons
get 'project/packages/:project' => :packages, constraints: cons
get 'project/requests/:project' => :requests, constraints: cons
post 'project/save_new' => :save_new, constraints: cons
post 'project/save' => :save, constraints: cons
post 'project/save_targets' => :save_targets
get 'project/remove_target_request_dialog' => :remove_target_request_dialog
post 'project/remove_target_request' => :remove_target_request
post 'project/remove_target' => :remove_target
get 'project/remove_path_from_target' => :remove_path_from_target
get 'project/move_path_up' => :move_path_up
get 'project/move_path_down' => :move_path_down
post 'project/save_person' => :save_person
post 'project/save_group' => :save_group
post 'project/remove_role' => :remove_role
post 'project/remove_person' => :remove_person
post 'project/remove_group' => :remove_group
get 'project/monitor' => :monitor
get 'project/filter_getes?' => :filter_getes?
get 'project/package_buildresult' => :package_buildresult
get 'project/toggle_watch' => :toggle_watch
get 'project/meta' => :meta
post 'project/save_meta' => :save_meta
get 'project/prjconf' => :prjconf
post 'project/save_prjconf' => :save_prjconf
post 'project/change_flag' => :change_flag
get 'project/clear_failed_comment' => :clear_failed_comment
get 'project/edit' => :edit
get 'project/edit_comment_form' => :edit_comment_form
post 'project/edit_comment' => :edit_comment
get 'project/status' => :status
get 'project/maintained_projects' => :maintained_projects
get 'project/add_maintained_project_dialog' => :add_maintained_project_dialog
post 'project/add_maintained_project' => :add_maintained_project
get 'project/remove_maintained_project' => :remove_maintained_project
get 'project/maintenance_incidents' => :maintenance_incidents
get 'project/list_incidents' => :list_incidents
post 'project/save_person/:project' => :save_person, constraints: cons
post 'project/save_group/:project' => :save_group, constraints: cons
post 'project/remove_role/:project' => :remove_role, constraints: cons
post 'project/remove_person/:project' => :remove_person, constraints: cons
post 'project/remove_group/:project' => :remove_group, constraints: cons
get 'project/monitor/:project' => :monitor, constraints: cons
get 'project/package_buildresult/:project' => :package_buildresult, constraints: cons
get 'project/toggle_watch/:project' => :toggle_watch, constraints: cons
get 'project/meta/:project' => :meta, constraints: cons
post 'project/save_meta/:project' => :save_meta, constraints: cons
get 'project/prjconf/:project' => :prjconf, constraints: cons
post 'project/save_prjconf/:project' => :save_prjconf, constraints: cons
post 'project/change_flag/:project' => :change_flag, constraints: cons
get 'project/clear_failed_comment/:project' => :clear_failed_comment, constraints: cons
get 'project/edit/:project' => :edit, constraints: cons
get 'project/edit_comment_form/:project' => :edit_comment_form, constraints: cons
post 'project/edit_comment/:project' => :edit_comment, constraints: cons
get 'project/status/(:project)' => :status, constraints: cons
get 'project/maintained_projects/:project' => :maintained_projects, constraints: cons
get 'project/add_maintained_project_dialog' => :add_maintained_project_dialog, constraints: cons
post 'project/add_maintained_project' => :add_maintained_project, constraints: cons
get 'project/remove_maintained_project/:project' => :remove_maintained_project, constraints: cons
get 'project/maintenance_incidents/:project' => :maintenance_incidents, constraints: cons
get 'project/list_incidents/:project' => :list_incidents, constraints: cons
get 'project/unlock_dialog' => :unlock_dialog
post 'project/unlock' => :unlock
end
Expand Down
130 changes: 60 additions & 70 deletions src/webui/test/functional/all_routes_test.rb
Expand Up @@ -97,74 +97,66 @@ class AllRoutesTest < ActionDispatch::IntegrationTest
urls << project_list_public_path
urls << project_list_all_path
urls << project_list_path
urls << project_autocomplete_projects_path
urls << project_autocomplete_incidents_path
urls << project_autocomplete_packages_path
urls << project_autocomplete_repositories_path
urls << project_users_path
urls << project_subprojects_path
urls << project_attributes_path
urls << project_new_path
urls << project_new_incident_path
urls << project_new_package_path
urls << project_new_package_branch_path
urls << project_incident_request_dialog_path
urls << project_new_incident_request_path
urls << project_release_request_dialog_path
urls << project_new_release_request_path
urls << project_show_path
urls << project_load_releasetargets_path
urls << project_linking_projects_path
urls << project_add_repository_from_default_list_path
urls << project_add_repository_path
urls << project_add_person_path
urls << project_add_group_path
urls << project_buildresult_path
urls << project_delete_dialog_path
urls << project_delete_path
urls << project_edit_repository_path
urls << project_update_target_path
urls << project_repositories_path
urls << project_repository_state_path
urls << project_rebuild_time_path
urls << project_rebuild_time_png_path
urls << project_packages_path
urls << project_requests_path
urls << project_save_new_path
urls << project_save_path
urls << project_save_targets_path
urls << project_remove_target_request_dialog_path
urls << project_remove_target_request_path
urls << project_remove_target_path
urls << project_remove_path_from_target_path
urls << project_move_path_up_path
urls << project_move_path_down_path
urls << project_save_person_path
urls << project_save_group_path
urls << project_remove_role_path
urls << project_remove_person_path
urls << project_remove_group_path
urls << project_monitor_path
urls << project_package_buildresult_path
urls << project_toggle_watch_path
urls << project_meta_path
urls << project_save_meta_path
urls << project_prjconf_path
urls << project_save_prjconf_path
urls << project_change_flag_path
urls << project_clear_failed_comment_path
urls << project_edit_path
urls << project_edit_comment_form_path
urls << project_edit_comment_path
urls << project_status_path
urls << project_maintained_projects_path
urls << project_add_maintained_project_dialog_path
urls << project_add_maintained_project_path
urls << project_remove_maintained_project_path
urls << project_maintenance_incidents_path
urls << project_list_incidents_path
urls << project_unlock_dialog_path
urls << project_unlock_path
urls << url_for(controller: :project, action: :users, project: 'kde4')
urls << url_for(controller: :project, action: :subprojects, project: 'kde4')
urls << url_for(controller: :project, action: :attributes, project: 'kde4')
urls << url_for(controller: :project, action: :new, project: 'kde4')
urls << url_for(controller: :project, action: :new_incident, project: 'kde4')
urls << url_for(controller: :project, action: :new_package, project: 'kde4')
urls << url_for(controller: :project, action: :new_package_branch, project: 'kde4')
urls << url_for(controller: :project, action: :incident_request_dialog, project: 'kde4')
urls << url_for(controller: :project, action: :new_incident_request, project: 'kde4')
urls << url_for(controller: :project, action: :release_request_dialog, project: 'kde4')
urls << url_for(controller: :project, action: :new_release_request, project: 'kde4')
urls << url_for(controller: :project, action: :show, project: 'kde4')
urls << url_for(controller: :project, action: :linking_projects, project: 'kde4')
urls << url_for(controller: :project, action: :add_repository_from_default_list, project: 'kde4')
urls << url_for(controller: :project, action: :add_repository, project: 'kde4')
urls << url_for(controller: :project, action: :add_person, project: 'kde4')
urls << url_for(controller: :project, action: :add_group, project: 'kde4')
urls << url_for(controller: :project, action: :buildresult, project: 'kde4')
urls << url_for(controller: :project, action: :delete_dialog, project: 'kde4')
urls << url_for(controller: :project, action: :delete, project: 'kde4')
urls << url_for(controller: :project, action: :edit_repository, project: 'kde4')
urls << url_for(controller: :project, action: :update_target, project: 'kde4')
urls << url_for(controller: :project, action: :repositories, project: 'kde4')
urls << url_for(controller: :project, action: :repository_state, project: 'kde4')
urls << url_for(controller: :project, action: :packages, project: 'kde4')
urls << url_for(controller: :project, action: :requests, project: 'kde4')
urls << url_for(controller: :project, action: :save_new, project: 'kde4')
urls << url_for(controller: :project, action: :save, project: 'kde4')
urls << url_for(controller: :project, action: :save_targets, project: 'kde4')
urls << url_for(controller: :project, action: :remove_target_request_dialog, project: 'kde4')
urls << url_for(controller: :project, action: :remove_target_request, project: 'kde4')
urls << url_for(controller: :project, action: :remove_target, project: 'kde4')
urls << url_for(controller: :project, action: :move_path_up, project: 'kde4')
urls << url_for(controller: :project, action: :move_path_down, project: 'kde4')
urls << url_for(controller: :project, action: :save_person, project: 'kde4')
urls << url_for(controller: :project, action: :save_group, project: 'kde4')
urls << url_for(controller: :project, action: :remove_role, project: 'kde4')
urls << url_for(controller: :project, action: :remove_person, project: 'kde4')
urls << url_for(controller: :project, action: :remove_group, project: 'kde4')
urls << url_for(controller: :project, action: :monitor, project: 'kde4')
urls << url_for(controller: :project, action: :package_buildresult, project: 'kde4')
urls << url_for(controller: :project, action: :toggle_watch, project: 'kde4')
urls << url_for(controller: :project, action: :meta, project: 'kde4')
urls << url_for(controller: :project, action: :save_meta, project: 'kde4')
urls << url_for(controller: :project, action: :prjconf, project: 'kde4')
urls << url_for(controller: :project, action: :save_prjconf, project: 'kde4')
urls << url_for(controller: :project, action: :change_flag, project: 'kde4')
urls << url_for(controller: :project, action: :clear_failed_comment, project: 'kde4')
urls << url_for(controller: :project, action: :edit, project: 'kde4')
urls << url_for(controller: :project, action: :edit_comment_form, project: 'kde4')
urls << url_for(controller: :project, action: :edit_comment, project: 'kde4')
urls << url_for(controller: :project, action: :status, project: 'kde4')
urls << url_for(controller: :project, action: :maintained_projects, project: 'kde4')
urls << url_for(controller: :project, action: :add_maintained_project_dialog, project: 'kde4')
urls << url_for(controller: :project, action: :add_maintained_project, project: 'kde4')
urls << url_for(controller: :project, action: :remove_maintained_project, project: 'kde4')
urls << url_for(controller: :project, action: :maintenance_incidents, project: 'kde4')
urls << url_for(controller: :project, action: :list_incidents, project: 'kde4')
urls << url_for(controller: :project, action: :unlock_dialog, project: 'kde4')
urls << url_for(controller: :project, action: :unlock, project: 'kde4')
urls << request_add_reviewer_dialog_path
urls << request_add_reviewer_path
urls << request_modify_review_path
Expand Down Expand Up @@ -196,13 +188,11 @@ class AllRoutesTest < ActionDispatch::IntegrationTest
urls << user_lock_path
urls << user_admin_path
urls << user_delete_path
urls << user_autocomplete_path
urls << user_tokens_path
urls << user_do_login_path
urls << group_show_path
urls << group_add_path
urls << group_save_path
urls << group_autocomplete_path
urls << group_tokens_path
urls << group_edit_path
urls << home_path
Expand Down
2 changes: 1 addition & 1 deletion src/webui/test/functional/create_test.rb
Expand Up @@ -27,7 +27,7 @@ def test_create_subproject
fill_in 'name', :with => 'coolstuff'
click_button 'Create Project'

assert current_url.end_with? "/project/show?project=home%3Atom%3Acoolstuff"
assert current_url.end_with? project_show_path(project: "home:tom:coolstuff")
find('#project_title').text.must_equal 'home:tom:coolstuff'
find('#packages_info h2').text.must_equal 'Packages (0)'
end
Expand Down
12 changes: 6 additions & 6 deletions src/webui/test/functional/spider_test.rb
Expand Up @@ -36,8 +36,8 @@ def getlinks(baseuri, body)
next if link.end_with? "/package/rdiff"
# admin can see even the hidden
next if link.end_with? "/package/show/HiddenRemoteInstance"
next if link.end_with? "/project/show?project=HiddenRemoteInstance"
next if link.end_with? "/project/show?project=RemoteInstance"
next if link.end_with? "/project/show/HiddenRemoteInstance"
next if link.end_with? "/project/show/RemoteInstance"
unless @pages_visited.has_key? link
@pages_to_visit[link] ||= [baseuri.to_s, tag.content]
end
Expand All @@ -61,10 +61,10 @@ def raiseit(message, url)
return if url.end_with? "/package/view_file/BaseDistro2.0/pack2.linked?file=myfile&rev=1"
return if url.end_with? "/package/view_file/BaseDistro2.0:LinkedUpdateProject/pack2.linked?file=package.spec&rev=1"
return if url.end_with? "/package/view_file/BaseDistro2.0/pack2.linked?file=package.spec&rev=1"
return if url.end_with? "/project/edit?project=RemoteInstance"
return if url.end_with? "/project/meta?project=HiddenRemoteInstance"
return if url.end_with? "/project/show?project=HiddenRemoteInstance"
return if url.end_with? "/project/edit?project=HiddenRemoteInstance"
return if url.end_with? "/project/edit/RemoteInstance"
return if url.end_with? "/project/meta/HiddenRemoteInstance"
return if url.end_with? "/project/show/HiddenRemoteInstance"
return if url.end_with? "/project/edit/HiddenRemoteInstance"

$stderr.puts "Found #{message} on #{url}, crawling path"
indent = ' '
Expand Down

0 comments on commit d59a62f

Please sign in to comment.