def register(): title = "Register Organization" formRegister = RegisterForm() if formRegister.validate_on_submit(): organization = Organization( name=formRegister.name_company.data, email=formRegister.email.data, typeofbusiness=formRegister.type_company.data, address=formRegister.address.data, phone_number=formRegister.business_phone_number.data) db.session.add(organization) db.session.commit() employee = Employee( fname=formRegister.manager_namef.data, lname=formRegister.manager_namel.data, email=formRegister.email.data, phone_number=formRegister.manager_phone_number.data, manager=True, organization_id=organization.id, firsttimelogin=False, question1=formRegister.question1.data, answer1=formRegister.answer1.data, question2=formRegister.question2.data, answer2=formRegister.answer2.data, ) employee.set_password(formRegister.enter_password.data) db.session.add(employee) db.session.commit() flash('New Organization has been added') return redirect(url_for('login')) return render_template("register.html", title=title, formRegister=formRegister)
def register(): """ View function for the registration page. :return: HTTPResponse in the form of register.html template """ #If user is already logged in then redirect to homepage if current_user.is_authenticated: return redirect(url_for('index')) form = RegistrationForm() if form.validate_on_submit(): #Create a new employee instance and add it to database employee = Employee(username=form.username.data, email=form.email.data, name=form.name.data, contact=form.contact.data, address=form.address.data, manager=form.manager.data) employee.set_password(form.password.data) db.session.add(employee) db.session.commit() flash('Congratulations! You are now a registered user') return redirect(url_for('login')) return render_template('register.html', title='Register', form=form)
def test_password_hash(self): # create employee e = Employee(email='*****@*****.**', first_name='thomas', last_name='mcdonnell') # set password e.set_password('test') # check password hashing self.assertTrue(e.check_password('test')) self.assertFalse(e.check_password('fest'))
def register(): if current_user.is_authenticated: return redirect(url_for('index')) form = RegistrationForm() if form.validate_on_submit(): user = Employee(ename=form.name.data, emp_id=form.emp_id.data) user.set_password(form.password.data) db.session.add(user) db.session.commit() flash('Congratulations, you are now a registered user!') return redirect(url_for('login')) return render_template('Login/register.html', title='Register', form=form)
def register(): if current_user.is_authenticated: return redirect('/index') form = RegistrationForm() if form.validate_on_submit(): employee = Employee(employee_id=form.userid.data, employee_name=form.name.data, phone=form.phone.data, password=form.password.data) employee.set_password(form.password.data) db.session.add(employee) db.session.commit() flash('Registration successful.') return redirect('/login') return render_template('register.html', title='Register', form=form)
def register(): if current_user.is_authenticated: return redirect(url_for('home')) form = EmployeeRegistrationForm() if form.validate_on_submit(): employee = Employee(username=form.username.data, name=form.name.data, job_title=form.job_type.data, hourly_wage=form.hourly.data, employer_id=form.company.data) employee.set_password(form.password.data) db.session.add(employee) db.session.commit() flash('Account registered successfully') return redirect(url_for('login')) return render_template('register.html', title='Register', form=form)
def addemployee(): """Adds a new Employee to the data base under the same organization id as the logged in user who is adding the new user. Also allows the new user to be selected as manager or employee""" title = "Add employee to Shifter" formEmployee = EmployeeForm() formLogout = LogoutForm() if formLogout.Logout.data and formLogout.is_submitted(): return redirect(url_for('logout')) if (formEmployee.validate_on_submit()): user = Employee.query.filter_by(email=formEmployee.email.data).first() user1 = Employee.query.filter_by( phone_number=formEmployee.phone_number.data).first() if user is not None: flash( 'There is already an account registered under this email address.' ) return redirect(url_for('addemployee')) elif user1 is not None: flash( 'There is already an account registered under this phone number.' ) return redirect(url_for('addemployee')) else: firstn = formEmployee.first_name.data employee = Employee(fname=formEmployee.first_name.data, lname=formEmployee.last_name.data, email=formEmployee.email.data, phone_number=formEmployee.phone_number.data, organization_id=current_user.organization_id, firsttimelogin=True) employee.setManager(formEmployee.manager.data) employee.set_password(formEmployee.phone_number.data) db.session.add(employee) db.session.commit() flash(firstn + ' has been added to the company') return redirect(url_for('login')) return render_template("addemployee.html", title=title, formEmployee=formEmployee, formLogout=formLogout)
def employee(): user = Employee.query.filter_by(id=current_user.id).first_or_404() company = Company.query.get(int(user.company_id)) if user.is_admin: form = EmployeeAccount() if form.validate_on_submit(): employee = Employee(first_name=form.first_name.data, last_name=form.last_name.data, email=form.email.data, member_of=company) employee.set_password(form.password.data) db.session.add(employee) db.session.commit() flash('Employee has been added to your account.') return redirect(url_for('main.index')) flash('Employee could not be created.') return redirect(url_for('main.index')) return redirect(url_for('main.index'))
def company_registration(): if current_user.is_authenticated: return redirect(url_for('main.index')) form = CompanyAccount() if form.validate_on_submit(): company = Company(company_name=form.company_name.data, email=form.company_email.data) admin = Employee(email=form.admin_email.data, first_name=form.admin_first_name.data, last_name=form.admin_last_name.data, is_admin=True, member_of=company) admin.set_password(form.password.data) db.session.add(company, admin) db.session.commit() flash('Your company has been registered sucessfully.') return redirect(url_for('auth.login')) return render_template('auth/register.html', title='Register', form=form)
def addemployee(): title = "Add employee to Shifter" formEmployee = EmployeeForm() formLogout = LogoutForm() if formLogout.Logout.data and formLogout.is_submitted(): flash('Logged out') return redirect(url_for('logout')) if (formEmployee.validate_on_submit()): user = Employee.query.filter_by(email=formEmployee.email.data).first() user1 = Employee.query.filter_by( phone_number=formEmployee.phone_number.data).first() if user is not None: flash( 'There is already an account registered under this email address.' ) return redirect(url_for('addemployee')) elif user1 is not None: flash( 'There is already an account registered under this phone number.' ) return redirect(url_for('addemployee')) else: employee = Employee(fname=formEmployee.first_name.data, lname=formEmployee.last_name.data, email=formEmployee.email.data, phone_number=formEmployee.phone_number.data, organization_id=current_user.organization_id, firsttimelogin=True) employee.setManager(formEmployee.manager.data) employee.set_password(formEmployee.phone_number.data) db.session.add(employee) db.session.commit() return redirect(url_for('login')) return render_template("addemployee.html", title=title, formEmployee=formEmployee, formLogout=formLogout)
def test_add_employee_to_db(db): emp1 = Employee(fname='Testy', lname='McTest', email='*****@*****.**', phone_number='9998887777', organization_id='1', firsttimelogin=True) emp1.setManager( 'Employee') # 'Employee' arg sets to False, 'Manager' arg sets to True emp1.set_password(emp1.phone_number) db.session.add(emp1) assert len(Employee.query.all()) == 1 emp_from_db = Employee.query.get(1) assert emp_from_db.fname == emp1.fname assert emp_from_db.lname == emp1.lname assert emp_from_db.email == emp1.email assert emp_from_db.phone_number == emp1.phone_number assert emp_from_db.organization_id == emp1.organization_id assert emp_from_db.firsttimelogin == emp1.firsttimelogin assert emp_from_db.manager == False # An employee's password should be their phone number by default, but the password # in the database should be hashed. assert emp_from_db.password_hash != emp1.phone_number emp2 = Employee(fname='Sam', lname='TheManager', email='*****@*****.**', phone_number='8372934823', organization_id='1', firsttimelogin=True) emp2.setManager('Manager') emp2.set_password(emp2.phone_number) db.session.add(emp2) assert len(Employee.query.all()) == 2 manager_from_db = Employee.query.get(2) assert manager_from_db.manager == True