Added models and views
This commit is contained in:
		
							
								
								
									
										62
									
								
								ref-test/app/forms/admin.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								ref-test/app/forms/admin.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,62 @@
 | 
			
		||||
from ..tools.forms import value
 | 
			
		||||
 | 
			
		||||
from flask_wtf import FlaskForm
 | 
			
		||||
from flask_wtf.file import FileAllowed, FileField, FileRequired
 | 
			
		||||
from wtforms import BooleanField, DateField, IntegerField, PasswordField, SelectField, StringField
 | 
			
		||||
from wtforms.validators import InputRequired, Email, EqualTo, Length, Optional
 | 
			
		||||
 | 
			
		||||
from datetime import date, timedelta
 | 
			
		||||
 | 
			
		||||
class Login(FlaskForm):
 | 
			
		||||
    username = StringField('Username', validators=[InputRequired(), Length(min=4, max=15)])
 | 
			
		||||
    password = PasswordField('Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
 | 
			
		||||
    remember = BooleanField('Remember Log In', render_kw={'checked': True})
 | 
			
		||||
 | 
			
		||||
class Register(FlaskForm):
 | 
			
		||||
    username = StringField('Username', validators=[InputRequired(), Length(min=4, max=15)])
 | 
			
		||||
    email = StringField('Email Address', validators=[InputRequired(), Email(message='You must enter a valid email address.'), Length(max=50)])
 | 
			
		||||
    password = PasswordField('Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
 | 
			
		||||
    password_reenter = PasswordField('Re-Enter Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.'), EqualTo('password', message='Passwords do not match.')])
 | 
			
		||||
 | 
			
		||||
class ResetPassword(FlaskForm):
 | 
			
		||||
    username = StringField('Username', validators=[InputRequired(), Length(min=4, max=15)])
 | 
			
		||||
    email = StringField('Email Address', validators=[InputRequired(), Email(message='You must enter a valid email address.'), Length(max=50)])
 | 
			
		||||
 | 
			
		||||
class UpdatePassword(FlaskForm):
 | 
			
		||||
    password = PasswordField('Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
 | 
			
		||||
    password_reenter = PasswordField('Re-Enter Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.'), EqualTo('password', message='Passwords do not match.')])
 | 
			
		||||
 | 
			
		||||
class CreateUser(FlaskForm):
 | 
			
		||||
    username = StringField('Username', validators=[InputRequired(), Length(min=4, max=15)])
 | 
			
		||||
    email = StringField('Email Address', validators=[InputRequired(), Email(message='You must enter a valid email address.'), Length(max=50)])
 | 
			
		||||
    password = PasswordField('Password (Optional)', validators=[Optional(),Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
 | 
			
		||||
 | 
			
		||||
class DeleteUser(FlaskForm):
 | 
			
		||||
    password = PasswordField('Confirm Your Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
 | 
			
		||||
    notify = BooleanField('Notify deletion by email', render_kw={'checked': True})
 | 
			
		||||
 | 
			
		||||
class UpdateUser(FlaskForm):
 | 
			
		||||
    confirm_password = PasswordField('Confirm Your Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
 | 
			
		||||
    email = StringField('Email Address', validators=[Optional(), Email(message='You must enter a valid email address.'), Length(max=50)])
 | 
			
		||||
    password = PasswordField('Change Password', validators=[Optional(),Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
 | 
			
		||||
    password_reenter = PasswordField('Re-Enter New Password', validators=[EqualTo('password', message='Passwords do not match.')])
 | 
			
		||||
    notify = BooleanField('Notify changes by email', render_kw={'checked': True})
 | 
			
		||||
 | 
			
		||||
class UpdateAccount(FlaskForm):
 | 
			
		||||
    confirm_password = PasswordField('Current Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
 | 
			
		||||
    email = StringField('Email Address', validators=[Optional(), Email(message='You must enter a valid email address.'), Length(max=50)])
 | 
			
		||||
    password = PasswordField('Change Password', validators=[Optional(),Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
 | 
			
		||||
    password_reenter = PasswordField('Re-Enter New Password', validators=[EqualTo('password', message='Passwords do not match.')])
 | 
			
		||||
 | 
			
		||||
class CreateTest(FlaskForm):
 | 
			
		||||
    start_date = DateField('Start Date', format="%Y-%m-%d", validators=[InputRequired()], default = date.today() )
 | 
			
		||||
    expiry_date = DateField('Expiry Date', format="%Y-%m-%d", validators=[InputRequired()], default = date.today() + timedelta(days=1) )
 | 
			
		||||
    time_limit = SelectField('Time Limit')
 | 
			
		||||
    dataset = SelectField('Question Dataset')
 | 
			
		||||
 | 
			
		||||
class UploadData(FlaskForm):
 | 
			
		||||
    data_file = FileField('Data File', validators=[FileRequired(), FileAllowed(['json'])])
 | 
			
		||||
    default = BooleanField('Make Default', render_kw={'checked': True})
 | 
			
		||||
 | 
			
		||||
class AddTimeAdjustment(FlaskForm):
 | 
			
		||||
    time = IntegerField('Extra Time (Minutes)', validators=[InputRequired(), value(max=60)])
 | 
			
		||||
							
								
								
									
										0
									
								
								ref-test/app/forms/quiz.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								ref-test/app/forms/quiz.py
									
									
									
									
									
										Normal file
									
								
							
		Reference in New Issue
	
	Block a user