Spaces:
No application file
No application file
| //UserBundle | |
| Mautic.userOnLoad = function (container) { | |
| if (mQuery(container + ' form[name="user"]').length) { | |
| if (mQuery('#user_position').length) { | |
| Mautic.activateTypeahead('#user_position', {displayKey: 'position'}); | |
| } | |
| } else { | |
| if (mQuery(container + ' #list-search').length) { | |
| Mautic.activateSearchAutocomplete('list-search', 'user.user'); | |
| } | |
| } | |
| }; | |
| Mautic.roleOnLoad = function (container, response) { | |
| if (mQuery(container + ' #list-search').length) { | |
| Mautic.activateSearchAutocomplete('list-search', 'user.role'); | |
| } | |
| if (response && response.permissionList) { | |
| MauticVars.permissionList = response.permissionList; | |
| } | |
| }; | |
| /** | |
| * Toggles permission panel visibility for roles | |
| */ | |
| Mautic.togglePermissionVisibility = function () { | |
| //add a very slight delay in order for the clicked on checkbox to be selected since the onclick action | |
| //is set to the parent div | |
| setTimeout(function () { | |
| if (mQuery('#role_isAdmin_0').prop('checked')) { | |
| mQuery('#rolePermissions').removeClass('hide'); | |
| mQuery('#isAdminMessage').addClass('hide'); | |
| } else { | |
| mQuery('#rolePermissions').addClass('hide'); | |
| mQuery('#isAdminMessage').removeClass('hide'); | |
| } | |
| }, 10); | |
| }; | |
| /** | |
| * Toggle permissions, update ratio, etc | |
| * | |
| * @param changedPermission | |
| * @param bundle | |
| */ | |
| Mautic.onPermissionChange = function (changedPermission, bundle) { | |
| var granted = 0; | |
| if (mQuery(changedPermission).prop('checked')) { | |
| if (mQuery(changedPermission).val() == 'full') { | |
| //uncheck all of the others | |
| mQuery(changedPermission).closest('.choice-wrapper').find("label input:checkbox:checked").map(function () { | |
| if (mQuery(this).val() != 'full') { | |
| mQuery(this).prop('checked', false); | |
| mQuery(this).parent().toggleClass('active'); | |
| } | |
| }) | |
| } else { | |
| //uncheck full | |
| mQuery(changedPermission).closest('.choice-wrapper').find("label input:checkbox:checked").map(function () { | |
| if (mQuery(this).val() == 'full') { | |
| granted = granted - 1; | |
| mQuery(this).prop('checked', false); | |
| mQuery(this).parent().toggleClass('active'); | |
| } | |
| }) | |
| } | |
| } | |
| //update granted numbers | |
| if (mQuery('.' + bundle + '_granted').length) { | |
| var granted = 0; | |
| var levelPerms = MauticVars.permissionList[bundle]; | |
| mQuery.each(levelPerms, function(level, perms) { | |
| mQuery.each(perms, function(index, perm) { | |
| var isChecked = mQuery('input[data-permission="' + bundle + ':' + level + ':' + perm + '"]').prop('checked'); | |
| if (perm == 'full') { | |
| if (isChecked) { | |
| if (perms.length === 1) { | |
| granted++; | |
| } else { | |
| granted += perms.length - 1; | |
| } | |
| } | |
| } else if (isChecked) { | |
| granted++; | |
| } | |
| }); | |
| }); | |
| mQuery('.' + bundle + '_granted').html(granted); | |
| } | |
| }; |