From 6499a0c6599d25d6a0e824a9092535d444bc91e4 Mon Sep 17 00:00:00 2001 From: Liam Brydon Date: Sat, 20 Dec 2025 03:19:31 +1300 Subject: [PATCH] [Feature] Prediction settings list on User page (#276) I have added a list of other prediction settings to the User page and a way to change a setting to the default. {4EFA1273-E53A-4333-948B-8AE3597821A8}.png Co-authored-by: Tim Lorsbach Reviewed-on: https://git.envipath.com/enviPath/enviPy/pulls/276 Reviewed-by: jebus Co-authored-by: Liam Brydon Co-committed-by: Liam Brydon --- epdb/views.py | 8 +++ templates/objects/pathway.html | 78 +-------------------- templates/objects/setting_template.html | 92 +++++++++++++++++++++++++ templates/objects/user.html | 89 ++++++------------------ 4 files changed, 123 insertions(+), 144 deletions(-) create mode 100644 templates/objects/setting_template.html diff --git a/epdb/views.py b/epdb/views.py index 057a357e..f02850cc 100644 --- a/epdb/views.py +++ b/epdb/views.py @@ -2664,6 +2664,14 @@ def user(request, user_uuid): return redirect(current_user.url) + if "change_default" in request.POST: + new_default_uuid = request.POST["change_default"] + current_user.default_setting = SettingManager.get_setting_by_id( + current_user, new_default_uuid + ) + current_user.save() + return redirect(current_user.url) + return HttpResponseBadRequest() else: diff --git a/templates/objects/pathway.html b/templates/objects/pathway.html index 64cdf406..20fd2a93 100644 --- a/templates/objects/pathway.html +++ b/templates/objects/pathway.html @@ -388,81 +388,9 @@
Setting
-
- - - - - - - - - {% if pathway.setting.model %} - - - - - {% endif %} - {% if pathway.setting.rule_packages.all %} - - - - - {% endif %} - - - - - - - - - - - - - -
ParameterValue
Model -
- -
- - - - - - - - - - - - - -
Model ParameterParameter Value
Threshold - {{ pathway.setting_with_overrides.model_threshold }} -
-
-
-
Rule Packages - -
Max Nodes{{ pathway.setting_with_overrides.max_nodes }}
Max Depth{{ pathway.setting_with_overrides.max_depth }}
Expansion Scheme{{ user.default_setting.expansion_scheme }}
-
+ {% with setting_to_render=pathway.setting can_be_default=False %} + {% include "objects/setting_template.html" %} + {% endwith %}
{% endif %} diff --git a/templates/objects/setting_template.html b/templates/objects/setting_template.html new file mode 100644 index 00000000..7909ea08 --- /dev/null +++ b/templates/objects/setting_template.html @@ -0,0 +1,92 @@ +
+ + + + + + {% if can_be_default %} + + {% endif %} + + + + + + + + {% if setting_to_render.description %} + + + + + {% endif %} + {% if setting_to_render.model %} + + + + + {% endif %} + {% if setting_to_render.rule_packages.all %} + + + + + {% endif %} + + + + + + + + + + + + + +
ParameterValue +
+ {% csrf_token %} + + +
+
Setting Name{{ setting_to_render.name }}
Setting Description{{ setting_to_render.description }}
Model +
+ + {{ setting_to_render.model.name }} + + + + + + + + + + + + + + +
Model ParameterParameter Value
Threshold{{ setting_to_render.model_threshold }}
+
+
Rule Packages + +
Max Nodes{{ setting_to_render.max_nodes }}
Max Depth{{ setting_to_render.max_depth }}
Expansion Scheme{{ setting_to_render.expansion_scheme }}
+
diff --git a/templates/objects/user.html b/templates/objects/user.html index 5c0cb59c..ecabee2e 100644 --- a/templates/objects/user.html +++ b/templates/objects/user.html @@ -88,75 +88,26 @@ Current Prediction Setting
-
- - - - - - - - - {% if user.default_setting.model %} - - - - - {% endif %} - {% if user.default_setting.rule_packages.all %} - - - - - {% endif %} - - - - - - - - - - - - - -
ParameterValue
Model -
- - {{ user.default_setting.model.name }} - - - - - - - - - - - - - - -
Model ParameterParameter Value
Threshold{{ user.default_setting.model_threshold }}
-
-
Rule Packages - -
Max Nodes{{ user.default_setting.max_nodes }}
Max Depth{{ user.default_setting.max_depth }}
Expansion Scheme{{ user.default_setting.expansion_scheme }}
-
+ {% with setting_to_render=user.default_setting can_be_default=False %} + {% include "objects/setting_template.html" %} + {% endwith %} +
+ + + +
+ +
+ Other Prediction Settings +
+
+ {% for setting in meta.available_settings %} + {% if setting != user.default_setting %} + {% with setting_to_render=setting can_be_default=True %} + {% include "objects/setting_template.html" %} + {% endwith %} + {% endif %} + {% endfor %}