diff --git a/DB.drawio b/DB.drawio
index b567c33..a92ad05 100644
--- a/DB.drawio
+++ b/DB.drawio
@@ -1 +1 @@
-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
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/advlabdb/modelViews.py b/advlabdb/modelViews.py
index 6c06794..c1917f7 100644
--- a/advlabdb/modelViews.py
+++ b/advlabdb/modelViews.py
@@ -75,13 +75,14 @@ class PartModelView(SecureModelView):
class StudentModelView(SecureModelView):
can_view_details = True
- column_list = ["student_number", "first_name", "last_name", "email", "part_students"]
+ column_list = ["student_number", "first_name", "last_name", "uni_email", "contact_email", "part_students"]
column_details_list = column_list + ["bachelor_thesis", "bachelor_thesis_work_group", "note"]
- column_searchable_list = ["student_number", "email", "first_name", "last_name"]
+ column_searchable_list = ["student_number", "uni_email", "contact_email", "first_name", "last_name"]
form_columns = column_details_list + ["new_part_student_part", "new_part_student_group_number"]
form_args = {
- "email": {"validators": [Email()]},
+ "uni_email": {"validators": [Email()]},
+ "contact_email": {"validators": [Email()]},
}
partChoices = ["-"] + partsLabels
diff --git a/advlabdb/models.py b/advlabdb/models.py
index 4a3c28e..35ca67a 100644
--- a/advlabdb/models.py
+++ b/advlabdb/models.py
@@ -18,7 +18,8 @@ class Student(db.Model):
student_number = db.Column(db.Integer, nullable=False, unique=True)
first_name = db.Column(db.String(100), nullable=False)
last_name = db.Column(db.String(100), nullable=False)
- email = db.Column(db.String(200), nullable=False, unique=True)
+ uni_email = db.Column(db.String(200), nullable=False, unique=True)
+ contact_email = db.Column(db.String(200), unique=True)
bachelor_thesis = db.Column(db.String, nullable=True)
bachelor_thesis_work_group = db.Column(db.String, nullable=True)
note = db.Column(db.Text, nullable=True)
diff --git a/poetry.lock b/poetry.lock
index 96b48c8..55944a1 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -43,7 +43,7 @@ idna = ">=2.0.0"
[[package]]
name = "flake8"
-version = "3.9.1"
+version = "3.9.2"
description = "the modular source code checker: pep8 pyflakes and co"
category = "dev"
optional = false
@@ -56,17 +56,17 @@ pyflakes = ">=2.3.0,<2.4.0"
[[package]]
name = "flask"
-version = "1.1.2"
+version = "1.1.4"
description = "A simple framework for building complex web applications."
category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
[package.dependencies]
-click = ">=5.1"
-itsdangerous = ">=0.24"
-Jinja2 = ">=2.10.1"
-Werkzeug = ">=0.15"
+click = ">=5.1,<8.0"
+itsdangerous = ">=0.24,<2.0"
+Jinja2 = ">=2.10.1,<3.0"
+Werkzeug = ">=0.15,<2.0"
[package.extras]
dev = ["pytest", "coverage", "tox", "sphinx", "pallets-sphinx-themes", "sphinxcontrib-log-cabinet", "sphinx-issues"]
@@ -212,11 +212,11 @@ i18n = ["Babel (>=0.8)"]
[[package]]
name = "markupsafe"
-version = "1.1.1"
+version = "2.0.0"
description = "Safely add untrusted strings to HTML/XML markup."
category = "main"
optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
+python-versions = ">=3.6"
[[package]]
name = "mccabe"
@@ -258,7 +258,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]]
name = "sqlalchemy"
-version = "1.4.13"
+version = "1.4.15"
description = "Database Abstraction Library"
category = "main"
optional = false
@@ -337,12 +337,12 @@ email-validator = [
{file = "email_validator-1.1.2-py2.py3-none-any.whl", hash = "sha256:094b1d1c60d790649989d38d34f69e1ef07792366277a2cf88684d03495d018f"},
]
flake8 = [
- {file = "flake8-3.9.1-py2.py3-none-any.whl", hash = "sha256:3b9f848952dddccf635be78098ca75010f073bfe14d2c6bda867154bea728d2a"},
- {file = "flake8-3.9.1.tar.gz", hash = "sha256:1aa8990be1e689d96c745c5682b687ea49f2e05a443aff1f8251092b0014e378"},
+ {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"},
+ {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"},
]
flask = [
- {file = "Flask-1.1.2-py2.py3-none-any.whl", hash = "sha256:8a4fdd8936eba2512e9c85df320a37e694c93945b33ef33c89946a340a238557"},
- {file = "Flask-1.1.2.tar.gz", hash = "sha256:4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060"},
+ {file = "Flask-1.1.4-py2.py3-none-any.whl", hash = "sha256:c34f04500f2cbbea882b1acb02002ad6fe6b7ffa64a6164577995657f50aed22"},
+ {file = "Flask-1.1.4.tar.gz", hash = "sha256:0fbeb6180d383a9186d0d6ed954e0042ad9f18e0e8de088b2b419d526927d196"},
]
flask-admin = [
{file = "Flask-Admin-1.5.8.tar.gz", hash = "sha256:eb06a1f31b98881dee53a55c64faebd1990d6aac38826364b280df0b2679ff74"},
@@ -434,58 +434,40 @@ jinja2 = [
{file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"},
]
markupsafe = [
- {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"},
- {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"},
- {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"},
- {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"},
- {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"},
- {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"},
- {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"},
- {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"},
- {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"},
- {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"},
- {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"},
- {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"},
- {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"},
- {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"},
- {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"},
- {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"},
- {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"},
- {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"},
- {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5"},
- {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"},
- {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"},
- {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f"},
- {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0"},
- {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7"},
- {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"},
- {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"},
- {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"},
- {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193"},
- {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"},
- {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"},
- {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1"},
- {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1"},
- {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f"},
- {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"},
- {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"},
- {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"},
- {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"},
- {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"},
- {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2"},
- {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032"},
- {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b"},
- {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"},
- {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"},
- {file = "MarkupSafe-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c"},
- {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb"},
- {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014"},
- {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850"},
- {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85"},
- {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621"},
- {file = "MarkupSafe-1.1.1-cp39-cp39-win32.whl", hash = "sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39"},
- {file = "MarkupSafe-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8"},
- {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"},
+ {file = "MarkupSafe-2.0.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:2efaeb1baff547063bad2b2893a8f5e9c459c4624e1a96644bbba08910ae34e0"},
+ {file = "MarkupSafe-2.0.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:441ce2a8c17683d97e06447fcbccbdb057cbf587c78eb75ae43ea7858042fe2c"},
+ {file = "MarkupSafe-2.0.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:45535241baa0fc0ba2a43961a1ac7562ca3257f46c4c3e9c0de38b722be41bd1"},
+ {file = "MarkupSafe-2.0.0-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:90053234a6479738fd40d155268af631c7fca33365f964f2208867da1349294b"},
+ {file = "MarkupSafe-2.0.0-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:3b54a9c68995ef4164567e2cd1a5e16db5dac30b2a50c39c82db8d4afaf14f63"},
+ {file = "MarkupSafe-2.0.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:f58b5ba13a5689ca8317b98439fccfbcc673acaaf8241c1869ceea40f5d585bf"},
+ {file = "MarkupSafe-2.0.0-cp36-cp36m-win32.whl", hash = "sha256:a00dce2d96587651ef4fa192c17e039e8cfab63087c67e7d263a5533c7dad715"},
+ {file = "MarkupSafe-2.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:007dc055dbce5b1104876acee177dbfd18757e19d562cd440182e1f492e96b95"},
+ {file = "MarkupSafe-2.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a08cd07d3c3c17cd33d9e66ea9dee8f8fc1c48e2d11bd88fd2dc515a602c709b"},
+ {file = "MarkupSafe-2.0.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:3c352ff634e289061711608f5e474ec38dbaa21e3e168820d53d5f4015e5b91b"},
+ {file = "MarkupSafe-2.0.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:32200f562daaab472921a11cbb63780f1654552ae49518196fc361ed8e12e901"},
+ {file = "MarkupSafe-2.0.0-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:fef86115fdad7ae774720d7103aa776144cf9b66673b4afa9bcaa7af990ed07b"},
+ {file = "MarkupSafe-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:e79212d09fc0e224d20b43ad44bb0a0a3416d1e04cf6b45fed265114a5d43d20"},
+ {file = "MarkupSafe-2.0.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:79b2ae94fa991be023832e6bcc00f41dbc8e5fe9d997a02db965831402551730"},
+ {file = "MarkupSafe-2.0.0-cp37-cp37m-win32.whl", hash = "sha256:3261fae28155e5c8634dd7710635fe540a05b58f160cef7713c7700cb9980e66"},
+ {file = "MarkupSafe-2.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e4570d16f88c7f3032ed909dc9e905a17da14a1c4cfd92608e3fda4cb1208bbd"},
+ {file = "MarkupSafe-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8f806bfd0f218477d7c46a11d3e52dc7f5fdfaa981b18202b7dc84bbc287463b"},
+ {file = "MarkupSafe-2.0.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e77e4b983e2441aff0c0d07ee711110c106b625f440292dfe02a2f60c8218bd6"},
+ {file = "MarkupSafe-2.0.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:031bf79a27d1c42f69c276d6221172417b47cb4b31cdc73d362a9bf5a1889b9f"},
+ {file = "MarkupSafe-2.0.0-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:83cf0228b2f694dcdba1374d5312f2277269d798e65f40344964f642935feac1"},
+ {file = "MarkupSafe-2.0.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:4cc563836f13c57f1473bc02d1e01fc37bab70ad4ee6be297d58c1d66bc819bf"},
+ {file = "MarkupSafe-2.0.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:d00a669e4a5bec3ee6dbeeeedd82a405ced19f8aeefb109a012ea88a45afff96"},
+ {file = "MarkupSafe-2.0.0-cp38-cp38-win32.whl", hash = "sha256:161d575fa49395860b75da5135162481768b11208490d5a2143ae6785123e77d"},
+ {file = "MarkupSafe-2.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:58bc9fce3e1557d463ef5cee05391a05745fd95ed660f23c1742c711712c0abb"},
+ {file = "MarkupSafe-2.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3fb47f97f1d338b943126e90b79cad50d4fcfa0b80637b5a9f468941dbbd9ce5"},
+ {file = "MarkupSafe-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dab0c685f21f4a6c95bfc2afd1e7eae0033b403dd3d8c1b6d13a652ada75b348"},
+ {file = "MarkupSafe-2.0.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:664832fb88b8162268928df233f4b12a144a0c78b01d38b81bdcf0fc96668ecb"},
+ {file = "MarkupSafe-2.0.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:df561f65049ed3556e5b52541669310e88713fdae2934845ec3606f283337958"},
+ {file = "MarkupSafe-2.0.0-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:24bbc3507fb6dfff663af7900a631f2aca90d5a445f272db5fc84999fa5718bc"},
+ {file = "MarkupSafe-2.0.0-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:87de598edfa2230ff274c4de7fcf24c73ffd96208c8e1912d5d0fee459767d75"},
+ {file = "MarkupSafe-2.0.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a19d39b02a24d3082856a5b06490b714a9d4179321225bbf22809ff1e1887cc8"},
+ {file = "MarkupSafe-2.0.0-cp39-cp39-win32.whl", hash = "sha256:4aca81a687975b35e3e80bcf9aa93fe10cd57fac37bf18b2314c186095f57e05"},
+ {file = "MarkupSafe-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:70820a1c96311e02449591cbdf5cd1c6a34d5194d5b55094ab725364375c9eb2"},
+ {file = "MarkupSafe-2.0.0.tar.gz", hash = "sha256:4fae0677f712ee090721d8b17f412f1cbceefbf0dc180fe91bab3232f38b4527"},
]
mccabe = [
{file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"},
@@ -504,40 +486,36 @@ pyflakes = [
{file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"},
]
sqlalchemy = [
- {file = "SQLAlchemy-1.4.13-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:375cde7038d3c4493e2e61273ed2a3be04b5845e9bea5c662543c22935fb439b"},
- {file = "SQLAlchemy-1.4.13-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:49fc18facca9ecb29308e486de53e7d9ab7d7b02d6705158fa34af0c1a6c3b0b"},
- {file = "SQLAlchemy-1.4.13-cp27-cp27m-win32.whl", hash = "sha256:b12b39ded8cee6c4fdd0b8aa5afdb8cb5641098f2625acc9175effdc064b5c9f"},
- {file = "SQLAlchemy-1.4.13-cp27-cp27m-win_amd64.whl", hash = "sha256:e25d48233f5501b41c7d561cfd9ec9c89a891643aaf282750c129d627cc5a547"},
- {file = "SQLAlchemy-1.4.13-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:79286d63e5f92340357bc2a0801637b2accc95d7e0044768c3eea5e8271cc300"},
- {file = "SQLAlchemy-1.4.13-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:b53a0faf32cde49eb04ad81f8ff60cfa1dcc024aa6a6bb8b545621339395e640"},
- {file = "SQLAlchemy-1.4.13-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:e288a3640c3c9311bb223c13e6ecb2ae4c5fb018756b5fbf82b9a1f13c6c6111"},
- {file = "SQLAlchemy-1.4.13-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:58bee8384a7e32846e560da0ad595cf0dd5046b286aafa8d000312c5db8899bf"},
- {file = "SQLAlchemy-1.4.13-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:586eb3698e616fe044472e7a249d24a5b05dc5c714dc0b9744417031988df3af"},
- {file = "SQLAlchemy-1.4.13-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:98270f1c52dc4a62279aee7c0a134e84182372e4b3c7ee35cafd906c11f4e218"},
- {file = "SQLAlchemy-1.4.13-cp36-cp36m-win32.whl", hash = "sha256:6adf973e7e27bce34c6bb14f62368b99e53a55226836ac93ff1352fe467dc966"},
- {file = "SQLAlchemy-1.4.13-cp36-cp36m-win_amd64.whl", hash = "sha256:4b9e7764638910c43eea6e6e367395dce3d1c6acc17f8550e66cd913725491d2"},
- {file = "SQLAlchemy-1.4.13-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:a63848afe8f909d1dcea286c3856c1cc1de6e8908e9ce1bdb672c9f19b2d2aa7"},
- {file = "SQLAlchemy-1.4.13-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:50dba4adb0f7cafb5c05e3e9734b7d84f0b009daf17ca5a3c1560be7dbcaaba7"},
- {file = "SQLAlchemy-1.4.13-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:938e819bc74c95466c7f6d5dc7e2d08142c116c380992aa36d60e64e7a62ffe7"},
- {file = "SQLAlchemy-1.4.13-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:ed96e1f28708c5a00fb371971d6634210afdcabb439dd488d41e1cfc2c906459"},
- {file = "SQLAlchemy-1.4.13-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:46737cd87a57e03ab20e79d29ad931b842e7b3226a169ae9b36babe69d92256f"},
- {file = "SQLAlchemy-1.4.13-cp37-cp37m-win32.whl", hash = "sha256:74cd7afd1789eabe42c838747c5680d78317aee448a22de75638ac0735ae3284"},
- {file = "SQLAlchemy-1.4.13-cp37-cp37m-win_amd64.whl", hash = "sha256:e21ca6ecf2a48a53856562af3380f2a64a1ce08ae2d17c800095f4685ab499b1"},
- {file = "SQLAlchemy-1.4.13-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:a35d909327a1c3bc407689179101af93de34bc6af8c6f07d5d29e4eaab54a9f4"},
- {file = "SQLAlchemy-1.4.13-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8dd79b534516b9b792dbb319324962d02c69a50a390cb2387e360bebe5d7b280"},
- {file = "SQLAlchemy-1.4.13-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:5e7e9a7092aea03c68318d390f39dab75422143354543244b6e1b2b31848a494"},
- {file = "SQLAlchemy-1.4.13-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8162f379edc3c1c0c4ac7436b3a8baa8ca7754913ed81002f631bc066486803e"},
- {file = "SQLAlchemy-1.4.13-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:8a00c3494a1553e171c77505653cca22f5fadf09a0af4a020243f1baaad412b3"},
- {file = "SQLAlchemy-1.4.13-cp38-cp38-win32.whl", hash = "sha256:1b2b0199153a4ecbb57ec09ff8a3693dcb2c134fef217379e2761f27bccf3a14"},
- {file = "SQLAlchemy-1.4.13-cp38-cp38-win_amd64.whl", hash = "sha256:6f0bd9b2cf1c555c6bfbb71d58750d096f7462a582abf6994cff80fbfe0d8c94"},
- {file = "SQLAlchemy-1.4.13-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:36bcf7530ca070e89f29e2f6e05c5566c9ab3a2e493608437a230253ecf112a7"},
- {file = "SQLAlchemy-1.4.13-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:08a00a955c5cb1d3a610f9735e0e9ca64f2fd2540c942ab84dc9a71433940f86"},
- {file = "SQLAlchemy-1.4.13-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:6d01d83d290db9e27ea02183e56ba548a48143b3b1b7977d07cedafc3606f91d"},
- {file = "SQLAlchemy-1.4.13-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:9c2afd9ad52387d32b2a856b19352d605213a06b4684a3b469ff8f39a27fb3a2"},
- {file = "SQLAlchemy-1.4.13-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:c9937cb1061042fb09c4b622884407525a0a595e300ef199d80a7290ca2c71ea"},
- {file = "SQLAlchemy-1.4.13-cp39-cp39-win32.whl", hash = "sha256:85bd128ebb3c47615496778fedbe334094cf6133c6933804e237c741fce4f20c"},
- {file = "SQLAlchemy-1.4.13-cp39-cp39-win_amd64.whl", hash = "sha256:384c0ecc845b597eda2519de2f8dd66770e76f8f39e0d21f00dd5affaf293787"},
- {file = "SQLAlchemy-1.4.13.tar.gz", hash = "sha256:1d8a71c2bf21437d6216ba1963507d4d1a37920429eafd09d85387d0d078fa5a"},
+ {file = "SQLAlchemy-1.4.15-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:22141a05d0f60df57ae334b589dbd081213c257a80d448ff499a3b6efd1998d3"},
+ {file = "SQLAlchemy-1.4.15-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c12b7dc8e37442eef74afc7f4f99eb4ec6d796215fc4499ca32c7ca48f353cb3"},
+ {file = "SQLAlchemy-1.4.15-cp27-cp27m-win32.whl", hash = "sha256:5ec8d34c8a9f467178b581a48ccef9163cb553015925e4665d7af495c3c958d9"},
+ {file = "SQLAlchemy-1.4.15-cp27-cp27m-win_amd64.whl", hash = "sha256:324fb6e1f41afd5bdf0a34cfd011999213dcd543b83efa9dcc868f9e64a9ff7f"},
+ {file = "SQLAlchemy-1.4.15-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:8a4d26fa3f00344f9b34402f8a52b58941ba0d4b0ca80d5b05be39ec35b2eb8e"},
+ {file = "SQLAlchemy-1.4.15-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:a2c2965698807e53f1f4da1cc9d68f1c1dda9139ef5a96d18921be4e253d687e"},
+ {file = "SQLAlchemy-1.4.15-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10068984bf334dd0b03ea83550b45667be968789bd0033215d30053649b0dd1b"},
+ {file = "SQLAlchemy-1.4.15-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:beb1a6560d65c46d52c6ac402a806b8d24a6f2ee3f96fbbd4cfa371db24c3b3a"},
+ {file = "SQLAlchemy-1.4.15-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6521e3b2f58a9ec2ad84b24efa88e61b8d355a6e481b459dcb64cadd14ba74d7"},
+ {file = "SQLAlchemy-1.4.15-cp36-cp36m-win32.whl", hash = "sha256:6072231bdf976722ce92a8d1335e5b2d7ed0d7ee28667c00537b58cf7d68c41d"},
+ {file = "SQLAlchemy-1.4.15-cp36-cp36m-win_amd64.whl", hash = "sha256:4d3cc347db370cc0d14dd724a9f280f4b4a0447ad77a228dd20792c4736f0b0e"},
+ {file = "SQLAlchemy-1.4.15-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:3845b3af8a412230cc91fd32103a74d558566fea96c1b8775abb7ec65c3ef5de"},
+ {file = "SQLAlchemy-1.4.15-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8410319b084b708c4ee0bc0d82f4b01623883595b5d8333ec704788940cc7293"},
+ {file = "SQLAlchemy-1.4.15-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c1151b26f8bc53a69dc82f782560568186625d7b70bece4914ca459be1f539e1"},
+ {file = "SQLAlchemy-1.4.15-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec88907048fbade9712de08e648203d95221cad5a3b8a459cc3724c1bffb9281"},
+ {file = "SQLAlchemy-1.4.15-cp37-cp37m-win32.whl", hash = "sha256:e3e627e0f57b6f101ecabe39b90261625deedc91ec659cd4226f522bd3dd0020"},
+ {file = "SQLAlchemy-1.4.15-cp37-cp37m-win_amd64.whl", hash = "sha256:70036b7fc86b8dc0c04e186107ee6371e8f9a8fb35980d483cc4d114b298b19f"},
+ {file = "SQLAlchemy-1.4.15-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:21e0d18dab96515670e96e53a7e7207ba5cee6cd56b312447f2772d61d37d9b8"},
+ {file = "SQLAlchemy-1.4.15-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:260a79673c1234a20d7a16ee3ac6711c3f1b81363ebb208921d512fdb9f6a12e"},
+ {file = "SQLAlchemy-1.4.15-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7c2ff45be0eacf4ac290fe546064df257e8be899e3b191a39df3e41a2d9a0797"},
+ {file = "SQLAlchemy-1.4.15-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:403e94a1862c6217e7bd71950191d58ad313ea976e7d128c9afb6b9934d2d6a2"},
+ {file = "SQLAlchemy-1.4.15-cp38-cp38-win32.whl", hash = "sha256:05ea2c275603b3fb5ce761d0ccabe47a376ed8a48f70e1d4c80a71f185224d3f"},
+ {file = "SQLAlchemy-1.4.15-cp38-cp38-win_amd64.whl", hash = "sha256:75becbc5ac452dac28d8d5aeb0406ddd3a1d808726a5fd0d5b696fad0b71d951"},
+ {file = "SQLAlchemy-1.4.15-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:92dfb2ac7b44873901f87f3e0bb5c63469b76c5c3cabbf8124332e0dd1172410"},
+ {file = "SQLAlchemy-1.4.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a31062468a184eb046eb09eadf296e3652d916793e32829082b3eda3367be5e8"},
+ {file = "SQLAlchemy-1.4.15-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6248934b6e1841a794d5d12e2d43e32c2a7c64a36a059c612d4d66b312b3604f"},
+ {file = "SQLAlchemy-1.4.15-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3fab43abe335a44aed3fbf98be619f021cbee2160718ecedc5fe4fa41296f7e"},
+ {file = "SQLAlchemy-1.4.15-cp39-cp39-win32.whl", hash = "sha256:5642d64feeab65ae662c8e46eccc3db4a3100c9572dcfa29063751e2d1940e78"},
+ {file = "SQLAlchemy-1.4.15-cp39-cp39-win_amd64.whl", hash = "sha256:17ce3009c69ac361d871bed3c9c30cf405d2739934d83322272bd455a697c874"},
+ {file = "SQLAlchemy-1.4.15.tar.gz", hash = "sha256:0ff100c75cd175f35f4d24375a0b3d82461f5b1af5fc8d112ef0e5ceea8049e6"},
]
werkzeug = [
{file = "Werkzeug-1.0.1-py2.py3-none-any.whl", hash = "sha256:2de2a5db0baeae7b2d2664949077c2ac63fbd16d98da0ff71837f7d1dea3fd43"},
diff --git a/testDB.py b/testDB.py
index 1b59187..5d8e96b 100644
--- a/testDB.py
+++ b/testDB.py
@@ -19,9 +19,9 @@ with app.app_context():
db.session.add(parta1)
db.session.add(partb2)
- student1 = Student(student_number=123, first_name="Mo", last_name="Bit", email="m@test.com")
- student2 = Student(student_number=1232, first_name="Mo2", last_name="Bit", email="m2@test.com")
- student3 = Student(student_number=1233, first_name="Mo3", last_name="Bit3", email="m3@test.com")
+ student1 = Student(student_number=123, first_name="Mo", last_name="Bit", uni_email="m@test.com")
+ student2 = Student(student_number=1232, first_name="Mo2", last_name="Bit", uni_email="m2@test.com")
+ student3 = Student(student_number=1233, first_name="Mo3", last_name="Bit3", uni_email="m3@test.com")
db.session.add(student1)
db.session.add(student2)