summaryrefslogtreecommitdiffstats
path: root/install/static/user.js
diff options
context:
space:
mode:
Diffstat (limited to 'install/static/user.js')
-rw-r--r--install/static/user.js146
1 files changed, 87 insertions, 59 deletions
diff --git a/install/static/user.js b/install/static/user.js
index 21619ec5..8eb41206 100644
--- a/install/static/user.js
+++ b/install/static/user.js
@@ -20,71 +20,99 @@
/* REQUIRES: ipa.js, details.js, search.js, add.js, entity.js */
-ipa_entity_set_search_definition('user', [
- ['cn', 'Name', null],
- ['uid', 'Login', null],
- ['uidnumber', 'UID', null],
- ['mail', 'EMAIL', null],
- ['telephonenumber', 'Phone', null],
- ['title', 'Job Title', null]
-]);
-
-ipa_entity_set_add_definition('user', [
- 'dialog-add-user', 'Add New User', [
- ['uid', 'Login', null],
- ['givenname', 'First Name', null],
- ['sn', 'Last Name', null]
- ]
-]);
-
-
-ipa_entity_set_details_definition('user', [
- ipa_stanza({name:'identity', label:'Identity Details'}).
- input({name:'title', label: 'Title'}).
- input({name:'givenname'}).
- input({name:'sn'}).
- input({name:'cn', label:'Full Name'}).
- input({name:'displayname', label:'Display Name'}).
- input({name:'initials', label:'Initials'}),
- ipa_stanza({name:'account', label:'Account Details'}).
- input({name:'nsaccountlock', label:'Account Status',
- load:user_status_load}).
- input({name:'uid'}).
- input({name:'userpassword',
- load: user_password_load}).
- input({name:'uidnumber'}).
- input({name:'gidnumber', label:'GID'}).
- input({name:'loginshell'}).
- input({name:'homedirectory'}),
- ipa_stanza({name:'contact', label:'Contact Details'}).
- input({name:'mail'}).
- input({name:'telephonenumber'}).
- input({name:'pager'}).
- input({name:'mobile'}).
- input({name:'facsimiletelephonenumber'}),
- ipa_stanza({name:'address', label:'Mailing Address'}).
- input({name:'street'}).
- input({name:'location', label:'City'}).
- input({name:'state', label:'State', load:user_state_load}).
- input({name:'postalcode', label:'ZIP'}),
- ipa_stanza({name:'employee', label:'Employee Information'}).
- input({name:'ou', label:'Org. Unit'}).
- input({name:'manager', label:'Manager'}),
- ipa_stanza({name:'misc', label:'Misc. Information'}).
- input({name:'carlicense', label:'Car License'})
-]);
+function ipa_user(){
+ var that = ipa_entity({
+ name: 'user'
+ });
+ that.init = function() {
+ var search_facet = ipa_search_facet({
+ 'name': 'search',
+ 'label': 'Search',
+ entity_name: that.name
+ });
+ search_facet.create_column({name:'cn'});
+ search_facet.create_column({name:'uid'});
+ search_facet.create_column({name:'uidnumber'});
+ search_facet.create_column({name:'mail'});
+ search_facet.create_column({name:'telephonenumber'});
+ search_facet.create_column({name:'title'});
+ that.add_facet(search_facet);
+
+
+ that.add_facet(details_facet({name:'details',label:'Details'}));
+
+ var dialog = ipa_add_dialog({
+ 'name': 'add',
+ 'title': 'Add User'
+ });
+
+ that.add_dialog(dialog);
+ dialog.init();
+ dialog.add_field(ipa_text_widget({ name: 'uid',entity_name:'user' }));
+ dialog.add_field(ipa_text_widget({ name: 'givenname',
+ entity_name:'user' }));
+ dialog.add_field(ipa_text_widget({ name: 'sn',entity_name:'user' }));
+
+ /*eventually, we need to call
+ entity.create_association_facets();
+ but we are currently defining the associator using the global
+ function after the registration of the entity */
+
+
+ that.entity_init();
+ }
+
+ function details_facet(spec) {
+ spec = spec || {};
+ var that = ipa_details_facet(spec);
+
+ var sections =[
+ ipa_stanza({name:'identity', label:'Identity Details'}).
+ input({name:'title'}).
+ input({name:'givenname'}).
+ input({name:'sn'}).
+ input({name:'cn'}).
+ input({name:'displayname'}).
+ input({name:'initials'}),
+ ipa_stanza({name:'account', label:'Account Details'}).
+ input({name:'nsaccountlock', load:user_status_load}).
+ input({name:'uid'}).
+ input({name:'userpassword', load: user_password_load}).
+ input({name:'uidnumber'}).
+ input({name:'gidnumber'}).
+ input({name:'loginshell'}).
+ input({name:'homedirectory'}),
+ ipa_stanza({name:'contact', label:'Contact Details'}).
+ input({name:'mail'}).
+ input({name:'telephonenumber'}).
+ input({name:'pager'}).
+ input({name:'mobile'}).
+ input({name:'facsimiletelephonenumber'}),
+ ipa_stanza({name:'address', label:'Mailing Address'}).
+ input({name:'street'}).
+ input({name:'location'}).
+ input({name:'state', load:user_state_load}).
+ input({name:'postalcode'}),
+ ipa_stanza({name:'employee', label:'Employee Information'}).
+ input({name:'ou', label:'Org. Unit'}).
+ input({name:'manager'}),
+ ipa_stanza({name:'misc', label:'Misc. Information'}).
+ input({name:'carlicense'})
+ ];
+ for (var i = 0; i < sections.length; i += 1){
+ that.add_section(sections[i]);
+ }
+ return that;
+ }
+ return that;
+}
+IPA.add_entity(ipa_user());
ipa_entity_set_association_definition('user', {
'group': { associator: 'serial' },
'netgroup': { associator: 'serial' },
- 'rolegroup': { associator: 'serial' },
- 'taskgroup': { associator: 'serial' }
});
-
-
-
-
/* ATTRIBUTE CALLBACKS */