summaryrefslogtreecommitdiffstats
path: root/client/components/main
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2018-10-03 11:50:52 +0300
committerLauri Ojansivu <x@xet7.org>2018-10-03 11:50:52 +0300
commit288800eafc91d07f859c4f59588e0b646137ccb9 (patch)
tree063166a4d05c48bf388f6836defc930e37e4e97f /client/components/main
parent18a1d4c5c63bb8264dee15432e3c4d88d54d51b1 (diff)
downloadwekan-288800eafc91d07f859c4f59588e0b646137ccb9.tar.gz
wekan-288800eafc91d07f859c4f59588e0b646137ccb9.tar.bz2
wekan-288800eafc91d07f859c4f59588e0b646137ccb9.zip
- Add LDAP. In progress.
Thanks to maximest-pierre, Akuket and xet. Related #119
Diffstat (limited to 'client/components/main')
-rw-r--r--client/components/main/layouts.jade1
-rw-r--r--client/components/main/layouts.js41
2 files changed, 41 insertions, 1 deletions
diff --git a/client/components/main/layouts.jade b/client/components/main/layouts.jade
index ac7da3af..68876dc5 100644
--- a/client/components/main/layouts.jade
+++ b/client/components/main/layouts.jade
@@ -18,6 +18,7 @@ template(name="userFormsLayout")
img(src="{{pathFor '/wekan-logo.png'}}" alt="Wekan")
section.auth-dialog
+Template.dynamic(template=content)
+ +connectionMethod
if isCas
.at-form
button#cas(class='at-btn submit' type='submit') {{casSignInLabel}}
diff --git a/client/components/main/layouts.js b/client/components/main/layouts.js
index 6d6e616d..1d3c3690 100644
--- a/client/components/main/layouts.js
+++ b/client/components/main/layouts.js
@@ -39,7 +39,7 @@ Template.userFormsLayout.helpers({
const curLang = T9n.getLanguage() || 'en';
return t9nTag === curLang;
},
-
+/*
isCas() {
return Meteor.settings.public &&
Meteor.settings.public.cas &&
@@ -49,6 +49,7 @@ Template.userFormsLayout.helpers({
casSignInLabel() {
return TAPi18n.__('casSignIn', {}, T9n.getLanguage() || 'en');
},
+*/
});
Template.userFormsLayout.events({
@@ -64,6 +65,44 @@ Template.userFormsLayout.events({
}
});
},
+ 'submit form'(event) {
+ const connectionMethod = $('.select-connection').val();
+
+ // Local account
+ if (connectionMethod === 'default') {
+ return;
+ }
+
+ // TODO : find a way to block "submit #at-pwd-form" of the at_pwd_form.js
+
+ const inputs = event.target.getElementsByTagName('input');
+
+ const email = inputs.namedItem('at-field-username_and_email').value;
+ const password = inputs.namedItem('at-field-password').value;
+
+ // Ldap account
+ if (connectionMethod === 'ldap') {
+ // Check if the user can use the ldap connection
+ Meteor.subscribe('user-connection-method', email, {
+ onReady() {
+ const ldap = Users.findOne();
+
+ if (ldap) {
+ // Use the ldap connection package
+ Meteor.loginWithLDAP(email, password, function(error) {
+ if (!error) {
+ // Connection
+ return FlowRouter.go('/');
+ } else {
+ return error;
+ }
+ });
+ }
+ return this.stop();
+ },
+ });
+ }
+ },
});
Template.defaultLayout.events({