commit b8c8d8b529a0878c328b5635a51ae135f8a534b3
parent 8dceaeecd45b24493b6906193dc764e7ac59bf6f
Author: Youth Employment Program Production <youthemployment22@gmail.com>
Date: Tue, 11 Jun 2024 10:26:26 -0600
modify users features
Diffstat:
4 files changed, 87 insertions(+), 26 deletions(-)
diff --git a/app/forms.py b/app/forms.py
@@ -100,6 +100,15 @@ class LoginForm(FlaskForm):
password = PasswordField('Password', validators=[DataRequired()])
login = SubmitField('Login')
+#ATTEMPT AT SETTING A JOB APPLICATION FORM
+#class NewUserApplicationForm(NewUserForm):
+# paymentAddress = BooleanField('Address-is this the address you want your check sent to?',validators=[DataRequired()]
+# reference1 = StringField('Please include name, phone number, and Title/Relationship.',validators=[optional()]
+# reference2 = StringField('Please include name',validators=[optional()]
+# reference3 = StringField('',validators=[optional()]
+# priorEmployer = StringField('Please include Company name, phone number, and supervisor.',validators=[optional()]
+
+
class NewUserForm(FlaskForm):
fname = StringField('First Name', validators=[DataRequired()])
mname = StringField('Middle Initial', validators=[DataRequired(),length(max=1)])
@@ -241,19 +250,18 @@ class dateRange(FlaskForm):
submitEntr = SubmitField('Submit')
class ChangeUserForm(FlaskForm):
- fname = StringField('First Name', validators=[DataRequired()])
- mname = StringField('Middle Initial', validators=[DataRequired(),length(max=1)])
- lname = StringField('Last Name', validators=[DataRequired()])
- birthday = DateField('Birthday',validators=[DataRequired()])# Ought to change this to some validation for age range accepted
- role = SelectField('Role',validators=[DataRequired()])
- address = StringField('Address',validators=[DataRequired()])# Require some sort of validator for check...
- branch = SelectField('Branch',validators=[DataRequired(),length(max=200)])
- phonenumber = TelField('Phone Number',validators=[DataRequired(),length(max=12)])# Require some sort of validator for check...
- email = EmailField('Email',validators=[DataRequired()])# Require some sort of validator for check...
+ fname = StringField('First Name', validators=[optional()])
+ mname = StringField('Middle Initial', validators=[optional(),length(max=1)])
+ lname = StringField('Last Name', validators=[optional()])
+ birthday = DateField('Birthday',validators=[optional()])# Ought to change this to some validation for age range accepted
+ role = SelectField('Role',validators=[optional()])
+ address = StringField('Address',validators=[optional()])# Require some sort of validator for check...
+ branch = SelectField('Branch',validators=[optional(),length(max=200)])
+ phonenumber = TelField('Phone Number',validators=[optional(),length(max=12)])# Require some sort of validator for check...
+ email = EmailField('Email',validators=[optional()])# Require some sort of validator for check...
payPeriod = StringField('Pay Period Override',validators=[optional()])# May not need this at all?
payValue = FloatField('Pay Value Override',validators=[optional()])# Require some sort of validator for check...
- setActive = BooleanField('Active',default="checked")# Require some sort of validator for check...
- modNewUser = SubmitField('Update User')
+ modUser = SubmitField('Update User')
class DashPermissionsForm(FlaskForm):# for each module make Boolean field. Gets passed to fn writing to permissions_collection SET MANUALLY CURRENTLY
punchclock = BooleanField('Punch Clock',default="checked")
diff --git a/app/templates/admin/users/active.html b/app/templates/admin/users/active.html
@@ -3,20 +3,28 @@
{% block title %}All Active Users{% endblock %}
{% block content %}
+{% with messages = get_flashed_messages() %}
+ {% if messages %}
+ {% for message in messages %}
+ <div id="messagebanner"><p>{{message}}</p></div>
+ {% endfor %}
+ {% endif %}
+{% endwith %}
+
<section class="activeusers-grid">
{%- for user in activeusers %}
<div class="usercard">
<h3>{{ user.fname }} {{ user.mname }} {{ user.lname }}</h3>
<table>
- <button><a href="{{ url_for('chgpass_by_uid',uid=user._id) }}">Reset Password</a></button>
<tr><td>Username</td><td>{{ user.username }}</td></tr>
- <tr><td>Birthday</td><td>{{ user.birthday }}</td></tr>
- <tr><td>Role</td><td>{{ user.role }}</td></tr>
- <tr><td>Branch</td><td>{{ user.branch }}</td></tr>
- <tr><td>Phone Number</td><td>{{ user.phonenumber }}</td></tr>
- <tr><td>Address</td><td>{{ user.address }}</td></tr>
- <tr><td>Email</td><td>{{ user.email }}</td></tr>
- <tr><td>Pay Value</td><td>{{ user.pay_value }}</td></tr>
+ <tr><td>Password</td><td><a href="{{url_for('chgpass_by_uid',uid=user._id)}}">Reset</a></td></tr>
+ <tr><td>Birthday</td><td><a href="{{url_for('update_user',update_t='birthday',username=user.username)}}">{{ user.birthday }}</a></td></tr>
+ <tr><td>Role</td><td><a href="{{url_for('update_user',update_t='role',username=user.username)}}">{{ user.role }}</a></td></tr>
+ <tr><td>Branch</td><td><a href="{{url_for('update_user',update_t='branch',username=user.username)}}">{{ user.branch }}</a></td></tr>
+ <tr><td>Phone Number</td><td><a href="{{url_for('update_user',update_t='phonenumber',username=user.username)}}">{{ user.phonenumber }}</a></td></tr>
+ <tr><td>Address</td><td><a href="{{url_for('update_user',update_t='address',username=user.username)}}">{{ user.address }}</a></td></tr>
+ <tr><td>Email</td><td><a href="{{url_for('update_user',update_t='email',username=user.username)}}">{{ user.email }}</a></td></tr>
+ <tr><td>Pay Value</td><td><a href="{{url_for('update_user',update_t='payValue',username=user.username)}}">{{ user.pay_value }}</a></td></tr>
<button><a href="{{ url_for('deactivate_user',userid=user._id) }}">Deactivate User</a></button>
</table>
</div>
diff --git a/app/templates/admin/users/inactive.html b/app/templates/admin/users/inactive.html
@@ -3,19 +3,27 @@
{% block title %}All Inactive Users{% endblock %}
{% block content %}
+{% with messages = get_flashed_messages() %}
+ {% if messages %}
+ {% for message in messages %}
+ <div id="messagebanner"><p>{{message}}</p></div>
+ {% endfor %}
+ {% endif %}
+{% endwith %}
<section class="activeusers-grid">
{%- for user in inactiveusers %}
<div class="usercard">
<h3>{{ user.fname }} {{ user.mname }} {{ user.lname }}</h3>
<table>
<tr><td>Username</td><td>{{user.username}}</td></tr>
- <tr><td>Birthday</td><td>{{user.birthday}}</td></tr>
- <tr><td>Role</td><td>{{user.role}}</td></tr>
- <tr><td>Branch</td><td>{{user.branch}}</td></tr>
- <tr><td>Phone Number</td><td>{{user.phonenumber}}</td></tr>
- <tr><td>Address</td><td>{{user.address}}</td></tr>
- <tr><td>Email</td><td>{{user.email}}</td></tr>
- <tr><td>Pay Value</td><td>{{user.pay_value }}</td></tr>
+ <tr><td>Password</td><td><a href="{{url_for('chgpass_by_uid',uid=user._id)}}">Reset</a></td></tr>
+ <tr><td>Birthday</td><td><a href="{{url_for('update_user',update_t='birthday',username=user.username)}}">{{ user.birthday }}</a></td></tr>
+ <tr><td>Role</td><td><a href="{{url_for('update_user',update_t='role',username=user.username)}}">{{ user.role }}</a></td></tr>
+ <tr><td>Branch</td><td><a href="{{url_for('update_user',update_t='branch',username=user.username)}}">{{ user.branch }}</a></td></tr>
+ <tr><td>Phone Number</td><td><a href="{{url_for('update_user',update_t='phonenumber',username=user.username)}}">{{ user.phonenumber }}</a></td></tr>
+ <tr><td>Address</td><td><a href="{{url_for('update_user',update_t='address',username=user.username)}}">{{ user.address }}</a></td></tr>
+ <tr><td>Email</td><td><a href="{{url_for('update_user',update_t='email',username=user.username)}}">{{ user.email }}</a></td></tr>
+ <tr><td>Pay Value</td><td><a href="{{url_for('update_user',update_t='payValue',username=user.username)}}">{{ user.pay_value }}</a></td></tr>
<button><a href="{{ url_for('activate_user',userid=user._id) }}">Activate User</a></button>
</table>
</div>
diff --git a/app/templates/admin/users/update_user.html b/app/templates/admin/users/update_user.html
@@ -0,0 +1,37 @@
+{% extends 'base.html' %}
+
+{% block title %}Update Employee{% endblock %}
+
+{% block content %}
+<section class="new-user-grid">
+ <h3>Update {{user.fname}}'s {{update_t}}</h3>
+ <form action="" method="POST" novalidate>
+ {{ form.hidden_tag() }}
+ {% for error in form.errors %}
+ <span style="color:red;">[{{ error }}]</span>
+ {% endfor %}
+ {% for ferror in form.form_errors %}
+ <span style="color:yellow;">[{{ ferror }}]</span>
+ {% endfor %}
+ {% if update_t == "fname" %}{{ form.fname.label }}{{ form.fname() }}{% endif %}
+ {% if update_t == "mname" %}{{ form.mname.label }}{{ form.mname(size=1) }}{% endif %}
+ {% if update_t == "lname" %}{{ form.lname.label }}{{ form.lname() }}{% endif %}
+ {% if update_t == "birthday" %}{{ form.birthday.label }}{{ form.birthday() }}{% endif %}
+ {% if update_t == "role" %}{{ form.role.label }}{{ form.role() }}{% endif %}
+ {% if update_t == "address" %}{{ form.address.label }}{{ form.address() }}{% endif %}
+ {% if update_t == "branch" %}{{ form.branch.label }}{{ form.branch() }}{% endif %}
+ {% if update_t == "phonenumber" %}{{ form.phonenumber.label }}{{ form.phonenumber() }}{% endif %}
+ {% if update_t == "email" %}{{ form.email.label }}{{ form.email() }}{% endif %}
+ {% if update_t == "payPeriod" %}{{ form.payPeriod.label }}{{ form.payPeriod() }}{% endif %}
+ {% if update_t == "payValue" %}{{ form.payValue.label }}{{ form.payValue() }}{% endif %}
+ {{ form.modUser() }}
+ </form>
+ {% with messages = get_flashed_messages() %}
+ {% if messages %}
+ {% for message in messages %}
+ <p>{{ message }}</p>
+ {% endfor %}
+ {% endif %}
+ {% endwith %}
+</section>
+{% endblock %}