Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ The REST API is documented using Swagger (OpenAPI). After installing and running


## Change Log
- 1.1.3 - introduced configurable footer menu for links in bottom of the default template
Copy link

Copilot AI Jul 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Consider rephrasing to 'introduced configurable footer menu for links at the bottom of the default template' for improved readability.

Suggested change
- 1.1.3 - introduced configurable footer menu for links in bottom of the default template
- 1.1.3 - introduced configurable footer menu for links at the bottom of the default template

Copilot uses AI. Check for mistakes.
- 1.1.2 - minor security updates (removed unused JS files), setup.py now reads dependencies from requirements.txt
- 1.1.1 - Machine API Key rewrited.
- API keys for machines are now tied to one of the existing users. If there is a need to have API access for machine, first create service user, and set the access rights. Then create machine key as Admin and assign it to this user.
Expand Down
2 changes: 1 addition & 1 deletion flowapp/__about__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "1.1.2"
__version__ = "1.1.3"
17 changes: 16 additions & 1 deletion flowapp/templates/layouts/default.html
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,22 @@
</li>
</ul>
</nav>
<p class="position-fixed bottom-0 end-0 form-text p-2 me-2">ExaFS {{ session['app_version'] }}</p>
<footer class="bg-light text-muted mt-5 pt-4 border-top">
<div class="container">
<div class="row justify-content-between align-items-center">
<div class="col-md-auto mb-2 mb-md-0">
<nav class="nav">
Copy link

Copilot AI Jul 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider adding an aria-label (e.g., aria-label="Footer navigation") to the

element to improve accessibility for screen readers.

Suggested change
<nav class="nav">
<nav class="nav" aria-label="Footer navigation">

Copilot uses AI. Check for mistakes.
{% for item in footer_menu %}
<a class="nav-link px-2" href="{{ url_for(item.url) }}">{{ item.name }}</a>
{% endfor %}
</nav>
</div>
<div class="col-md-auto text-end small">
ExaFS {{ session['app_version'] }}
</div>
</div>
</div>
</footer>

<script type="text/javascript" src="/static/js/ip_context.js"></script>
<script type="text/javascript" src="/static/js/enable_tooltips.js"></script>
Expand Down
5 changes: 5 additions & 0 deletions flowapp/utils/app_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,11 @@ def inject_dashboard():
"""Inject dashboard config to templates."""
return {"dashboard": app.config.get("DASHBOARD")}

@app.context_processor
def inject_footer_menu():
"""Inject main menu config to templates."""
return {"footer_menu": app.config.get("FOOTER_MENU", [])}

return app


Expand Down
2 changes: 0 additions & 2 deletions flowapp/views/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -672,7 +672,6 @@ def update_set_org():
user_with_multiple_orgs = {}
for model in models:
data_records = model.query.filter(model.org_id == 0).all()
print(f"Found {len(data_records)} records with org_id NULL in {model.__name__}")
# Loop through each flowspec record and update org_id based on the user's organization
updated = 0
for row in data_records:
Expand All @@ -683,7 +682,6 @@ def update_set_org():
row.org_id = user_org.id
updated += 1
else:
print(f"User {row.user.email} has multiple organizations")
user_with_multiple_orgs[row.user.email] = [org.name for org in orgs]
# Commit the changes
try:
Expand Down