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)
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")