Skip to content

Commit

Permalink
[webui] work on addition of repos
Browse files Browse the repository at this point in the history
Change the way the (detailed) add repository page works. The list of
repos is strictly limited to the repos avaible for the project given.
  • Loading branch information
coolo committed Nov 22, 2012
1 parent 657b397 commit 810291a
Show file tree
Hide file tree
Showing 14 changed files with 114 additions and 221 deletions.
4 changes: 2 additions & 2 deletions src/webui-testsuite/lib/OBSpages/NewProjectPage.rb
Expand Up @@ -101,8 +101,8 @@ def create_project new_project
@driver[css: "div#content input[name='commit']"].click

if new_project[:expect] == :success
validate { flash_message == message_prefix + "was created successfully" }
validate { flash_message_type == :info }
assert_equal flash_message, message_prefix + "was created successfully"
assert_equal flash_message_type, :info
$page = ProjectOverviewPage.new_ready @driver
new_project[:description] = "No description set" if new_project[:description].empty?
assert_equal CGI::escapeHTML(new_project[:description]), $page.project_description
Expand Down
3 changes: 1 addition & 2 deletions src/webui-testsuite/lib/OBSpages/PackagePage.rb
Expand Up @@ -50,8 +50,7 @@ def initialize_ready web_driver
"requests" => PackageRequestsPage,
"meta" => PackageRawConfigPage,
"revisions" => PackageRevisionsPage,
"attributes" => PackageAttributesPage,
"repositories" => PackageRepositoriesPage }
"attributes" => PackageAttributesPage }

ADVANCED_PACKAGE_TABS = [ "meta", "attributes" ]

Expand Down

This file was deleted.

3 changes: 1 addition & 2 deletions src/webui-testsuite/lib/OBSpages/ProjectPage.rb
Expand Up @@ -53,8 +53,7 @@ def initialize_ready web_driver
"requests" => ProjectRequestsPage,
"meta" => ProjectRawConfigPage,
"attributes" => ProjectAttributesPage,
"subprojects" => ProjectSubprojectsPage,
"repositories" => ProjectRepositoriesPage }
"subprojects" => ProjectSubprojectsPage }

ADVANCED_PROJECT_TABS = [ "projectconfig", "status",
"meta", "attributes" ]
Expand Down

This file was deleted.

2 changes: 0 additions & 2 deletions src/webui-testsuite/lib/common/ClassDeclarations.rb
Expand Up @@ -26,7 +26,6 @@ class ProjectRequestsPage < ProjectPage; end
class ProjectRawConfigPage < ProjectPage; end
class ProjectAttributesPage < ProjectPage; end
class ProjectSubprojectsPage < ProjectPage; end
class ProjectRepositoriesPage < ProjectPage; end
class NewPackagePage < ProjectPage; end
class NewPackageBranchPage < ProjectPage; end
class PackagePage < ProjectPage; end
Expand All @@ -38,7 +37,6 @@ class PackageRequestsPage < PackagePage; end
class PackageRawConfigPage < PackagePage; end
class PackageRevisionsPage < PackagePage; end
class PackageAttributesPage < PackagePage; end
class PackageRepositoriesPage < PackagePage; end
class PackageAddFilePage < PackagePage; end
class PackageEditFilePage < PackagePage; end
class GroupIndexPage < BuildServicePage; end
Expand Down
43 changes: 0 additions & 43 deletions src/webui-testsuite/tests/TC04__EditProject.rb
@@ -1,16 +1,6 @@
class TC04__EditProject < TestCase


test :switch_home_project_tabs do
depend_on :create_home_project_for_user

navigate_to ProjectOverviewPage,
:user => $data[:user1],
:project => "home:user1"
switch_tabs
end


test :change_home_project_title do
depend_on :create_home_project_for_user

Expand Down Expand Up @@ -45,16 +35,6 @@ class TC04__EditProject < TestCase
end


test :switch_subproject_tabs do
depend_on :create_subproject_for_user

navigate_to ProjectOverviewPage,
:user => $data[:user1],
:project => "home:user1:SubProject1"
switch_tabs
end


test :change_subproject_title do
depend_on :create_subproject_for_user

Expand Down Expand Up @@ -88,16 +68,6 @@ class TC04__EditProject < TestCase
end


test :switch_global_project_tabs do
depend_on :create_global_project

navigate_to ProjectOverviewPage,
:user => $data[:admin],
:project => "PublicProject1"
switch_tabs
end


test :change_global_project_title do
depend_on :create_global_project

Expand Down Expand Up @@ -132,17 +102,4 @@ class TC04__EditProject < TestCase
end


def switch_tabs
open_tab "attributes"
open_tab "projectconfig"
open_tab "status"
open_tab "overview"
open_tab "repositories"
open_tab "requests"
open_tab "meta"
open_tab "subprojects"
open_tab "users"
end


end
44 changes: 0 additions & 44 deletions src/webui-testsuite/tests/TC11__EditPackage.rb
@@ -1,17 +1,6 @@
class TC11__EditPackage < TestCase


test :switch_home_project_package_tabs do
depend_on :create_home_project_package_for_user

navigate_to PackageOverviewPage,
:user => $data[:user1],
:project => "home:user1",
:package => "HomePackage1"
switch_tabs
end


test :change_home_project_package_title do
depend_on :create_home_project_package_for_user

Expand Down Expand Up @@ -49,17 +38,6 @@ class TC11__EditPackage < TestCase
end


test :switch_subproject_package_tabs do
depend_on :create_subproject_package_for_user

navigate_to PackageOverviewPage,
:user => $data[:user1],
:project => "home:user1:SubProject1",
:package => "SubPackage1"
switch_tabs
end


test :change_subproject_package_title do
depend_on :create_subproject_package_for_user

Expand Down Expand Up @@ -96,17 +74,6 @@ class TC11__EditPackage < TestCase
end


test :switch_global_project_package_tabs do
depend_on :create_global_project_package

navigate_to PackageOverviewPage,
:user => $data[:admin],
:project => "PublicProject1",
:package => "PublicPackage1"
switch_tabs
end


test :change_global_project_package_title do
depend_on :create_global_project_package

Expand Down Expand Up @@ -144,15 +111,4 @@ class TC11__EditPackage < TestCase
end


def switch_tabs
open_tab "attributes"
open_tab "meta"
open_tab "overview"
open_tab "revisions"
open_tab "repositories"
open_tab "requests"
open_tab "users"
end


end
2 changes: 2 additions & 0 deletions src/webui/Gemfile
Expand Up @@ -32,6 +32,8 @@ group :test do
# for save_and_open_page to debug
gem 'launchy'
gem 'headless'
# random hex strings are just so boring
#gem 'faker'
end

gem 'mysql2'
Expand Down
48 changes: 48 additions & 0 deletions src/webui/app/assets/javascripts/project.js
Expand Up @@ -14,3 +14,51 @@ function renderPackagesTable(packages)
} ]
});
}

function autocomplete_repositories(project_name)
{
$('#loader-repo').show();
$('#add_repository_button').attr('disabled', 'true');
$('#target_repo').attr('disabled', 'true');
$('#repo_name').attr('disabled', 'true');
$.ajax({
url: $('#target_repo').data('ajaxurl'),
data: {project: project_name},
success: function(data){
$('#target_repo').html('');
// suggest a name:
$('#repo_name').attr('value', project_name.replace(/:/g,'_') + '_' + data[0]);
var foundoptions = false;
$.each(data, function(idx, val) {
$('#target_repo').append( new Option( val ) );
$('#target_repo').removeAttr('disabled');
$('#repo_name').removeAttr('disabled');
$('#add_repository_button').removeAttr('disabled');
foundoptions = true;
});
if (!foundoptions)
$('#target_repo').append( new Option( 'No repos found') );
},
complete: function(data){
$('#loader-repo').hide();
}
});
}

function repositories_setup_autocomplete()
{
$("#target_project").autocomplete({
source: $('#target_project').data('ajaxurl'),
minLength: 2,
select: function (event, ui) { autocomplete_repositories(ui.item.value); },
change: function () { autocomplete_repositories($('#target_project').attr('value')); },
});

$("#target_project").change(function() {
autocomplete_repositories($('#target_project').attr('value'));
});

$('#target_repo').change(function() {
$('#repo_name').attr('value', $("#target_project").attr('value').replace(/:/g,'_') + '_' + $(this).val());
});
}
15 changes: 9 additions & 6 deletions src/webui/app/controllers/project_controller.rb
Expand Up @@ -632,14 +632,12 @@ def save
end

def save_targets
if (not params.has_key?(:target_project) or params[:target_project].empty?) and
(not params.has_key?(:torepository) or params[:torepository].empty?) and
(not params.has_key?(:repo) or params[:repo].empty?) and
(not params.has_key?(:target_repo) and not params.has_key?(:target_repo_txt) or params[:target_repo_txt].empty?)
if params[:target_project].blank? and params[:torepository].blank? and
params[:repo].blank? and params[:target_repo].blank?
flash[:error] = "Missing arguments for target project or repository"
redirect_to :action => "add_repository_from_default_list", :project => @project and return
end
target_repo = params[:target_repo].blank? ? params[:target_repo_txt] : params[:target_repo]
target_repo = params[:target_repo]

# extend an existing repository with a path
if params.has_key?(:torepository)
Expand All @@ -654,7 +652,12 @@ def save_targets
end
elsif params.has_key?(:repo)
# add new repositories
params[:repo].each do |repo|
repos = params[:repo]
# this interface is a mess
if repos.kind_of? String
repos=[repos]
end
repos.each do |repo|
if !valid_target_name? repo
flash[:error] = "Illegal target name #{repo}."
redirect_to :action => :add_repository_from_default_list, :project => @project and return
Expand Down

0 comments on commit 810291a

Please sign in to comment.