diff --git a/install/ui/associate.js b/install/ui/associate.js index eb4a5a056..f7ac1505e 100644 --- a/install/ui/associate.js +++ b/install/ui/associate.js @@ -707,7 +707,7 @@ IPA.association_facet = function (spec) { that.columns = $.ordered_map(); that.adder_columns = $.ordered_map(); - that.page_length = 20; + that.page_length = spec.page_length === undefined ? 20 : spec.page_length; that.get_column = function(name) { return that.columns.get(name); @@ -1107,21 +1107,62 @@ IPA.association_facet = function (spec) { return that; }; +IPA.indirect_association_facet = function (spec) { -IPA.deleter_dialog_setup = function () { + spec = spec || {}; - var that = this; + spec.page_length = 0; + spec.read_only = true; - var ul = $('
'+error_thrown.message+'
'); - } - - var filter = []; var current_entity = entity; filter.unshift($.bbq.getState(current_entity.name+'-filter')); @@ -336,7 +328,7 @@ IPA.search_facet = function(spec) { all: that.search_all }, on_success: on_success, - on_error: on_error + on_error: that.on_error }); command.execute(); diff --git a/install/ui/test/functional/group-add-nested-groups.html b/install/ui/test/functional/group-add-nested-groups.html new file mode 100644 index 000000000..7d9618693 --- /dev/null +++ b/install/ui/test/functional/group-add-nested-groups.html @@ -0,0 +1,91 @@ + + + + + + +| Add Group | ||
| open | +/ipa/ui/#navigation=identity&identity=group | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| verifyElementNotPresent | +css=.entity[name='group'] .facet[name='search'] input[value='testgroup2'] | ++ |
| verifyElementNotPresent | +css=.entity[name='group'] .facet[name='search'] input[value='testgroup3'] | ++ |
| click | +link=Add | ++ |
| type | +cn | +testgroup2 | +
| type | +description | +Test Group 2 | +
| click | +//button[2] | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| type | +cn | +testgroup3 | +
| type | +description | +Test Group 3 | +
| click | +//button[1] | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| verifyElementPresent | +css=.entity[name='group'] .facet[name='search'] input[value='testgroup2'] | ++ |
| verifyElementPresent | +css=.entity[name='group'] .facet[name='search'] input[value='testgroup3'] | ++ |
| Add Member User | ||
| open | +/ipa/ui/#navigation=identity&identity=group | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| verifyElementPresent | +css=.entity[name='group'] .facet[name='search'] input[value='testgroup'] | ++ |
| click | +link=testgroup | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +member_group | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +css=.entity[name='group'] .facet[name='member_group'] a[title='Enroll'] | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +css=.ui-dialog div[name='available'] input[value='testgroup2'] | ++ |
| click | +link=>> | ++ |
| click | +//button[@type='button'] | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| verifyElementPresent | +css=.entity[name='group'] .facet[name='member_group'] input[value='testgroup2'] | ++ |
| click | +css=.entity[name='group'] .back-link | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +link=testgroup2 | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +member_group | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +css=.entity[name='group'] .facet[name='member_group'] a[title='Enroll'] | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +css=.ui-dialog div[name='available'] input[value='testgroup3'] | ++ |
| click | +link=>> | ++ |
| click | +//button[@type='button'] | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| verifyElementPresent | +css=.entity[name='group'] .facet[name='member_group'] input[value='testgroup3'] | ++ |
| Delete Group | ||
| open | +/ipa/ui/#navigation=identity&identity=group | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| verifyElementPresent | +css=.entity[name='group'] .facet[name='search'] input[value='testgroup2'] | ++ |
| verifyElementPresent | +css=.entity[name='group'] .facet[name='search'] input[value='testgroup3'] | ++ |
| click | +//input[@name='select' and @value='testgroup2'] | ++ |
| click | +//input[@name='select' and @value='testgroup3'] | ++ |
| click | +link=Delete | ++ |
| click | +//button[@type='button'] | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| verifyElementNotPresent | +css=.entity[name='group'] .facet[name='search'] input[value='testgroup2'] | ++ |
| verifyElementNotPresent | +css=.entity[name='group'] .facet[name='search'] input[value='testgroup3'] | ++ |
| Delete Member User | ||
| open | +/ipa/ui/#navigation=identity&identity=group | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| verifyElementPresent | +css=.entity[name='group'] .facet[name='search'] input[value='testgroup'] | ++ |
| click | +link=testgroup2 | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +member_group | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +css=.entity[name='group'] .facet[name='member_group'] input[value='testgroup3'] | ++ |
| click | +css=.entity[name='group'] .facet[name='member_group'] a[title='Delete'] | ++ |
| click | +//button[1] | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| verifyElementNotPresent | +css=.entity[name='group'] .facet[name='member_group'] input[value='testgroup3'] | ++ |
| click | +css=.entity[name='group'] .back-link | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +link=testgroup | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +member_group | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +css=.entity[name='group'] .facet[name='member_group'] input[value='testgroup2'] | ++ |
| click | +css=.entity[name='group'] .facet[name='member_group'] a[title='Delete'] | ++ |
| click | +//button[1] | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| verifyElementNotPresent | +css=.entity[name='group'] .facet[name='member_group'] input[value='testgroup2'] | ++ |
| Add Member User | ||
| open | +/ipa/ui/#navigation=identity&identity=group | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +link=testgroup | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +memberindirect_group | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| verifyElementNotPresent | +css=.entity[name='group'] .facet[name='memberindirect_group'] input[value='testgroup2'] | ++ |
| verifyElementPresent | +css=.entity[name='group'] .facet[name='memberindirect_group'] input[value='testgroup3'] | ++ |
| click | +css=.entity[name='group'] .back-link | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +link=testgroup2 | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| click | +memberindirect_group | ++ |
| waitForNotVisible | +//span[@id='header-network-activity-indicator'] | ++ |
| verifyElementNotPresent | +css=.entity[name='group'] .facet[name='memberindirect_group'] input[value='testgroup3'] | ++ |
diff --git a/install/ui/test/functional/group-verify-indirect-member-groups.html b/install/ui/test/functional/group-verify-indirect-member-groups.html new file mode 100644 index 000000000..a7a9d2577 --- /dev/null +++ b/install/ui/test/functional/group-verify-indirect-member-groups.html @@ -0,0 +1,93 @@ + + + +
+ + +
+ +
+