| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 |
1
1
1
1
3
3
3
3
3
3
1
1
| 'use strict';
;require.register("models/authentication", function (exports, require, module) {
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
App.Authentication = DS.Model.extend({
method: DS.attr('boolean'), // use LDAP
primaryServer: DS.attr('string'),
secondaryServer: DS.attr('string'),
useSsl: DS.attr('boolean'),
bindMethod: DS.attr('boolean'), // use credentials
bindUser: DS.attr('string'),
password: DS.attr('string'),
passwordRetype: DS.attr('string'),
searchBaseDn: DS.attr('string'),
usernameAttribute: DS.attr('string')
});
App.Authentication.FIXTURES = [{
id: 1,
method: 0,
primary_server: "",
secondary_server: "",
use_ssl: false,
bind_method: 0,
bind_user: "",
password: "",
password_retype: "",
search_base_dn: "",
username_attribute: ""
}];
App.AuthenticationForm = App.Form.extend({
testResult: false,
fieldsOptions: [{ name: "method", displayName: "", isRequired: false, displayType: "select",
values: [{ value: 0, label: Em.I18n.t("admin.authentication.form.method.database") }, { value: 1, label: Em.I18n.t("admin.authentication.form.method.ldap") }]
}, { name: "primaryServer", displayName: Em.I18n.t("admin.authentication.form.primaryServer"), /*validator:'ipaddress',*/
isRequired: function () {
return this.get('form.field.method.value');
}.property('form.field.method.value')
}, { name: "secondaryServer", displayName: Em.I18n.t("admin.authentication.form.secondaryServer"), /*validator:'ipaddress',*/isRequired: false }, { name: "useSsl", displayName: Em.I18n.t("admin.authentication.form.useSsl"), displayType: "checkbox", isRequired: false }, { name: "bindMethod", displayName: '', displayType: "select", isRequired: false,
values: [{ value: 0, label: Em.I18n.t("admin.authentication.form.bind.anonymously") }, { value: 1, label: Em.I18n.t("admin.authentication.form.bind.useCrenedtials") }] }, { name: "bindUser", displayName: Em.I18n.t('admin.authentication.form.bindUserDN'), isRequired: function () {
return this.get('form.field.bindMethod.value');
}.property('form.field.bindMethod.value') }, { name: "password", displayName: Em.I18n.t('common.password'), displayType: "password",
isRequired: function () {
return this.get('form.field.bindMethod.value');
}.property('form.field.bindMethod.value') }, { name: "passwordRetype", displayName: Em.I18n.t('form.passwordRetype'), displayType: "password",
validator: "passwordRetype",
isRequired: function () {
return this.get('form.field.bindMethod.value');
}.property('form.field.bindMethod.value') }, { name: "searchBaseDn", displayName: Em.I18n.t('admin.authentication.form.searchBaseDN'),
isRequired: function () {
return this.get('form.field.method.value');
}.property('form.field.method.value')
}, { name: "usernameAttribute", displayName: Em.I18n.t('admin.authentication.form.usernameAttribute'),
isRequired: function () {
return this.get('form.field.method.value');
}.property('form.field.method.value')
}, { name: "userDN", displayName: Em.I18n.t('admin.authentication.form.userDN') }, { name: "userPassword", displayName: Em.I18n.t('common.password'), displayType: 'password' }],
fields: [],
testConfiguration: function testConfiguration() {
this.set('testResult', parseInt(Math.random() * 2));
return true;
},
testConfigurationMessage: Em.computed.ifThenElse('testResult', Em.I18n.t('admin.authentication.form.test.success'), Em.I18n.t('admin.authentication.form.test.fail')),
testConfigurationClass: Em.computed.ifThenElse('testResult', 'text-success', 'text-danger')
});
}); |