Example #1
0
    def create_student(cls, name, ist_id, email, course, entry_year, photo,
                       photo_type):
        password = GenerateCredentialsService().call()
        referral_code = GenerateCredentialsService().call()

        chat_id = UsersHandler.create_chat_user(name, ist_id, email, password,
                                                'Student')
        if not chat_id:
            return None

        user = UsersHandler.create_user(name, ist_id, RolesEnum['student'],
                                        email, password, chat_id)
        if not user:
            return None

        return CreateStudentService(
            user_id=user.id,
            course=course,
            entry_year=entry_year,
            referral_code=referral_code,
            photo=photo,
            photo_type=photo_type,
            daily_points=0,
            total_points=0,
            squad_points=0,
            level=LevelsFinder.get_level_by_value(1)).call()
Example #2
0
def create_user(name, username, role):
    from jeec_brain.handlers.users_handler import UsersHandler

    user = UsersHandler.create_user(name=name, username=username, role=role)

    if user is None:
        print("Failed to create new user!")
        exit()

    UsersHandler.generate_new_user_credentials(user)
    print(f'Name: {user.name}')
    print(f'Username: {user.username}')
    print(f'Role: {user.role.name}')
    print(f'Password: {user.password}')
    exit()
    def create_company_user(cls, name, username, email, company_id, post,
                            food_manager, evf_username, evf_password):
        password = GenerateCredentialsService().call()

        chat_id = UsersHandler.create_chat_user(name, username, email,
                                                password, 'Company')
        if not chat_id:
            return None

        user = UsersHandler.create_user(name, username, RolesEnum['company'],
                                        email, password, chat_id)
        if not user:
            return None

        return CreateCompanyUserService(user_id=user.id,
                                        company_id=company_id,
                                        post=post,
                                        food_manager=food_manager,
                                        evf_username=evf_username,
                                        evf_password=evf_password).call()
Example #4
0
def create_user():
    # extract form parameters
    name = request.form.get('name')
    username = request.form.get('username')
    email = request.form.get('email', None)
    role = request.form.get('role', None)
    post = request.form.get('post', None)
    evf_username = request.form.get('evf_username', None)
    evf_password = request.form.get('evf_password', None)

    # check if is creating company user
    company_external_id = request.form.get('company_external_id')
    if company_external_id is not None:
        company = CompaniesFinder.get_from_external_id(company_external_id)
        company_id = company.id

        if company is None:
            return 'No company found', 404

    # extract food_manager from parameters
    food_manager = request.form.get('food_manager', None)

    if food_manager == 'True':
        food_manager = True
    elif food_manager == 'False':
        food_manager = False
    else:
        food_manager = None

    # create new company user
    if company_external_id:
        company_user = CompanyUsersHandler.create_company_user(
            name, username, email, company_id, post, food_manager,
            evf_username, evf_password)
        if not company_user:
            return render_template('admin/users/add_company_user.html', \
                    user=current_user, \
                    companies=CompaniesFinder.get_all(), \
                    roles=GetRolesService.call(), \
                    error="Failed to create user!")

        if not UsersHandler.join_channel(company_user.user, company.chat_id,
                                         company.chat_code):
            CompanyUsersHandler.delete_company_user(company_user)
            return render_template('admin/users/add_company_user.html', \
                    user=current_user, \
                    companies=CompaniesFinder.get_all(), \
                    roles=GetRolesService.call(), \
                    error="Failed to create user!")

        for activity in company_user.company.activities:
            if activity.chat_id:
                if not ActivitiesHandler.join_channel(company_user.user,
                                                      activity):
                    CompanyUsersHandler.delete_company_user(company_user)
                    return render_template('admin/users/add_company_user.html', \
                        user=current_user, \
                        companies=CompaniesFinder.get_all(), \
                        roles=GetRolesService.call(), \
                        error="Failed to create user!")

    else:
        if role not in GetRolesService.call():
            return 'Wrong role type provided', 404
        else:
            role = RolesEnum[role]

        user = UsersHandler.create_user(
            name=name,
            username=username,
            email=email,
            role=role,
            password=GenerateCredentialsService().call())

        if user is None:
            return render_template('admin/users/add_user.html', \
                roles=GetRolesService.call(), \
                error="Failed to create user!")

    return redirect(url_for('admin_api.users_dashboard'))