Skip to content
Code-Schnipsel Gruppen Projekte
Registration.js 3,82 KiB
Newer Older
  • Learn to ignore specific revisions
  • Patrick Müller's avatar
    Patrick Müller committed
    /**
     * @module package/quiqqer/frontend-users/bin/frontend/classes/Registration
     * @author www.pcsg.de (Henning Leutz)
     */
    define('package/quiqqer/frontend-users/bin/frontend/classes/Registration', [
    
    
        'qui/QUI',
        'Locale',
    
    Patrick Müller's avatar
    Patrick Müller committed
        'Ajax'
    
    
    ], function (QUI, QUILocale, QUIAjax) {
    
    Patrick Müller's avatar
    Patrick Müller committed
        "use strict";
    
    
        var pkg = 'quiqqer/frontend-users';
    
    Patrick Müller's avatar
    Patrick Müller committed
        return new Class({
    
            Type: 'package/quiqqer/frontend-users/bin/frontend/classes/Registration',
    
            /**
             * Validate QUIQQER username
             *
             * @param {String} username
    
             * @return {Promise} - returns true if username is taken; false otherwise
    
    Patrick Müller's avatar
    Patrick Müller committed
             */
            validateUsername: function (username) {
                return new Promise(function (resolve, reject) {
    
                    QUIAjax.get('package_quiqqer_frontend-users_ajax_frontend_registrars_userExists', resolve, {
                        'package': pkg,
                        username : username,
                        onError  : reject
    
    Patrick Müller's avatar
    Patrick Müller committed
                    });
                });
    
            },
    
            /**
             * Validate QUIQQER email address
             *
             * @param {String} email
             * @return {Promise} - returns true if email is taken; false otherwise
             */
            validateEmail: function (email) {
                return new Promise(function (resolve, reject) {
    
                    QUIAjax.get('package_quiqqer_frontend-users_ajax_frontend_registrars_emailExists', resolve, {
                        'package': pkg,
                        email    : email,
                        onError  : reject
    
            /**
             * Check if an email address is blacklisted.
             *
             * @param {String} email
             * @return {Promise<Boolean>}
             */
            isEmailBlacklisted: function(email) {
                return new Promise(function (resolve, reject) {
                    QUIAjax.get('package_quiqqer_frontend-users_ajax_frontend_registrars_emailBlacklisted', resolve, {
                        'package': pkg,
                        email    : email,
                        onError  : reject
                    });
                });
            },
    
    
             * Execute username validation
    
             * @param {String} username
    
             * @return {Promise} - return true if valid and false if invalid
             */
    
            usernameValidation: function (username) {
    
    
                if (username === '') {
                    return Promise.resolve(true);
                }
    
                return new Promise(function (resolve) {
                    self.validateUsername(username).then(function (usernameExists) {
    
                        resolve(!usernameExists);
    
             * Exdecute email address validation for the e-mail address
    
             * @param {String} email
    
             * @return {Promise} - return true if valid and false if invalid
             */
    
            emailValidation: function (email) {
    
    
                if (email === '') {
                    return Promise.resolve(true);
                }
    
                return new Promise(function (resolve) {
                    self.validateEmail(email).then(function (emailExists) {
    
                        resolve(!emailExists);
    
            },
    
            /**
             * Validate e-mail syntax
             *
             * @param email
             * @return {Promise}
             */
            emailSyntaxValidation: function (email) {
                if (email === '') {
                    return Promise.resolve(true);
                }
    
                return new Promise(function (resolve, reject) {
                    QUIAjax.get('package_quiqqer_frontend-users_ajax_frontend_registrars_validateEmailSyntax', resolve, {
                        'package': pkg,
                        email    : email,
                        onError  : reject
                    });
                });