summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2011-04-18 10:59:50 -0500
committerEndi Sukma Dewata <edewata@people01.fedoraproject.org>2011-04-21 19:43:54 +0000
commit3528b4eca3cf2519a6af5a43f6b321cbd8eea138 (patch)
tree8e0ae420440e45429057dd4747a5aaa80eb0d47a
parentbc6f9accd9250114b4f0c457fa5badd7f794af8e (diff)
downloadfreeipa-3528b4eca3cf2519a6af5a43f6b321cbd8eea138.tar.gz
freeipa-3528b4eca3cf2519a6af5a43f6b321cbd8eea138.tar.xz
freeipa-3528b4eca3cf2519a6af5a43f6b321cbd8eea138.zip
Moved adder dialog box into entity.
The adder dialog box definition has been moved from search facet into entity to make it accessible from other facets.
-rw-r--r--install/ui/aci.js97
-rw-r--r--install/ui/automount.js6
-rw-r--r--install/ui/dialog.js19
-rw-r--r--install/ui/dns.js10
-rw-r--r--install/ui/entity.js46
-rw-r--r--install/ui/group.js26
-rw-r--r--install/ui/hbac.js27
-rw-r--r--install/ui/host.js6
-rw-r--r--install/ui/hostgroup.js6
-rw-r--r--install/ui/netgroup.js6
-rw-r--r--install/ui/policy.js6
-rw-r--r--install/ui/search.js2
-rw-r--r--install/ui/service.js10
-rw-r--r--install/ui/sudo.js18
-rw-r--r--install/ui/test/entity_tests.js6
-rw-r--r--install/ui/user.js6
16 files changed, 158 insertions, 139 deletions
diff --git a/install/ui/aci.js b/install/ui/aci.js
index 55d514cf..336a965f 100644
--- a/install/ui/aci.js
+++ b/install/ui/aci.js
@@ -28,20 +28,8 @@ IPA.entity_factories.permission = function() {
return IPA.entity_builder().
entity('permission').
search_facet({
- columns:['cn'],
- add_fields:[
- 'cn',
- {
- factory:IPA.rights_widget,
- name: 'permissions',
- join: true, undo: false
- },
- {
- factory: IPA.target_section,
- name: 'target',
- label: IPA.messages.objects.permission.target,
- undo: false
- }]}).
+ columns:['cn']
+ }).
details_facet({sections:[
{
name:'identity',
@@ -61,6 +49,21 @@ IPA.entity_factories.permission = function() {
label: IPA.messages.objects.permission.target
}]}).
standard_association_facets().
+ adder_dialog({
+ fields:[
+ 'cn',
+ {
+ factory:IPA.rights_widget,
+ name: 'permissions',
+ join: true, undo: false
+ },
+ {
+ factory: IPA.target_section,
+ name: 'target',
+ label: IPA.messages.objects.permission.target,
+ undo: false
+ }]
+ }).
build();
};
@@ -69,8 +72,7 @@ IPA.entity_factories.privilege = function() {
return IPA.entity_builder().
entity('privilege').
search_facet({
- columns:['cn','description'],
- add_fields:['cn', 'description']}).
+ columns:['cn','description']}).
details_facet({
sections:
[{
@@ -90,6 +92,9 @@ IPA.entity_factories.privilege = function() {
remove_method: 'remove_permission'
}).
standard_association_facets().
+ adder_dialog({
+ fields:['cn', 'description']
+ }).
build();
};
@@ -99,8 +104,7 @@ IPA.entity_factories.role = function() {
return IPA.entity_builder().
entity('role').
search_facet({
- columns:['cn','description'],
- add_fields:['cn', 'description']}).
+ columns:['cn','description']}).
details_facet({sections:[
{
name:'identity',
@@ -112,6 +116,9 @@ IPA.entity_factories.role = function() {
remove_method: 'remove_privilege'
}).
standard_association_facets().
+ adder_dialog({
+ fields:['cn', 'description']
+ }).
build();
};
@@ -120,14 +127,7 @@ IPA.entity_factories.selfservice = function() {
return IPA.entity_builder().
entity('selfservice').
search_facet({
- columns:['aciname'],
- add_fields:[
- 'aciname',
- {factory:IPA.attributes_widget,
- object_type:'user',
- name:'attrs',
- undo: false
- }]}).
+ columns:['aciname']}).
details_facet({
sections:[{
name:'general',
@@ -139,6 +139,15 @@ IPA.entity_factories.selfservice = function() {
object_type:'user',
name:'attrs'
}]}]}).
+ adder_dialog({
+ fields:[
+ 'aciname',
+ {factory:IPA.attributes_widget,
+ object_type:'user',
+ name:'attrs',
+ undo: false
+ }]
+ }).
build();
};
@@ -147,23 +156,7 @@ IPA.entity_factories.delegation = function() {
return IPA.entity_builder().
entity('delegation').
search_facet({
- columns:['aciname'],
- add_fields:[
- 'aciname',
- {
- factory:IPA.entity_select_widget,
- name: 'group', entity: 'group', undo: false
- },
- {
- factory:IPA.entity_select_widget,
- name: 'memberof', entity: 'group',
- join: true, undo: false
- },
- {
- factory:IPA.attributes_widget,
- name: 'attrs', object_type: 'user',
- join: true, undo: false
- }]}).
+ columns:['aciname']}).
details_facet({sections:[
{
name:'general',
@@ -185,6 +178,24 @@ IPA.entity_factories.delegation = function() {
join: true
}]}]}).
standard_association_facets().
+ adder_dialog({
+ fields:[
+ 'aciname',
+ {
+ factory:IPA.entity_select_widget,
+ name: 'group', entity: 'group', undo: false
+ },
+ {
+ factory:IPA.entity_select_widget,
+ name: 'memberof', entity: 'group',
+ join: true, undo: false
+ },
+ {
+ factory:IPA.attributes_widget,
+ name: 'attrs', object_type: 'user',
+ join: true, undo: false
+ }]
+ }).
build();
};
diff --git a/install/ui/automount.js b/install/ui/automount.js
index 7cbe4fe0..ca13b72d 100644
--- a/install/ui/automount.js
+++ b/install/ui/automount.js
@@ -30,8 +30,7 @@ IPA.entity_factories.automountlocation = function() {
return IPA.entity_builder().
entity('automountlocation').
search_facet({
- columns:['cn'],
- add_fields:['cn']
+ columns:['cn']
}).
details_facet({sections:[{
name:'identity',
@@ -39,6 +38,9 @@ IPA.entity_factories.automountlocation = function() {
fields:['cn']
}]}).
standard_association_facets().
+ adder_dialog({
+ fields:['cn']
+ }).
build();
};
diff --git a/install/ui/dialog.js b/install/ui/dialog.js
index cba5b1ab..f60db5ca 100644
--- a/install/ui/dialog.js
+++ b/install/ui/dialog.js
@@ -276,12 +276,23 @@ IPA.dialog = function(spec) {
if (field_spec instanceof Object) {
var factory = field_spec.factory || IPA.text_widget;
field = factory(field_spec);
+
+ /* This is a bit of a hack, and is here to support ACI
+ permissions. The target section is a group of several
+ widgets together. It makes more sense to do them as a
+ section than as a widget. However, since they can be mixed
+ into the flow with the other widgets, the section needs to
+ be defined here with the fields to get the order correct.*/
+ if (field.section) {
+ that.add_section(field);
+ } else {
+ that.add_field(field);
+ }
+
} else {
- var field_name = field_spec;
- field = IPA.text_widget({ name: field_name, undo: false });
+ field = IPA.text_widget({ name: field_spec, undo: false });
+ that.add_field(field);
}
-
- that.add_field(field);
}
return that;
diff --git a/install/ui/dns.js b/install/ui/dns.js
index d8998280..4debd368 100644
--- a/install/ui/dns.js
+++ b/install/ui/dns.js
@@ -29,8 +29,7 @@ IPA.entity_factories.dnszone = function() {
return IPA.entity_builder().
entity('dnszone').
search_facet({
- columns:['idnsname'],
- add_fields: ['idnsname','idnssoamname','idnssoarname', {factory:IPA.force_dnszone_add_checkbox_widget}]
+ columns:['idnsname']
}).
details_facet({sections:[{
name:'identity',
@@ -54,6 +53,13 @@ IPA.entity_factories.dnszone = function() {
'label': IPA.metadata.objects.dnsrecord.label
}).
standard_association_facets().
+ adder_dialog({
+ fields: [
+ 'idnsname',
+ 'idnssoamname',
+ 'idnssoarname',
+ {factory:IPA.force_dnszone_add_checkbox_widget}]
+ }).
build();
};
diff --git a/install/ui/entity.js b/install/ui/entity.js
index 2cbed5b6..39ce5735 100644
--- a/install/ui/entity.js
+++ b/install/ui/entity.js
@@ -601,6 +601,13 @@ IPA.entity_builder = function(){
return that;
};
+ that.adder_dialog = function(spec) {
+ spec.factory = spec.factory || IPA.add_dialog;
+ spec.name = spec.name || 'add';
+ spec.title = spec.title || IPA.messages.objects.user.add;
+ return that.dialog(spec);
+ };
+
that.details_facet = function (spec){
var sections = spec.sections;
spec.sections = null;
@@ -628,45 +635,6 @@ IPA.entity_builder = function(){
search_all: spec.search_all || false,
columns: spec.columns
});
-
- var current_dialog =
- IPA.add_dialog({
- 'name': 'add',
- 'title': IPA.messages.objects.user.add,
- entity_name: entity.name
- });
-
- facet.dialog(current_dialog);
-
- var add_fields = spec.add_fields;
- if (add_fields) {
- for (var i = 0; i < add_fields.length; i += 1){
- var field = add_fields[i];
- if (field instanceof Object){
- /* This is a bit of a hack ,and is here to support ACI
- permissions. The target section is a group of secveral
- widgets together. It makes more sense to do them as a
- seciont than as a widgit. However, since they can be mixed
- into the flow with the other widgets, the section needs to
- be definied here with the fields to get the order correct.*/
- var factory;
- if (field.section){
- factory = field.factory;
- field.factory = null;
- field.name = field.section;
- field.section = null;
- current_dialog.add_section(factory(field));
- }else{
- field.entity_name = entity.name;
- factory = field.factory || IPA.text_widget;
- current_dialog.field(factory(field));
- }
- }else{
- current_dialog.text(add_fields[i]);
- }
- }
- }
-
entity.facet(facet);
return that;
};
diff --git a/install/ui/group.js b/install/ui/group.js
index fb07a8cb..e4a037a5 100644
--- a/install/ui/group.js
+++ b/install/ui/group.js
@@ -29,18 +29,7 @@ IPA.entity_factories.group = function () {
return IPA.entity_builder().
entity('group').
search_facet({
- columns:['cn','gidnumber','description'],
- add_fields: [
- 'cn',
- 'description',
- {
- factory:IPA.checkbox_widget,
- name: 'posix',
- label: IPA.messages.objects.group.posix,
- undo: false,
- checked: 'checked'
- },
- 'gidnumber']
+ columns:['cn','gidnumber','description']
}).
details_facet({sections:
[{
@@ -86,5 +75,18 @@ IPA.entity_factories.group = function () {
associator: IPA.serial_associator
}).
standard_association_facets().
+ adder_dialog({
+ fields: [
+ 'cn',
+ 'description',
+ {
+ factory:IPA.checkbox_widget,
+ name: 'posix',
+ label: IPA.messages.objects.group.posix,
+ undo: false,
+ checked: 'checked'
+ },
+ 'gidnumber']
+ }).
build();
};
diff --git a/install/ui/hbac.js b/install/ui/hbac.js
index a0a71340..f0a9e214 100644
--- a/install/ui/hbac.js
+++ b/install/ui/hbac.js
@@ -27,8 +27,14 @@ IPA.entity_factories.hbacrule = function () {
entity('hbacrule').
search_facet({
columns:['cn','usercategory','hostcategory','ipaenabledflag',
- 'servicecategory','sourcehostcategory'],
- add_fields:[
+ 'servicecategory','sourcehostcategory']
+ }).
+ facet({
+ factory: IPA.hbacrule_details_facet,
+ 'name': 'details'
+ }).
+ adder_dialog({
+ fields:[
'cn',
{
factory: IPA.radio_widget,
@@ -41,10 +47,7 @@ IPA.entity_factories.hbacrule = function () {
'label': IPA.messages.objects.hbacrule.deny
}],
'undo': false
- }]}).
- facet({
- factory: IPA.hbacrule_details_facet,
- 'name': 'details'
+ }]
}).
build();
};
@@ -53,12 +56,14 @@ IPA.entity_factories.hbacsvc = function () {
return IPA.entity_builder().
entity('hbacsvc').
search_facet({
- columns:['cn','description'],
- add_fields:['cn','description']}).
+ columns:['cn','description']}).
details_facet({sections:[{
name: 'general',
label: IPA.messages.details.general,
fields:[ 'cn', 'description']}]}).
+ adder_dialog({
+ fields:['cn','description']
+ }).
build();
};
@@ -67,8 +72,7 @@ IPA.entity_factories.hbacsvcgroup = function () {
return IPA.entity_builder().
entity('hbacsvcgroup').
search_facet({
- columns:['cn', 'description'],
- add_fields:['cn', 'description']}).
+ columns:['cn', 'description']}).
details_facet({sections:[
{
name: 'general',
@@ -86,6 +90,9 @@ IPA.entity_factories.hbacsvcgroup = function () {
save_values: false
}]
}]}).
+ adder_dialog({
+ fields:['cn', 'description']
+ }).
build();
};
diff --git a/install/ui/host.js b/install/ui/host.js
index 71e49fba..44479de6 100644
--- a/install/ui/host.js
+++ b/install/ui/host.js
@@ -33,8 +33,7 @@ IPA.entity_factories.host = function () {
name: 'krblastpwdchange',
label: IPA.messages.objects.host.enrolled,
format: IPA.utc_date_column_format
- }],
- add_fields: ['fqdn', {factory:IPA.force_host_add_checkbox_widget}]
+ }]
}).
details_facet({sections:[
{
@@ -87,6 +86,9 @@ IPA.entity_factories.host = function () {
associator: IPA.serial_associator
}).
standard_association_facets().
+ adder_dialog({
+ fields: ['fqdn', {factory:IPA.force_host_add_checkbox_widget}]
+ }).
build();
};
diff --git a/install/ui/hostgroup.js b/install/ui/hostgroup.js
index a1b5ede2..31f4c525 100644
--- a/install/ui/hostgroup.js
+++ b/install/ui/hostgroup.js
@@ -27,8 +27,7 @@ IPA.entity_factories.hostgroup = function() {
return IPA.entity_builder().
entity('hostgroup').
- search_facet({columns:['cn','description'],
- add_fields:['cn','description']}).
+ search_facet({columns:['cn','description']}).
details_facet({sections:[{
name:'identity',
label: IPA.messages.objects.hostgroup.identity,
@@ -39,6 +38,9 @@ IPA.entity_factories.hostgroup = function() {
associator: IPA.serial_associator
}).
standard_association_facets().
+ adder_dialog({
+ fields:['cn','description']
+ }).
build();
};
diff --git a/install/ui/netgroup.js b/install/ui/netgroup.js
index aa614191..197925a8 100644
--- a/install/ui/netgroup.js
+++ b/install/ui/netgroup.js
@@ -26,8 +26,7 @@ IPA.entity_factories.netgroup = function() {
return IPA.entity_builder().
entity('netgroup').
search_facet({
- columns:['cn','description'],
- add_fields:['cn', 'description']}).
+ columns:['cn','description']}).
details_facet({sections:[{
name:'identity',
fields:['cn','description','nisdomainname']}]}).
@@ -36,5 +35,8 @@ IPA.entity_factories.netgroup = function() {
associator: IPA.serial_associator
}).
standard_association_facets().
+ adder_dialog({
+ fields:['cn', 'description']
+ }).
build();
};
diff --git a/install/ui/policy.js b/install/ui/policy.js
index ec2cb78a..bb544177 100644
--- a/install/ui/policy.js
+++ b/install/ui/policy.js
@@ -28,8 +28,7 @@ IPA.entity_factories.pwpolicy = function() {
return IPA.entity_builder().
entity('pwpolicy').
search_facet({
- columns:['cn'],
- add_fields:['cn', 'cospriority']}).
+ columns:['cn']}).
details_facet({
sections:[
{
@@ -38,6 +37,9 @@ IPA.entity_factories.pwpolicy = function() {
'krbpwdmindiffchars','krbpwdminlength']
}]}).
standard_association_facets().
+ adder_dialog({
+ fields:['cn', 'cospriority']
+ }).
build();
};
diff --git a/install/ui/search.js b/install/ui/search.js
index 7f00ebfa..775ae549 100644
--- a/install/ui/search.js
+++ b/install/ui/search.js
@@ -300,7 +300,7 @@ IPA.search_facet = function(spec) {
};
that.add = function() {
- var dialog = that.get_dialog('add');
+ var dialog = that.entity.get_dialog('add');
dialog.open(that.container);
};
diff --git a/install/ui/service.js b/install/ui/service.js
index b8f78c79..daf4e621 100644
--- a/install/ui/service.js
+++ b/install/ui/service.js
@@ -30,12 +30,6 @@ IPA.entity_factories.service = function() {
search_facet({
columns: [ 'krbprincipalname' ]
}).
- dialog({
- factory: IPA.service_add_dialog,
- name: 'add',
- title: IPA.messages.objects.service.add,
- width: '450px'
- }).
details_facet({sections:[
{
name: 'details',
@@ -76,6 +70,10 @@ IPA.entity_factories.service = function() {
remove_method: 'remove_host'
}).
standard_association_facets().
+ adder_dialog({
+ factory: IPA.service_add_dialog,
+ width: '450px'
+ }).
build();
};
diff --git a/install/ui/sudo.js b/install/ui/sudo.js
index 43f364c8..e8489bcb 100644
--- a/install/ui/sudo.js
+++ b/install/ui/sudo.js
@@ -28,13 +28,15 @@ IPA.entity_factories.sudorule = function () {
return IPA.entity_builder().
entity('sudorule').
search_facet({
- columns:['cn','description','cmdcategory'],
- add_fields:['cn']
+ columns:['cn','description','cmdcategory']
}).
facet({
factory: IPA.sudorule_details_facet,
'name': 'details'
}).
+ adder_dialog({
+ fields:['cn']
+ }).
build();
};
@@ -43,8 +45,7 @@ IPA.entity_factories.sudocmd = function () {
return IPA.entity_builder().
entity( 'sudocmd').
search_facet({
- columns:['sudocmd','description'],
- add_fields:['sudocmd','description']}).
+ columns:['sudocmd','description']}).
details_facet({sections:[
{
name: 'general',
@@ -86,6 +87,9 @@ IPA.entity_factories.sudocmd = function () {
]
}]
}]}).
+ adder_dialog({
+ fields:['sudocmd','description']
+ }).
build();
};
@@ -94,8 +98,7 @@ IPA.entity_factories.sudocmdgroup = function () {
return IPA.entity_builder().
entity('sudocmdgroup').
search_facet({
- columns:['cn','description'],
- add_fields:['cn','description']
+ columns:['cn','description']
}).
details_facet({sections:[
{
@@ -138,6 +141,9 @@ IPA.entity_factories.sudocmdgroup = function () {
]
}]
}]}).
+ adder_dialog({
+ fields:['cn','description']
+ }).
build();
};
diff --git a/install/ui/test/entity_tests.js b/install/ui/test/entity_tests.js
index 0adc091f..bf071f87 100644
--- a/install/ui/test/entity_tests.js
+++ b/install/ui/test/entity_tests.js
@@ -36,8 +36,7 @@ module('entity',{
entity_builder().
entity('user').
search_facet({
- columns:['uid'],
- add_fields:[]}).
+ columns:['uid']}).
build();
};
IPA.start_entities();
@@ -67,8 +66,7 @@ test('Testing IPA.entity_set_search_definition().', function() {
entity_builder().
entity('user').
search_facet({
- columns:['uid'],
- add_fields:[]}).
+ columns:['uid']}).
build();
entity.init();
diff --git a/install/ui/user.js b/install/ui/user.js
index 392ac533..7c348214 100644
--- a/install/ui/user.js
+++ b/install/ui/user.js
@@ -30,7 +30,6 @@ IPA.entity_factories.user = function() {
entity('user').
search_facet({
columns:['uid','cn','uidnumber','mail','telephonenumber','title'],
- add_fields: ['uid','givenname','sn'],
search_all: true
}).
details_facet({sections:[
@@ -79,7 +78,10 @@ IPA.entity_factories.user = function() {
name: 'memberof_role',
associator: IPA.serial_associator
}).
- standard_association_facets();
+ standard_association_facets().
+ adder_dialog({
+ fields: ['uid','givenname','sn']
+ });
var entity = builder.build();