- eveai_app adapted to handle removal of complex rewrite rules in nginx.conf, which cannot be achieved in Ingress

This commit is contained in:
Josako
2025-09-06 16:53:51 +02:00
parent b812aedb81
commit 5c20e6c1f9
28 changed files with 341 additions and 336 deletions

View File

@@ -8,7 +8,7 @@
{% block content %}
<div class="container">
<form method="POST" action="{{ url_for('document_bp.handle_library_selection') }}">
<form method="POST">
<div class="form-group mt-3">
<h2>Create Default RAG Library</h2>
<p>This function will create a default library setup for RAG purposes. More specifically, it will create:</p>
@@ -35,7 +35,6 @@
Please use it with caution!
</p>
<button type="submit" name="action" value="refresh_all_documents" class="btn btn-danger">Refresh All Documents (expensive)</button>
</p>
</div>
</form>
</div>

View File

@@ -7,7 +7,7 @@
{% block content_description %}View License Usage{% endblock %}
{% block content %}
<form action="{{ url_for('entitlements_bp.handle_usage_selection') }}" method="POST">
<form method="POST">
{{ render_selectable_table(headers=["Usage ID", "Start Date", "End Date", "Storage (MiB)", "Embedding (MiB)", "Interaction (tokens)"], rows=rows, selectable=False, id="usagesTable") }}
<!-- <div class="form-group mt-3">-->
<!-- <button type="submit" name="action" value="edit_user" class="btn btn-primary">Edit Selected User</button>-->

View File

@@ -14,5 +14,6 @@
<!-- Gebundelde CSS (bevat nu al je CSS) -->
<link href="{{url_for('static', filename='dist/main.css')}}" rel="stylesheet" />
<base href="/admin/">
</head>

View File

@@ -9,7 +9,7 @@
{% block content %}
<div class="container">
<form method="POST" action="{{ url_for(action_url) }}">
<form method="POST">
{{ render_selectable_table(headers=["ID", "Name", "Type"], rows=rows, selectable=True, id=table_id) }}
<div class="form-group mt-3">
<button type="submit" name="action" value="edit_{{component_type|lower}}" class="btn btn-primary">Edit {{ component_type }}</button>

View File

@@ -11,7 +11,7 @@
<div class="row">
<!-- Main Specialist Editor -->
<div class="col-12" id="mainEditorSection">
<form method="post" id="specialistForm" action="{{ url_for('interaction_bp.edit_specialist', specialist_id=specialist_id) }}">
<form method="post" id="specialistForm">
{{ form.hidden_tag() }}
{% set disabled_fields = ['type', 'type_version'] %}
{% set exclude_fields = [] %}
@@ -348,7 +348,7 @@ document.addEventListener('DOMContentLoaded', function() {
editorTabLink.classList.contains('component-task') ? 'task' : 'tool';
// Submit the data
fetch(`/admin/interaction/${componentType}/${componentId}/save`, {
fetch(`interaction/${componentType}/${componentId}/save`, {
method: 'POST',
body: formData,
headers: {

View File

@@ -9,7 +9,7 @@
{% block content %}
<div class="container">
<form method="POST" action="{{ url_for('interaction_bp.handle_chat_session_selection') }}" id="chatSessionsForm">
<form method="POST" id="chatSessionsForm">
{{ render_selectable_table(headers=["ID", "Question At", "Detailed Question At", "Answer At", "Processing Error"], rows=rows, selectable=False, id="interactionsTable") }}
{# <div class="form-group mt-3 d-flex justify-content-between">#}
{# <div>#}

View File

@@ -6,7 +6,7 @@
{% block content %}
<div class="container">
<form method="POST" action="{{ form_action }}" id="{{ table_id }}-form">
<form method="POST" action="{{ form_action.lstrip('/') }}" id="{{ table_id }}-form">
{% include 'eveai_list_view.html' %}
</form>
</div>

View File

@@ -53,7 +53,7 @@
<a class="navbar-brand font-weight-bolder ms-sm-3 d-block d-md-none" href=" https://www.flow-it.net " rel="tooltip" title="Realised by Josako & Kobe" data-placement="bottom" target="_blank">
EveAI
</a>
<a href="/session_defaults" class="btn btn-sm bg-gradient-primary mb-0 ms-auto d-lg-none d-block">
<a href="session_defaults" class="btn btn-sm bg-gradient-primary mb-0 ms-auto d-lg-none d-block">
{% if 'tenant' in session %}
TENANT: {{ session['tenant'].get('name', 'None') }}
{% endif %}
@@ -69,24 +69,24 @@
<ul class="navbar-nav navbar-nav-hover mx-auto">
{% if current_user.is_authenticated %}
{{ dropdown('Tenants', 'source_environment', [
{'name': 'Tenants', 'url': '/user/tenants', 'roles': ['Super User', 'Partner Admin']},
{'name': 'Tenant Overview', 'url': '/user/tenant_overview', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Edit Tenant', 'url': '/user/tenant/' ~ session['tenant'].get('id'), 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Tenant Partner Services', 'url': '/user/tenant_partner_services', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Tenant Makes', 'url': '/user/tenant_makes', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Tenant Projects', 'url': '/user/tenant_projects', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Users', 'url': '/user/view_users', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Tenants', 'url': 'user/tenants', 'roles': ['Super User', 'Partner Admin']},
{'name': 'Tenant Overview', 'url': 'user/tenant_overview', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Edit Tenant', 'url': 'user/tenant/' ~ session['tenant'].get('id'), 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Tenant Partner Services', 'url': 'user/tenant_partner_services', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Tenant Makes', 'url': 'user/tenant_makes', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Tenant Projects', 'url': 'user/tenant_projects', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Users', 'url': 'user/view_users', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
]) }}
{% endif %}
{% if current_user.is_authenticated and current_user.has_roles('Super User') %}
{% set partner_menu_items = [
{'name': 'Partners', 'url': '/partner/partners', 'roles': ['Super User']},
{'name': 'Partner Services', 'url': '/partner/partner_services', 'roles': ['Super User']}
{'name': 'Partners', 'url': 'partner/partners', 'roles': ['Super User']},
{'name': 'Partner Services', 'url': 'partner/partner_services', 'roles': ['Super User']}
] %}
{% if 'partner' in session and session['partner'] %}
{% set partner_menu_items = partner_menu_items + [
{'name': 'Edit Partner', 'url': '/partner/partner/' ~ session['partner'].get('id'), 'roles': ['Super User']}
{'name': 'Edit Partner', 'url': 'partner/partner/' ~ session['partner'].get('id'), 'roles': ['Super User']}
] %}
{% endif %}
@@ -94,42 +94,42 @@
{% endif %}
{% if current_user.is_authenticated %}
{{ dropdown('Documents', 'note_stack', [
{'name': 'Catalogs', 'url': '/document/catalogs', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Processors', 'url': '/document/processors', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Retrievers', 'url': '/document/retrievers', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Add Document', 'url': '/document/add_document', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Add URL', 'url': '/document/add_url', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Documents', 'url': '/document/documents', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Document Processing', 'url': '/document/documents_processing', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Library Operations', 'url': '/document/library_operations', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Catalogs', 'url': 'document/catalogs', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Processors', 'url': 'document/processors', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Retrievers', 'url': 'document/retrievers', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Add Document', 'url': 'document/add_document', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Add URL', 'url': 'document/add_url', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Documents', 'url': 'document/documents', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Document Processing', 'url': 'document/documents_processing', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Library Operations', 'url': 'document/library_operations', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
]) }}
{% endif %}
{% if current_user.is_authenticated %}
{{ dropdown('Interactions', 'hub', [
{'name': 'Specialists', 'url': '/interaction/specialists', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Specialist Magic Links', 'url': '/interaction/specialist_magic_links', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Assets', 'url': '/interaction/assets', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Data Capsules', 'url': '/interaction//eveai_data_capsules', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Chat Sessions', 'url': '/interaction/chat_sessions', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Specialists', 'url': 'interaction/specialists', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Specialist Magic Links', 'url': 'interaction/specialist_magic_links', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Assets', 'url': 'interaction/assets', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Data Capsules', 'url': 'interaction/eveai_data_capsules', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Chat Sessions', 'url': 'interaction/chat_sessions', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
]) }}
{% endif %}
{% if current_user.is_authenticated %}
{{ dropdown('Entitlements', 'settings', [
{'name': 'License Tiers', 'url': '/entitlements/license_tiers', 'roles': ['Super User', 'Partner Admin']},
{'name': 'Trigger Actions', 'url': '/administration/trigger_actions', 'roles': ['Super User']},
{'name': 'Licenses', 'url': '/entitlements/licenses', 'roles': ['Super User', 'Tenant Admin', 'Partner Admin']},
{'name': 'Active Usage', 'url': '/entitlements/active_usage', 'roles': ['Super User', 'Tenant Admin', 'Partner Admin']},
{'name': 'License Tiers', 'url': 'entitlements/license_tiers', 'roles': ['Super User', 'Partner Admin']},
{'name': 'Trigger Actions', 'url': 'administration/trigger_actions', 'roles': ['Super User']},
{'name': 'Licenses', 'url': 'entitlements/licenses', 'roles': ['Super User', 'Tenant Admin', 'Partner Admin']},
{'name': 'Active Usage', 'url': 'entitlements/active_usage', 'roles': ['Super User', 'Tenant Admin', 'Partner Admin']},
]) }}
{% endif %}
{% if current_user.is_authenticated %}
{{ dropdown(current_user.user_name, 'person', [
{'name': 'Session Defaults', 'url': '/session_defaults', 'roles': ['Super User', 'Tenant Admin']},
{'name': 'Release Notes', 'url': '/release_notes', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Logout', 'url': '/logout'}
{'name': 'Session Defaults', 'url': 'session_defaults', 'roles': ['Super User', 'Tenant Admin']},
{'name': 'Release Notes', 'url': 'release_notes', 'roles': ['Super User', 'Partner Admin', 'Tenant Admin']},
{'name': 'Logout', 'url': 'logout'}
]) }}
{% else %}
{{ dropdown('Account', 'person', [
{'name': 'Login', 'url': '/login'}
{'name': 'Login', 'url': 'login'}
]) }}
{% endif %}
</ul>

View File

@@ -6,7 +6,7 @@
{% block content %}
<!-- Trigger action Form -->
<form method="POST" action="{{ url_for('partner_bp.handle_trigger_action') }}">
<form method="POST">
<div class="form-group mt-3">
<button type="submit" name="action" value="update_usages" class="btn btn-secondary">Update Usages</button>
</div>

View File

@@ -7,7 +7,7 @@
{% block content %}
{% include "security/_messages.html" %}
<form action="{{ url_for('security_bp.forgot_password') }}" method="post" novalidate>
<form method="post" novalidate>
{{ forgot_password_form.hidden_tag() }}
<p>

View File

@@ -4,7 +4,7 @@
{% block content_title %}Sign In{% endblock %}
{% block content_description %}Enter your email and password to Sign In{% endblock %}
{% block content %}
<form action="{{ url_for('security_bp.login') }}" method="post" novalidate>
<form method="post" novalidate>
{{ login_user_form.hidden_tag() }}
<p>
{{ login_user_form.email.label }}<br>

View File

@@ -28,7 +28,7 @@
const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
// Send timezone to the server via a POST request
fetch('/set_user_timezone', {
fetch('set_user_timezone', {
method: 'POST',
headers: {
'Content-Type': 'application/json'

View File

@@ -32,7 +32,7 @@
const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
// Send timezone to the server via a POST request
fetch('/set_user_timezone', {
fetch('set_user_timezone', {
method: 'POST',
headers: {
'Content-Type': 'application/json'

View File

@@ -7,7 +7,7 @@
{% block content_description %}Select the domain you'd like to action upon{% endblock %}
{% block content %}
<form action="{{ url_for('user_bp.handle_tenant_domain_action') }}" method="POST" id="tenantDomainsForm">
<form method="POST" id="tenantDomainsForm">
{{ render_selectable_table(headers=["ID", "Domain Name", "Valid To"], rows=rows, selectable=True, id="tenantDomainsTable") }}
<div class="form-group mt-3 d-flex justify-content-between">
<div>