summaryrefslogtreecommitdiffstats
path: root/install/ui/user.js
diff options
context:
space:
mode:
authorAdam Young <ayoung@redhat.com>2011-03-18 16:43:54 -0400
committerAdam Young <ayoung@redhat.com>2011-03-31 17:29:33 -0400
commit4270e26adb56b6d1b7a9e80433581b82519d9eec (patch)
treedcb0982b741d92c0be37e262e70b7cd0969e06d0 /install/ui/user.js
parentdb91321fd2c94680361ae8196ba9227615f92c39 (diff)
downloadfreeipa-4270e26adb56b6d1b7a9e80433581b82519d9eec.tar.gz
freeipa-4270e26adb56b6d1b7a9e80433581b82519d9eec.tar.xz
freeipa-4270e26adb56b6d1b7a9e80433581b82519d9eec.zip
define entities using builder and more declarative syntax
merged hbac and sudo in to single files associaton facet and table supports linking
Diffstat (limited to 'install/ui/user.js')
-rw-r--r--install/ui/user.js132
1 files changed, 59 insertions, 73 deletions
diff --git a/install/ui/user.js b/install/ui/user.js
index 8e1cb3f91..0ea3acf29 100644
--- a/install/ui/user.js
+++ b/install/ui/user.js
@@ -23,81 +23,67 @@
/* REQUIRES: ipa.js, details.js, search.js, add.js, entity.js */
-IPA.entity_factories.user = function() {
- return IPA.entity({
- name: 'user'
- }).
- facet(
- IPA.search_facet().
- column({name:'uid'}).
- column({name:'cn'}).
- column({name:'uidnumber'}).
- column({name:'mail'}).
- column({name:'telephonenumber'}).
- column({name:'title'}).
- dialog(
- IPA.add_dialog({
- 'name': 'add',
- 'title': IPA.messages.objects.user.add
- }).
- field(IPA.text_widget({ name: 'uid', undo: false })).
- field(IPA.text_widget({ name: 'givenname', undo: false })).
- field(IPA.text_widget({ name: 'sn', undo: false })))).
- facet(IPA.details_facet().
- section(
- IPA.stanza({name: 'identity', label: IPA.messages.details.identity}).
- input({name:'title'}).
- input({name:'givenname'}).
- input({name:'sn'}).
- input({name:'cn'}).
- input({name:'displayname'}).
- input({name:'initials'})).
- section(
- IPA.stanza({name: 'account', label: IPA.messages.objects.user.account}).
- custom_input(IPA.user_status_widget({name:'nsaccountlock'})).
- input({name:'uid'}).
- custom_input(IPA.user_password_widget({name:'userpassword'})).
- input({name:'uidnumber'}).
- input({name:'gidnumber'}).
- input({name:'loginshell'}).
- input({name:'homedirectory'})).
- section(
- IPA.stanza({name: 'contact', label: IPA.messages.objects.user.contact}).
- multivalued_text({name:'mail'}).
- multivalued_text({name:'telephonenumber'}).
- multivalued_text({name:'pager'}).
- multivalued_text({name:'mobile'}).
- multivalued_text({name:'facsimiletelephonenumber'})).
- section(
- IPA.stanza({name: 'mailing', label: IPA.messages.objects.user.mailing}).
- input({name:'street'}).
- input({name:'l'}).
- input({name:'st'}).
- input({name:'postalcode'})).
- section(
- IPA.stanza({name: 'employee', label: IPA.messages.objects.user.employee}).
- input({name:'ou'}).
- input({name:'manager'})).
- section(
- IPA.stanza({name: 'misc', label: IPA.messages.objects.user.misc}).
- input({name:'carlicense'}))).
- facet(
- IPA.association_facet({
- name: 'memberof_group',
- associator: IPA.serial_associator
- })).
- facet(
- IPA.association_facet({
- name: 'memberof_netgroup',
- associator: IPA.serial_associator
- })).
- facet(
- IPA.association_facet({
- name: 'memberof_role',
- associator: IPA.serial_associator
- })).
+IPA.entity_factories.user = function() {
+ var builder = IPA.entity_builder();
+ builder.
+ entity('user').
+ search_facet({
+ columns:['uid','cn','uidnumber','mail','telephonenumber','title'],
+ add_fields: ['uid','givenname','sn']
+ }).
+ details_facet([
+ {
+ section: 'identity',
+ label: IPA.messages.details.identity,
+ fields:['title','givenname','sn','cn','displayname', 'initials']
+ },
+ {
+ section: 'account',
+ fields:[{factory:IPA.user_status_widget,name:'nsaccountlock'},
+ 'uid',
+ {factory: IPA.user_password_widget,name:'userpassword'},
+ 'uidnumber','gidnumber','loginshell','homedirectory']
+ },
+ {
+ section: 'contact',
+ fields:
+ [ {factory: IPA.multivalued_text_widget, name:'mail'},
+ {factory: IPA.multivalued_text_widget, name:'telephonenumber'},
+ {factory: IPA.multivalued_text_widget, name:'pager'},
+ {factory: IPA.multivalued_text_widget, name:'mobile'},
+ {factory: IPA.multivalued_text_widget, name:'facsimiletelephonenumber'}]
+ },
+ {
+ section: 'mailing',
+ fields: ['street','l','st','postalcode']
+ },
+ {
+ section: 'employee',
+ fields: ['ou','manager']
+ },
+ {
+ section: 'misc',
+ fields:['carlicense']
+ }]).
+ association_facet({
+ name: 'memberof_group',
+ associator: IPA.serial_associator
+ }).
+ association_facet({
+ name: 'memberof_netgroup',
+ associator: IPA.serial_associator
+ }).
+ association_facet({
+ name: 'memberof_role',
+ associator: IPA.serial_associator
+ }).
standard_associations();
+
+
+ var entity = builder.build();
+
+ return entity;
};
/* ATTRIBUTE CALLBACKS */