diff options
author | Alejandro Sirgo Rica <asirgo@soleta.eu> | 2024-06-03 17:21:12 +0200 |
---|---|---|
committer | Alejandro Sirgo Rica <asirgo@soleta.eu> | 2024-06-03 17:26:09 +0200 |
commit | 43e3346a4a0a2e2f1cea1c3d6f03bfab780a636f (patch) | |
tree | 877cd2ba09981cf4c283c20e50965dd66d2fe9d9 | |
parent | cf6794d7c811dfaa8c0a69225598b5f061b45f96 (diff) |
forms: ensure ip and mac are not empty in client add form
Use the WTForms validator InputRequired to check the field
and disable the submit button if either the IP or MAC fields
have no contents.
-rw-r--r-- | ogcp/forms/action_forms.py | 6 | ||||
-rw-r--r-- | ogcp/views.py | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/ogcp/forms/action_forms.py b/ogcp/forms/action_forms.py index 19387aa..e18de5e 100644 --- a/ogcp/forms/action_forms.py +++ b/ogcp/forms/action_forms.py @@ -122,8 +122,10 @@ class FolderForm(FlaskForm): class ClientDetailsForm(FlaskForm): server = HiddenField() name = StringField(label=_l('Name')) - ip = StringField(label=_l('IP')) - mac = StringField(label=_l('MAC')) + ip = StringField(label=_l('IP'), + validators=[InputRequired()]) + mac = StringField(label=_l('MAC'), + validators=[InputRequired()]) serial_number = StringField(label=_l('Serial Number')) livedir = SelectField(label=_l('ogLive'), choices=[('ogLive', 'Default'),]) diff --git a/ogcp/views.py b/ogcp/views.py index b31d8dc..16e39b6 100644 --- a/ogcp/views.py +++ b/ogcp/views.py @@ -1472,6 +1472,11 @@ def action_folder_add_post(): def action_client_add(): form = ClientDetailsForm(request.form) if request.method == 'POST': + + if not form.validate(): + flash(form.errors, category='error') + return redirect(url_for('servers')) + payload = {"boot": form.boot.data, "ip": form.ip.data, "livedir": form.livedir.data, |