mirror of
https://codeberg.org/Mo8it/AdvLabDB.git
synced 2024-11-08 21:21:06 +00:00
Black and isort
This commit is contained in:
parent
0b5dcfb460
commit
6e45c91d45
4 changed files with 29 additions and 28 deletions
|
@ -1,23 +1,25 @@
|
||||||
from flask import flash, request, url_for, redirect
|
from pathlib import Path
|
||||||
|
|
||||||
|
from flask import flash, redirect, request, url_for
|
||||||
|
from flask_admin import expose
|
||||||
from flask_admin.contrib.sqla.fields import QuerySelectField, QuerySelectMultipleField
|
from flask_admin.contrib.sqla.fields import QuerySelectField, QuerySelectMultipleField
|
||||||
from flask_admin.contrib.sqla.filters import BaseSQLAFilter
|
from flask_admin.contrib.sqla.filters import BaseSQLAFilter
|
||||||
from flask_admin.helpers import get_form_data
|
from flask_admin.helpers import get_form_data
|
||||||
from flask_admin.menu import MenuLink
|
from flask_admin.menu import MenuLink
|
||||||
from flask_admin.model.template import EndpointLinkRowAction
|
from flask_admin.model.template import EndpointLinkRowAction
|
||||||
from flask_admin import expose
|
|
||||||
from flask_security import admin_change_password, current_user, hash_password
|
from flask_security import admin_change_password, current_user, hash_password
|
||||||
from sqlalchemy import func, or_, and_
|
from flask_wtf import FlaskForm
|
||||||
|
from flask_wtf.file import FileAllowed, FileField, FileRequired
|
||||||
|
from sqlalchemy import and_, func, or_
|
||||||
|
from werkzeug.utils import secure_filename
|
||||||
from wtforms import BooleanField, Form, RadioField, SelectField, StringField
|
from wtforms import BooleanField, Form, RadioField, SelectField, StringField
|
||||||
from wtforms.fields import DateField, IntegerField
|
from wtforms.fields import DateField, IntegerField
|
||||||
from wtforms.validators import URL, DataRequired, Email, NumberRange, Optional
|
from wtforms.validators import URL, DataRequired, Email, NumberRange, Optional
|
||||||
from flask_wtf import FlaskForm
|
|
||||||
from flask_wtf.file import FileField, FileRequired, FileAllowed
|
|
||||||
from werkzeug.utils import secure_filename
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
from advlabdb import adminSpace, app, assistantSpace, db, user_datastore
|
from advlabdb import adminSpace, app, assistantSpace, db, user_datastore
|
||||||
from advlabdb.configUtils import getConfig
|
from advlabdb.configUtils import getConfig
|
||||||
from advlabdb.customClasses import SecureAdminModelView, SecureAdminBaseView
|
from advlabdb.customClasses import SecureAdminBaseView, SecureAdminModelView
|
||||||
|
from advlabdb.database_import import importFromFile
|
||||||
from advlabdb.exceptions import DataBaseException, ModelViewException
|
from advlabdb.exceptions import DataBaseException, ModelViewException
|
||||||
from advlabdb.models import (
|
from advlabdb.models import (
|
||||||
Appointment,
|
Appointment,
|
||||||
|
@ -41,7 +43,6 @@ from advlabdb.utils import (
|
||||||
setUserActiveSemester,
|
setUserActiveSemester,
|
||||||
userActiveSemester,
|
userActiveSemester,
|
||||||
)
|
)
|
||||||
from advlabdb.database_import import importFromFile
|
|
||||||
|
|
||||||
|
|
||||||
def semesterExperimentQueryFactory():
|
def semesterExperimentQueryFactory():
|
||||||
|
@ -186,7 +187,7 @@ class UserView(SecureAdminModelView):
|
||||||
if not is_created:
|
if not is_created:
|
||||||
if model == current_user:
|
if model == current_user:
|
||||||
if not form.active.data:
|
if not form.active.data:
|
||||||
raise ModelViewException("Tried to deactiavte yourself as user!")
|
raise ModelViewException("Tried to deactivate yourself as user!")
|
||||||
if not model.has_role("admin"):
|
if not model.has_role("admin"):
|
||||||
raise ModelViewException("Tried to remove your admin role!")
|
raise ModelViewException("Tried to remove your admin role!")
|
||||||
|
|
||||||
|
@ -246,7 +247,7 @@ class SemesterView(SecureAdminModelView):
|
||||||
)
|
)
|
||||||
transfer_assistants = BooleanField(
|
transfer_assistants = BooleanField(
|
||||||
"Transfer Assistants",
|
"Transfer Assistants",
|
||||||
description="This option transfers assistants of your active semester to active experiments in the new semester. Make sure that your semester is the last semester before creating a new one (recommended)! Active experiments are transfered anyway. If you do not want an experiment to be transfered, set it to inactive before creating the new semester. Experiments which are switched to active before creating the new semester will be created in the new semester without assistants. It is important to check the assistants of all experiments after creating a new semester.",
|
description="This option transfers assistants of your active semester to active experiments in the new semester. Make sure that your semester is the last semester before creating a new one (recommended)! Active experiments are transferred anyway. If you do not want an experiment to be transferred, set it to inactive before creating the new semester. Experiments which are switched to active before creating the new semester will be created in the new semester without assistants. It is important to check the assistants of all experiments after creating a new semester.",
|
||||||
default=True,
|
default=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -873,7 +874,7 @@ class ExperimentMarkView(SecureAdminModelView):
|
||||||
column_default_sort = [("oral_mark", False), ("protocol_mark", False)]
|
column_default_sort = [("oral_mark", False), ("protocol_mark", False)]
|
||||||
|
|
||||||
"""
|
"""
|
||||||
# Deactivated for the experiments hisotry of a student.
|
# Deactivated for the experiments history of a student.
|
||||||
def queryFilter(self):
|
def queryFilter(self):
|
||||||
return ExperimentMark.group_experiment.has(
|
return ExperimentMark.group_experiment.has(
|
||||||
GroupExperiment.semester_experiment.has(SemesterExperiment.semester == userActiveSemester())
|
GroupExperiment.semester_experiment.has(SemesterExperiment.semester == userActiveSemester())
|
||||||
|
|
|
@ -1,23 +1,24 @@
|
||||||
from flask import has_request_context, flash
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from shutil import copy2
|
from shutil import copy2
|
||||||
|
|
||||||
|
from flask import flash, has_request_context
|
||||||
|
|
||||||
from advlabdb import app, db
|
from advlabdb import app, db
|
||||||
|
from advlabdb.exceptions import DataBaseImportException
|
||||||
from advlabdb.models import (
|
from advlabdb.models import (
|
||||||
Part,
|
|
||||||
Student,
|
|
||||||
Group,
|
|
||||||
PartStudent,
|
|
||||||
Experiment,
|
|
||||||
GroupExperiment,
|
|
||||||
Appointment,
|
Appointment,
|
||||||
Semester,
|
|
||||||
Program,
|
|
||||||
SemesterExperiment,
|
|
||||||
Assistant,
|
Assistant,
|
||||||
|
Experiment,
|
||||||
|
Group,
|
||||||
|
GroupExperiment,
|
||||||
|
Part,
|
||||||
|
PartStudent,
|
||||||
|
Program,
|
||||||
|
Semester,
|
||||||
|
SemesterExperiment,
|
||||||
|
Student,
|
||||||
User,
|
User,
|
||||||
)
|
)
|
||||||
from advlabdb.exceptions import DataBaseImportException
|
|
||||||
|
|
||||||
|
|
||||||
def importFromFile(filePath):
|
def importFromFile(filePath):
|
||||||
|
@ -266,7 +267,7 @@ def importFromFile(filePath):
|
||||||
show(f"Made a backup of the database before the import at {dest}")
|
show(f"Made a backup of the database before the import at {dest}")
|
||||||
|
|
||||||
# Auto commit from the transaction context
|
# Auto commit from the transaction context
|
||||||
|
|
||||||
src = "db/advLab.db"
|
src = "db/advLab.db"
|
||||||
dest = f"db/backups/after_{dbSemester.repr()}_import_{datetime.now().strftime('%d_%m_%Y_%H_%M_%S')}.db"
|
dest = f"db/backups/after_{dbSemester.repr()}_import_{datetime.now().strftime('%d_%m_%Y_%H_%M_%S')}.db"
|
||||||
copy2(src, dest)
|
copy2(src, dest)
|
||||||
|
|
|
@ -6,13 +6,12 @@ For more information about the implementation, see the part to Models in the doc
|
||||||
https://flask-sqlalchemy.palletsprojects.com/en/2.x/models/
|
https://flask-sqlalchemy.palletsprojects.com/en/2.x/models/
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Imports
|
from decimal import ROUND_HALF_UP, Decimal
|
||||||
|
|
||||||
from flask import flash
|
from flask import flash
|
||||||
from flask_security import current_user
|
from flask_security import current_user
|
||||||
from flask_security.models.fsqla_v2 import FsRoleMixin, FsUserMixin
|
from flask_security.models.fsqla_v2 import FsRoleMixin, FsUserMixin
|
||||||
from decimal import Decimal, ROUND_HALF_UP
|
|
||||||
|
|
||||||
# Importing the database instance
|
|
||||||
from advlabdb import db
|
from advlabdb import db
|
||||||
from advlabdb.configUtils import getConfig
|
from advlabdb.configUtils import getConfig
|
||||||
from advlabdb.exceptions import DataBaseException
|
from advlabdb.exceptions import DataBaseException
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
from flask import flash, redirect, render_template, request, url_for
|
from flask import flash, redirect, render_template, request, url_for
|
||||||
from flask_security import auth_required, current_user, roles_required, roles_accepted
|
from flask_security import auth_required, current_user, roles_accepted, roles_required
|
||||||
|
|
||||||
from advlabdb import app
|
from advlabdb import app
|
||||||
from advlabdb.utils import setUserActiveSemester, userActiveSemester
|
from advlabdb.utils import setUserActiveSemester, userActiveSemester
|
||||||
|
|
Loading…
Reference in a new issue