1
0
Fork 0
mirror of https://codeberg.org/Mo8it/AdvLabDB.git synced 2024-09-17 18:31:15 +00:00

Remove active semester drop down menu

This commit is contained in:
Mo 2022-09-11 20:05:09 +02:00
parent 8846a867f5
commit 8717f42bac
4 changed files with 21 additions and 34 deletions

View file

@ -69,7 +69,6 @@ from .database_import import importFromFile
from .exceptions import ModelViewException
from .model_dependent_funs import (
generate_new_password_field,
initActiveSemesterMenuLinks,
mark_field,
user_info_fields,
)
@ -1506,4 +1505,4 @@ def init_admin_model_views(app):
adminSpace.add_view(AnalysisView(name="Analysis", url="analysis"))
adminSpace.add_view(DocsView(name="Docs", url="docs"))
initActiveSemesterMenuLinks(adminSpace, app)
adminSpace.add_link(MenuLink(name="Logout", url="/logout"))

View file

@ -1,6 +1,7 @@
from flask import flash, redirect, request, url_for
from flask_admin import Admin as FlaskAdmin
from flask_admin import expose
from flask_admin.menu import MenuLink
from flask_admin.model.template import EndpointLinkRowAction
from flask_login import current_user
from flask_security.changeable import admin_change_password
@ -21,7 +22,6 @@ from .exceptions import ModelViewException
from .forms import assistant_group_experiment_form_factory
from .model_dependent_funs import (
generate_new_password_field,
initActiveSemesterMenuLinks,
parse_selection_mark_field,
user_info_fields,
)
@ -230,4 +230,4 @@ def init_assistant_model_views(app):
assistantSpace.add_view(AssistantUserView(User, url="user"))
assistantSpace.add_view(AssistantDocsView(name="Docs", url="docs"))
initActiveSemesterMenuLinks(assistantSpace, app)
assistantSpace.add_link(MenuLink(name="Logout", url="/logout"))

View file

@ -4,40 +4,34 @@ Functions dependent on advlabdb.models.
from functools import cache
from flask import flash
from flask_admin.menu import MenuLink
from flask import flash, url_for
from flask_login import current_user
from markupsafe import Markup
from wtforms.fields import BooleanField, IntegerField, SelectField, StringField
from wtforms.validators import DataRequired, NumberRange, Optional
from .models import MAX_MARK, MIN_MARK, Semester
def initActiveSemesterMenuLinks(space, app):
with app.app_context():
try:
semesters = Semester.sortedSemestersStartingWithNewest()
for semester in semesters:
space.add_link(
MenuLink(
name=str(semester),
url="/set_semester" + "?semester_id=" + str(semester.id),
category="Active semester",
)
)
except Exception:
print(
"ERROR: The Semester table does not exist yet! Therefore, menu links could not be generated. You can ignore this error if you are just initializing the database."
)
else:
space.add_link(MenuLink(name="Logout", url="/logout"))
def user_settings_url():
if current_user.has_role("admin"):
role = "admin"
else:
role = "assistant"
return url_for("main.index") + role + "/user/edit/?id=" + str(current_user.id)
def active_semester_str():
active_semester = current_user.active_semester
active_semester_str = str(active_semester)
if active_semester != Semester.lastSemester():
flash(f"You are in the old semester {active_semester_str}!", "warning")
flash(
Markup(
f"You are in the old semester {active_semester_str}! You should change your active semester in <a href='{ user_settings_url() }'>user settings</a>."
),
"warning",
)
return active_semester_str

View file

@ -1,8 +1,3 @@
<div class="alert alert-warning" role="alert">
Changes have been done to the web interface. Read the section
<a href="#_group_experiment">Group Experiment</a> for more information.
</div>
<h2>Welcome</h2>
<p>
Welcome to this website, AdvLabDB, where you will be able to manage your lab
@ -91,8 +86,7 @@
assistant, your active semester should be the latest semester.
</p>
<p>
If you see a warning that you are in an old semester, click on
<em>Active semester</em> and choose the latest semester. You should only work
in an old semester if there are still experiment marks to be set in the old
semester.
If you see a warning that you are in an old semester, then you should change
your active semester in the user settings. You should only work in an old
semester if there are still experiment marks to be set in the old semester.
</p>