Skip to content

Commit

Permalink
fixed issues with JS and updated other org selection areas to use new…
Browse files Browse the repository at this point in the history
… JS (#1805)

updates to JS for org selection cahnges in PR#1778
  • Loading branch information
briri authored and xsrust committed Aug 22, 2018
1 parent c6fffca commit 20356ff
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 17 deletions.
11 changes: 9 additions & 2 deletions lib/assets/javascripts/views/devise/registrations/edit.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import ariatiseForm from '../../../utils/ariatiseForm';
import initMyOrgCombobox from '../../shared/my_org';
import { initOrgSelection, validateOrgSelection } from '../../shared/my_org';
import { isString } from '../../../utils/isType';
import { isValidPassword } from '../../../utils/isValidInputType';
import { addMatchingPasswordValidator, togglisePasswords } from '../../../utils/passwordHelper';
Expand All @@ -10,7 +10,14 @@ $(() => {
ariatiseForm({ selector: '#preferences_registration_form' });
addMatchingPasswordValidator({ selector: '#password_details_registration_form' });
togglisePasswords({ selector: '#password_details_registration_form' });
initMyOrgCombobox({ selector: '#org-controls' });
initOrgSelection({ selector: '#org-controls' });

$('#personal_details_registration_form').on('submit', (e) => {
// Additional validation to force the user to choose an org or type something for other
if (!validateOrgSelection({ selector: '#personal_details_registration_form' })) {
e.preventDefault();
}
});

const sensitiveInfoCheck = (event) => {
const originalEmail = $('#original_email').val();
Expand Down
11 changes: 9 additions & 2 deletions lib/assets/javascripts/views/orgs/shibboleth_ds.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
import ariatiseForm from '../../utils/ariatiseForm';
import getConstant from '../../constants';
import initMyOrgCombobox from '../shared/my_org';
import { initOrgSelection, validateOrgSelection } from '../shared/my_org';

$(() => {
ariatiseForm({ selector: '#shibboleth_ds' });
initMyOrgCombobox({ selector: '#personal_details_registration_form' });
initOrgSelection({ selector: '#personal_details_registration_form' });

$('#personal_details_registration_form').on('submit', (e) => {
// Additional validation to force the user to choose an org or type something for other
if (!validateOrgSelection({ selector: '#personal_details_registration_form' })) {
e.preventDefault();
}
});

$('#show_list').click((e) => {
e.preventDefault();
Expand Down
8 changes: 3 additions & 5 deletions lib/assets/javascripts/views/shared/create_account_form.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
import ariatiseForm from '../../utils/ariatiseForm';
import { togglisePasswords } from '../../utils/passwordHelper';
import { validateOrgSelection } from '../shared/my_org';
import { initOrgSelection, validateOrgSelection } from './my_org';

$(() => {
const options = { selector: '#create-account-form' };
ariatiseForm(options);
togglisePasswords(options);
initOrgSelection(options);

$('#create_account_form').on('submit', (e) => {
// Additional validation to force the user to choose an org or type something for other
if (validateOrgSelection()) {
$('#help-org').hide();
} else {
if (!validateOrgSelection(options)) {
e.preventDefault();
$('#help-org').show();
}
});
});
20 changes: 15 additions & 5 deletions lib/assets/javascripts/views/shared/my_org.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { isObject } from '../../utils/isType';
import { isValidText } from '../../utils/isValidInputType';

export default (options) => {
export const initOrgSelection = (options) => {
if (isObject(options) && options.selector) {
const div = $(options.selector);

Expand Down Expand Up @@ -52,9 +52,19 @@ export default (options) => {
}
};

export const validateOrgSelection = () => {
const orgId = $('[name="user[org_id]"]');
const otherOrg = $('[name="user[other_organisation]"]');
export const validateOrgSelection = (options) => {
if (isObject(options) && options.selector) {
const orgId = $(`${options.selector} [name="user[org_id]"]`);
const otherOrg = $(`${options.selector} [name="user[other_organisation]"]`);

return isValidText(orgId.val()) || isValidText(otherOrg.val());
if (isObject(orgId) || isObject(otherOrg)) {
if (isValidText(orgId.val()) || isValidText(otherOrg.val())) {
$('#help-org').hide();
return true;
}
$('#help-org').show();
return false;
}
}
return false;
};
14 changes: 11 additions & 3 deletions lib/assets/javascripts/views/super_admin/users/edit.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
import ariatiseForm from '../../../utils/ariatiseForm';
import initMyOrgCombobox from '../../shared/my_org';
import { initOrgSelection, validateOrgSelection } from '../../shared/my_org';

$(() => {
ariatiseForm({ selector: '#super_admin_user_edit' });
initMyOrgCombobox({ selector: '#super_admin_user_edit' });
const options = { selector: '#super_admin_user_edit' };
ariatiseForm(options);
initOrgSelection(options);

$('#super_admin_user_edit').on('submit', (e) => {
// Additional validation to force the user to choose an org or type something for other
if (!validateOrgSelection(options)) {
e.preventDefault();
}
});
});

0 comments on commit 20356ff

Please sign in to comment.