mirror of
https://codeberg.org/Mo8it/AdvLabDB.git
synced 2024-12-20 23:41:20 +00:00
Added some descriptions and applied last commit
This commit is contained in:
parent
43678dd18b
commit
3425947f3e
1 changed files with 36 additions and 6 deletions
|
@ -278,6 +278,7 @@ class StudentView(SecureAdminModelView):
|
||||||
can_view_details = True
|
can_view_details = True
|
||||||
|
|
||||||
column_list = ["student_number", "first_name", "last_name", "uni_email", "contact_email", "part_students"]
|
column_list = ["student_number", "first_name", "last_name", "uni_email", "contact_email", "part_students"]
|
||||||
|
column_descriptions = {"contact_email": "The preferred contact email address if entered by the student"}
|
||||||
column_details_list = column_list + ["bachelor_thesis", "bachelor_thesis_work_group", "note"]
|
column_details_list = column_list + ["bachelor_thesis", "bachelor_thesis_work_group", "note"]
|
||||||
|
|
||||||
column_sortable_list = ["student_number", "first_name", "last_name"]
|
column_sortable_list = ["student_number", "first_name", "last_name"]
|
||||||
|
@ -381,7 +382,10 @@ class GroupView(SecureAdminModelView):
|
||||||
|
|
||||||
class CustomForm(Form):
|
class CustomForm(Form):
|
||||||
part_students = QuerySelectMultipleField(
|
part_students = QuerySelectMultipleField(
|
||||||
"Part Students", query_factory=query_factory, validators=[DataRequired()]
|
"Part Students",
|
||||||
|
query_factory=query_factory,
|
||||||
|
validators=[DataRequired()],
|
||||||
|
description="The part students have to be in the same program!",
|
||||||
)
|
)
|
||||||
|
|
||||||
return CustomForm
|
return CustomForm
|
||||||
|
@ -417,6 +421,7 @@ class ExperimentView(SecureAdminModelView):
|
||||||
|
|
||||||
column_filters = ["active"]
|
column_filters = ["active"]
|
||||||
column_list = ["number", "program", "title", "active"]
|
column_list = ["number", "program", "title", "active"]
|
||||||
|
column_descriptions = {"active": "Active experiments are present in new semesters"}
|
||||||
column_details_list = column_list + [
|
column_details_list = column_list + [
|
||||||
"description",
|
"description",
|
||||||
"wiki_link",
|
"wiki_link",
|
||||||
|
@ -429,17 +434,29 @@ class ExperimentView(SecureAdminModelView):
|
||||||
"final_weighting",
|
"final_weighting",
|
||||||
"semester_experiments",
|
"semester_experiments",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
form_columns = column_details_list.copy()
|
||||||
|
form_columns.remove("semester_experiments")
|
||||||
|
|
||||||
column_editable_list = ["active"]
|
column_editable_list = ["active"]
|
||||||
|
|
||||||
form_columns = column_details_list
|
form_args = {
|
||||||
|
"wiki_link": {"validators": [URL()]},
|
||||||
form_args = {"wiki_link": {"validators": [URL()]}}
|
"oral_weighting": {
|
||||||
|
"default": 0.5,
|
||||||
|
"description": "Oral and protocol weighting have to add to 1! Both are rounded to 2 decimal digits.",
|
||||||
|
},
|
||||||
|
"protocol_weighting": {"default": 0.5},
|
||||||
|
}
|
||||||
form_extra_fields = {
|
form_extra_fields = {
|
||||||
"program": QuerySelectField(
|
"program": QuerySelectField(
|
||||||
"Program", query_factory=programQueryFactory, validators=[DataRequired()], allow_blank=True, blank_text="-"
|
"Program", query_factory=programQueryFactory, validators=[DataRequired()], allow_blank=True, blank_text="-"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def on_model_change(self, form, model, is_created):
|
||||||
|
model.checkWeightings(roundWeightings=True)
|
||||||
|
|
||||||
|
|
||||||
def assistantQueryFactory():
|
def assistantQueryFactory():
|
||||||
return Assistant.query.filter(Assistant.user.has(User.active == True))
|
return Assistant.query.filter(Assistant.user.has(User.active == True))
|
||||||
|
@ -533,7 +550,11 @@ class GroupExperimentView(SecureAdminModelView):
|
||||||
blank_text="-",
|
blank_text="-",
|
||||||
)
|
)
|
||||||
|
|
||||||
appointment1_date = DateField("Appointment-1 Date", validators=[Optional()])
|
appointment1_date = DateField(
|
||||||
|
"Appointment-1 Date",
|
||||||
|
validators=[Optional()],
|
||||||
|
description="Set if you already want to add an appointment. Otherwise, leave it blank and you can do it later under the Appointment tab.",
|
||||||
|
)
|
||||||
appointment1_special = BooleanField("Appointment-1 Special", default=False)
|
appointment1_special = BooleanField("Appointment-1 Special", default=False)
|
||||||
appointment1_assistant = QuerySelectField(
|
appointment1_assistant = QuerySelectField(
|
||||||
"Appointment-1 Assistant",
|
"Appointment-1 Assistant",
|
||||||
|
@ -542,7 +563,9 @@ class GroupExperimentView(SecureAdminModelView):
|
||||||
blank_text=assistantBlankText,
|
blank_text=assistantBlankText,
|
||||||
)
|
)
|
||||||
|
|
||||||
appointment2_date = DateField("Appointment-2 Date", validators=[Optional()])
|
appointment2_date = DateField(
|
||||||
|
"Appointment-2 Date", validators=[Optional()], description="Add a second appointment (see above)."
|
||||||
|
)
|
||||||
appointment2_special = BooleanField("Appointment-2 Special", default=False)
|
appointment2_special = BooleanField("Appointment-2 Special", default=False)
|
||||||
appointment2_assistant = QuerySelectField(
|
appointment2_assistant = QuerySelectField(
|
||||||
"Appointment-2 Assistant",
|
"Appointment-2 Assistant",
|
||||||
|
@ -681,6 +704,13 @@ class ExperimentMarkView(SecureAdminModelView):
|
||||||
|
|
||||||
form = CreateForm
|
form = CreateForm
|
||||||
|
|
||||||
|
column_descriptions = {
|
||||||
|
"oral_mark": "Between 0 and 15",
|
||||||
|
"protocol_mark": "Between 0 and 15",
|
||||||
|
"assistant": "The assistant who assigned the mark",
|
||||||
|
"edited_by_admin": "If the mark was edited by an admin",
|
||||||
|
}
|
||||||
|
|
||||||
column_editable_list = ["oral_mark", "protocol_mark"]
|
column_editable_list = ["oral_mark", "protocol_mark"]
|
||||||
form_args = {
|
form_args = {
|
||||||
"oral_mark": {"validators": [NumberRange(0, 15)]},
|
"oral_mark": {"validators": [NumberRange(0, 15)]},
|
||||||
|
|
Loading…
Reference in a new issue