stc

a simple time card webapp
git clone _git@git.brennen.work:stc.git
Log | Files | Refs | README

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:
Mapp/forms.py | 30+++++++++++++++++++-----------
Mapp/templates/admin/users/active.html | 24++++++++++++++++--------
Mapp/templates/admin/users/inactive.html | 22+++++++++++++++-------
Aapp/templates/admin/users/update_user.html | 37+++++++++++++++++++++++++++++++++++++
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 %}