Beispiel #1
0
def create():
    activate = list(range(10))
    activate[1] = "active"
    form = UpdateUserForm()
    if form.validate_on_submit():
        if form.picture.data:
            picture_file = save_picture(form.picture.data)
            image_file = picture_file
        first_name = form.first_name.data
        last_name = form.last_name.data
        phone = form.phone.data
        email = form.email.data
        address = form.address.data
        birth = form.birth.data
        gender = form.gender.data
        role = Role.objects(name='student').first()
        user = User(first_name=first_name,
                    last_name=last_name,
                    phone=phone,
                    email=email,
                    address=address,
                    birth=birth,
                    gender=gender,
                    role=role)
        user.save()
        flash('Student has been created!', 'success')
        return redirect(url_for('student.student_info', id=user.id))
    return render_template('student_create.html',
                           title='Create Student\'s Info',
                           activate=activate,
                           form=form)
Beispiel #2
0
def create():  
    if current_user.user.role.name != 'admin': 
        flash('You\'re not admin. You can not access this page')
        return redirect(url_for('main.index'))
    activate = list(range(10))
    activate[4] = "active"  
    form = CreateStaffForm()  
    image_file = ""
    if id is None:
        return redirect(url_for('staff.index',page=1))

    if form.validate_on_submit():
        if form.picture.data:
            picture_file = save_picture(form.picture.data)
            image_file = picture_file
        first_name=form.first_name.data 
        last_name=form.last_name.data 
        phone =form.phone.data
        salary = form.salary.data 
        email =form.email.data
        address =form.address.data
        birth =form.birth.data 
        gender = form.gender.data  
        if form.role.data == 'cashier' or form.role.data == 'academic' or form.role.data == 'admin':
            role = Role.objects(name=form.role.data).first() 
        else:  
            flash('Can\'t find role, please reload page', 'danger')
            return redirect(url_for('staff.create'))
        if image_file == "":
            user = User(first_name=first_name,last_name=last_name,phone=phone,email=email,gender=gender,address=address,birth=birth,role=role,image_file=image_file,salary=salary).save()
        else:
            user = User(first_name=first_name,last_name=last_name,phone=phone,email=email,gender=gender,address=address,birth=birth,role=role,salary=salary).save()
        account = Account(username=phone,password="******",user=user,is_activate=False).save()
        send_reset_email(user)  
        flash('Staff has been created! Your account is also created, please use phone to login to system. Verify is sending to your gmail, please wait a few minutes. Within 3 hour, you must login to system to change your new password', 'success')
        return redirect(url_for('staff.staff_info',id=user.id)) 
    return render_template('staff_create.html', title='Staff Create Staff\'s Info',activate=activate,form=form)
def create_data_user(num_admin=2,
                     num_academic=5,
                     num_cashier=5,
                     num_teacher=10):
    num = 0
    with open('it_center/data/user.json') as f:
        list_user = json.load(f)
        roles = ["admin", "academic", "cashier", "teacher", "student"]
        ro = dict()
        num_role = 4
        for item in list_user:
            if ro.get('admin') and ro.get('admin') == num_admin:
                num_admin = 0
                roles.pop(roles.index('admin'))
                num_role -= 1
            if ro.get('academic') and ro['academic'] == num_academic:
                num_academic = 0
                roles.pop(roles.index('academic'))
                num_role -= 1
            if ro.get('cashier') and ro['cashier'] == num_cashier:
                num_cashier = 0
                roles.pop(roles.index('cashier'))
                num_role -= 1
            if ro.get('teacher') and ro['teacher'] == num_teacher:
                num_teacher = 0
                roles.pop(roles.index('teacher'))
                num_role -= 1
            num = random.randint(0, num_role)
            if ro.get(roles[num]):
                count = ro[roles[num]] + 1
            else:
                count = 1
            ro[roles[num]] = count
            role = Role.objects(name=roles[num]).first()
            birth = datetime.datetime.strptime(item['birth']['$date'],
                                               '%Y-%m-%dT%H:%M:%S.%fZ')
            if role:
                num += 1
                User(first_name=item['first_name'],
                     last_name=item['last_name'],
                     email=item['email'],
                     phone=item['phone'],
                     role=role,
                     birth=birth,
                     address=item['address'],
                     gender=item['gender'],
                     image_file=item['image_file']).save()
    print("create success", num, "data user")