Skip to content
Snippets Groups Projects
Commit 72b68cce authored by Bo-Chun Chen's avatar Bo-Chun Chen
Browse files

Added views for admin employees pages

parent 46ff59c4
No related branches found
No related tags found
No related merge requests found
...@@ -2,9 +2,9 @@ from flask import abort, flash, redirect, render_template, url_for ...@@ -2,9 +2,9 @@ from flask import abort, flash, redirect, render_template, url_for
from flask_login import current_user, login_required from flask_login import current_user, login_required
from . import admin from . import admin
from forms import DepartmentForm, RoleForm from forms import DepartmentForm, EmployeeAssignForm, RoleForm
from .. import db from .. import db
from ..models import Department, Role from ..models import Department, Employee, Role
def check_admin(): def check_admin():
""" """
...@@ -191,3 +191,45 @@ def delete_role(id): ...@@ -191,3 +191,45 @@ def delete_role(id):
return redirect(url_for('admin.list_roles')) return redirect(url_for('admin.list_roles'))
return render_template(title="Delete Role") return render_template(title="Delete Role")
# Employee Views
@admin.route('/employees')
@login_required
def list_employees():
"""
List all employees
"""
check_admin()
employees = Employee.query.all()
return render_template('admin/employees/employees.html',
employees=employees, title='Employees')
@admin.route('/employees/assign/<int:id>', methods=['GET', 'POST'])
@login_required
def assign_employee(id):
"""
Assign a department and a role to an employee
"""
check_admin()
employee = Employee.query.get_or_404(id)
# prevent admin from being assigned a department or role
if employee.is_admin:
abort(403)
form = EmployeeAssignForm(obj=employee)
if form.validate_on_submit():
employee.department = form.department.data
employee.role = form.role.data
db.session.add(employee)
db.session.commit()
flash('You have successfully assigned a department and role.')
# redirect to the roles page
return redirect(url_for('admin.list_employees'))
return render_template('admin/employees/employee.html',
employee=employee, form=form,
title='Assign Employee')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment