Skip to content

Commit

Permalink
add jokers in user profile
Browse files Browse the repository at this point in the history
  • Loading branch information
SamuelVch98 committed Oct 30, 2024
1 parent d40c27b commit 110b355
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 12 deletions.
2 changes: 2 additions & 0 deletions db.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ class User(db.Model):
is_admin = db.Column(db.Boolean, default=False)
is_teacher = db.Column(db.Boolean, default=False)
active = db.Column(db.Boolean, default=True)
thesis_joker = db.Column(db.Boolean, default=False)
travel_joker = db.Column(db.Boolean, default=False)
organization_id = db.Column(db.Integer, db.ForeignKey('organization.id'))

organization = db.relationship('Organization', back_populates='users')
Expand Down
41 changes: 31 additions & 10 deletions templates/user_profile.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@
{% block pagecontent %}
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<br>
<div class="col-sm-12 m-2">
<h1>{{ requested_user.first_name }} {{ requested_user.name }}</h1>
<hr>
</div>
Expand All @@ -37,15 +36,15 @@ <h1>{{ requested_user.first_name }} {{ requested_user.name }}</h1>
<div class="tab-content">
<div class="tab-pane active" id="profile">
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 mb-3 ms-3">
<br>
<h2>Your informations</h2>
</div>
</div>
<form class="form" action="{{ url_for('user.update_user_profile', user_id=requested_user.id) }}" method="post"
id="profileForm">
<div class="row">
<div class="col-sm-6 col-md-6">
<div class="row ms-1">
<div class="col-4 me-5">
<dl>
<dt>First name</dt>
<dd>
Expand Down Expand Up @@ -80,7 +79,7 @@ <h2>Your informations</h2>
</dd>
</dl>
</div>
<div class="col-sm-6 col-md-6">
<div class="col-auto me-5">
<dl>
<dt>Status</dt>
<dd>
Expand Down Expand Up @@ -131,7 +130,7 @@ <h2>Your informations</h2>
</select>
</dd>
</div>
<div class="col-2" id="max_load_display">
<div class="col" id="max_load_display">
<dt>Max load</dt>
<dd>
<input type="text" class="form-control" id="max_load" name="max_load"
Expand All @@ -141,9 +140,32 @@ <h2>Your informations</h2>
</div>
</dl>
</div>
<div class="col-auto">
<dl>
<dt>Jokers</dt>
<dd>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="thesis_joker"
name="thesis_joker"
{% if requested_user.thesis_joker %}checked{% endif %}
{% if not session.is_admin %}
disabled {% endif %}>
<label class="form-check-label" for="thesis_joker">Thesis joker</label>
</div>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="travel_joker"
name="travel_joker"
{% if requested_user.travel_joker %}checked{% endif %}
{% if not session.is_admin %}
disabled {% endif %}>
<label class="form-check-label" for="travel_joker">Travel joker</label>
</div>
</dd>
</dl>
</div>
<br>
<div class="row">
<div class="col-sm-12">
<div class="row mt-3">
<div class="col">
<button type="submit" class="btn btn-primary" form="profileForm">Save</button>
</div>
</div>
Expand Down Expand Up @@ -337,7 +359,6 @@ <h2>Course preferences</h2>
});
});

// Event listener pour le bouton de suppression
$(document).on('click', '.delete-icon', function () {
$(this).closest('tr').remove();
});
Expand Down
11 changes: 9 additions & 2 deletions user.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ def create_researcher(user_id, researcher_type, max_loads):
db.session.commit()
return new_researcher


def get_researchers():
return db.session.query(User).join(Researcher).filter(User.active == True).all()

Expand Down Expand Up @@ -80,7 +81,8 @@ def add_user():

if supervisor_ids:
supervisors = db.session.query(User).filter(User.id.in_(supervisor_ids)).all()
new_researcher.supervisors = [ResearcherSupervisor(researcher=new_researcher, supervisor=s) for s in supervisors]
new_researcher.supervisors = [ResearcherSupervisor(researcher=new_researcher, supervisor=s) for s in
supervisors]
db.session.commit()

flash("User added successfully.", "success")
Expand Down Expand Up @@ -187,6 +189,8 @@ def update_user_profile(user_id):
supervisor_ids = request.form.getlist('supervisor[]') if is_researcher else None
researcher_type = request.form['researcher_type'] if is_researcher else None
max_loads = request.form['max_load'] if is_researcher else None
thesis_joker = True if 'thesis_joker' in request.form else False
travel_joker = True if 'travel_joker' in request.form else False

user = db.session.query(User).filter(User.id == user_id).first()
researcher = db.session.query(Researcher).filter(Researcher.user_id == user.id).first()
Expand All @@ -202,6 +206,8 @@ def update_user_profile(user_id):
user.is_admin = is_admin
user.is_teacher = is_teacher
user.is_researcher = is_researcher
user.thesis_joker = thesis_joker
user.travel_joker = travel_joker
if is_researcher:
if researcher is None:
create_researcher(user.id, researcher_type, max_loads)
Expand All @@ -212,7 +218,8 @@ def update_user_profile(user_id):
if supervisor_ids:
db.session.query(ResearcherSupervisor).filter_by(researcher_id=researcher.id).delete()
supervisors = db.session.query(User).filter(User.id.in_(supervisor_ids)).all()
researcher.supervisors = [ResearcherSupervisor(researcher=researcher, supervisor=s) for s in supervisors]
researcher.supervisors = [ResearcherSupervisor(researcher=researcher, supervisor=s) for s in
supervisors]
else:
delete_researcher(user.id)
db.session.commit()
Expand Down

0 comments on commit 110b355

Please sign in to comment.