Beispiel #1
0
def login(token, userinfo, **params):

    time_zones = pytz.timezone('Africa/Douala')
    date_auto_nows = datetime.datetime.now(time_zones).strftime("%Y-%m-%d %H:%M:%S")

    param = params.get('extra')
    if param:
        if userinfo['hd'] and userinfo['hd'] == 'accentcom-cm.com':
            if param == 'superadmin':
                admin_role = Roles.query(
                    Roles.valeur == 'super_admin'
                ).get()

                if admin_role:
                    flash('il existe deja un super administrateur', 'warning')
                    return redirect(url_for('home.index'))
                else:
                    Role = Roles()
                    Role.valeur = 'super_admin'
                    role_id = Role.put()

                    User = Users()
                    User.first_name = userinfo['family_name']
                    User.last_name = userinfo['given_name']
                    User.email = userinfo['email']
                    User.google_id = userinfo['id']
                    User.is_enabled = True
                    User.date_create = function.datetime_convert(date_auto_nows)
                    User.date_update = function.datetime_convert(date_auto_nows)
                    user_id = User.put()

                    User_Role = UserRole()
                    User_Role.role_id = role_id
                    User_Role.user_id = user_id
                    User_Role.put()

                    flash('Creation du compte admin avec success. Vous pouvez vous connecter', 'success')
                    return redirect(url_for('home.index'))
            elif param == 'utilisateur':
                User_exist = Users.query(
                    Users.google_id == userinfo['id']
                ).get()

                if User_exist:
                    if User_exist.is_enabled:
                        session['user_id'] = User_exist.key.id()
                        User_exist.logged = True
                        User_exist.date_last_logged = function.datetime_convert(date_auto_nows)
                        User_exist.date_update = function.datetime_convert(date_auto_nows)
                        User_exist.put()
                        return redirect(url_for('dashboard.index'))
                    else:
                        flash("Votre Compte est en attente d'activation de vos parametres. Contactez l'administrateur", 'warning')
                        return redirect(url_for('home.index'))
                else:
                    User = Users()
                    User.first_name = userinfo['family_name']
                    User.last_name = userinfo['given_name']
                    User.email = userinfo['email']
                    User.google_id = userinfo['id']
                    User.date_create = function.datetime_convert(date_auto_nows)
                    User.date_update = function.datetime_convert(date_auto_nows)
                    user_id = User.put()

                    flash(""+userinfo['name']+" Votre Compte est en attente d'activation de vos parametres. Contactez l'administrateur", 'warning')
                    return redirect(url_for('home.index'))
        else:
            flash('Connectez vous avec une adresse mail du Domaine "accentcom-cm.com"', 'danger')
            return redirect(url_for('home.index'))
    else:
        flash('Vous ne pouvez pas acceder dans cette url', 'danger')
        return redirect(url_for('home.index'))
Beispiel #2
0
def login(token, userinfo, **params):

    time_zones = pytz.timezone('Africa/Douala')
    date_auto_nows = datetime.datetime.now(time_zones).strftime("%Y-%m-%d %H:%M:%S")

    param = params.get('extra')
    if param:
        if userinfo['hd'] and (userinfo['hd'] == 'accentcom-cm.com' or userinfo['hd'] == 'accentcom.agency'):
            if param == 'superadmin':
                admin_role = Roles.objects(valeur='super_admin')

                if admin_role:
                    flash('il existe deja un super administrateur', 'warning')
                    return redirect(url_for('home.index'))
                else:
                    Role = Roles()
                    Role.valeur = 'super_admin'
                    role_id = Role.save()

                    User = Users()
                    User.first_name = userinfo['family_name']
                    User.last_name = userinfo['given_name']
                    User.email = userinfo['email']
                    User.google_id = userinfo['id']
                    User.is_enabled = True
                    User.date_create = function.datetime_convert(date_auto_nows)
                    User.date_update = function.datetime_convert(date_auto_nows)
                    user_id = User.save()

                    User_Role = UserRole()
                    User_Role.role_id = role_id
                    User_Role.user_id = user_id
                    User_Role.save()

                    flash('Creation du compte admin avec success. Vous pouvez vous connecter', 'success')
                    return redirect(url_for('home.index'))
            elif param == 'utilisateur':
                User_exist = Users.objects(google_id=userinfo['id']).first()

                if User_exist:
                    if User_exist.is_enabled:
                        session['user_id'] = str(User_exist.id)
                        User_exist.logged = True
                        User_exist.date_last_logged = function.datetime_convert(date_auto_nows)
                        User_exist.date_update = function.datetime_convert(date_auto_nows)
                        User_exist.save()
                        return redirect(url_for('tache.me'))
                    else:
                        flash("Votre Compte est en attente d'activation de vos parametres. Contactez l'administrateur", 'warning')
                        return redirect(url_for('home.index'))
                else:
                    User = Users()
                    User.first_name = userinfo['family_name']
                    User.last_name = userinfo['given_name']
                    User.email = userinfo['email']
                    User.google_id = userinfo['id']
                    User.date_create = function.datetime_convert(date_auto_nows)
                    User.date_update = function.datetime_convert(date_auto_nows)
                    user_id = User.save()

                    flash(""+userinfo['name']+" Votre Compte est en attente d'activation de vos parametres. Contactez l'administrateur", 'warning')
                    return redirect(url_for('home.index'))
        else:
            flash('Connectez vous avec une adresse mail du Domaine "accentcom-cm.com"', 'danger')
            return redirect(url_for('home.index'))
    else:
        flash('Vous ne pouvez pas acceder dans cette url', 'danger')
        return redirect(url_for('home.index'))
Beispiel #3
0
def index():

    account_admin = 'admin@creativeCake'
    pass_admin = hashlib.sha224('password@creativeCake').hexdigest()

    if 'user_id' in session:
        return redirect(url_for('dashboard.index'))

    admin_role = Roles.query(Roles.valeur == 'super_admin').get()

    exist_super_admin = 0
    exist = False
    if admin_role:
        exist_super_admin = UserRole.query(
            UserRole.role_id == admin_role.key).count()

    if exist_super_admin >= 1:
        exist = True

    form = FormLogin(request.form)

    if form.validate_on_submit():
        try:
            password = hashlib.sha224(form.password.data).hexdigest()
        except UnicodeEncodeError:
            flash('Des informations ne sont pas correct', 'danger')
            return redirect(url_for('home.index'))

        user_login = Users.query(
            ndb.OR(
                Users.email == form.email.data,
                Users.login == form.email.data,
            ), Users.password == password).get()

        if user_login is None:
            if account_admin == form.email.data and pass_admin == password:

                role_user = Roles()
                role_user.valeur = 'super_admin'
                insert_role = role_user.put()

                user_login = Users()
                user_login.login = account_admin
                user_login.password = pass_admin
                user_login.name = 'Super Administrateur'
                user_login.is_enabled = True
                insert_user = user_login.put()

                user_role = UserRole()
                user_role.role_id = insert_role
                user_role.user_id = insert_user
                user_role.put()

                flash('Compte de l\'administrateur configure avec succes',
                      'success')
                return redirect(url_for('home.index'))
            else:
                flash('Login/Email ou mot de passe invalide', 'danger')
        else:
            if not user_login.is_active():
                flash(
                    'Votre compte est desactive. Contactez l\'administrateur',
                    'danger')
                return redirect(url_for('home.index'))

            #implementation de l'heure local
            time_zones = pytz.timezone('Africa/Douala')
            date_auto_nows = datetime.datetime.now(time_zones).strftime(
                "%Y-%m-%d %H:%M:%S")

            session['user_id'] = user_login.key.id()
            session['commande'] = []
            user_login.logged = True
            user_login.date_last_logged = function.datetime_convert(
                date_auto_nows)
            this_login = user_login.put()

            if current_user.has_roles([('super_admin', 'dashboard')]):
                return redirect(url_for('dashboard.index'))
            else:
                return redirect(url_for('commande.index'))

    return render_template('user/login.html', **locals())
Beispiel #4
0
def index():

    account_admin = 'admin@creativeCake'
    pass_admin = hashlib.sha224('password@creativeCake').hexdigest()

    if 'user_id' in session:
        return redirect(url_for('dashboard.index'))

    admin_role = Roles.query(
        Roles.valeur == 'super_admin'
    ).get()

    exist_super_admin = 0
    exist = False
    if admin_role:
        exist_super_admin = UserRole.query(
            UserRole.role_id == admin_role.key
        ).count()

    if exist_super_admin >= 1:
        exist = True

    form = FormLogin(request.form)

    if form.validate_on_submit():
        try:
            password = hashlib.sha224(form.password.data).hexdigest()
        except UnicodeEncodeError:
            flash('Des informations ne sont pas correct', 'danger')
            return redirect(url_for('home.index'))

        user_login = Users.query(
            ndb.OR(
                Users.email == form.email.data,
                Users.login == form.email.data,
            ),
            Users.password == password
        ).get()

        if user_login is None:
            if account_admin == form.email.data and pass_admin == password:

                role_user = Roles()
                role_user.valeur = 'super_admin'
                insert_role = role_user.put()

                user_login = Users()
                user_login.login = account_admin
                user_login.password = pass_admin
                user_login.name = 'Super Administrateur'
                user_login.is_enabled = True
                insert_user = user_login.put()

                user_role = UserRole()
                user_role.role_id = insert_role
                user_role.user_id = insert_user
                user_role.put()

                flash('Compte de l\'administrateur configure avec succes', 'success')
                return redirect(url_for('home.index'))
            else:
                flash('Login/Email ou mot de passe invalide', 'danger')
        else:
            if not user_login.is_active():
                flash('Votre compte est desactive. Contactez l\'administrateur', 'danger')
                return redirect(url_for('home.index'))

            #implementation de l'heure local
            time_zones = pytz.timezone('Africa/Douala')
            date_auto_nows = datetime.datetime.now(time_zones).strftime("%Y-%m-%d %H:%M:%S")

            session['user_id'] = user_login.key.id()
            session['commande'] = []
            user_login.logged = True
            user_login.date_last_logged = function.datetime_convert(date_auto_nows)
            this_login = user_login.put()

            if current_user.has_roles([('super_admin', 'dashboard')]):
                return redirect(url_for('dashboard.index'))
            else:
                return redirect(url_for('commande.index'))

    return render_template('user/login.html', **locals())