- 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

@@ -47,7 +47,7 @@ def license_tier():
current_app.logger.info(f"Successfully created license tier {new_license_tier.id}")
flash(f"Successfully created tenant license tier {new_license_tier.id}", 'success')
return redirect(prefixed_url_for('entitlements_bp.license_tiers'))
return redirect(prefixed_url_for('entitlements_bp.license_tiers', for_redirect=True))
else:
form_validation_failed(request, form)
@@ -71,7 +71,7 @@ def license_tiers():
def handle_license_tier_selection():
action = request.form['action']
if action == 'create_license_tier':
return redirect(prefixed_url_for('entitlements_bp.license_tier'))
return redirect(prefixed_url_for('entitlements_bp.license_tier', for_redirect=True))
license_tier_identification = request.form['selected_row']
license_tier_id = ast.literal_eval(license_tier_identification).get('value')
@@ -79,15 +79,15 @@ def handle_license_tier_selection():
match action:
case 'edit_license_tier':
return redirect(prefixed_url_for('entitlements_bp.edit_license_tier',
license_tier_id=license_tier_id))
license_tier_id=license_tier_id, for_redirect=True))
case 'create_license_for_tenant':
return redirect(prefixed_url_for('entitlements_bp.create_license',
license_tier_id=license_tier_id))
license_tier_id=license_tier_id, for_redirect=True))
case 'associate_license_tier_to_partner':
LicenseTierServices.associate_license_tier_with_partner(license_tier_id)
# Add more conditions for other actions
return redirect(prefixed_url_for('entitlements_bp.license_tiers'))
return redirect(prefixed_url_for('entitlements_bp.license_tiers', for_redirect=True))
@entitlements_bp.route('/license_tier/<int:license_tier_id>', methods=['GET', 'POST'])
@@ -113,7 +113,7 @@ def edit_license_tier(license_tier_id):
flash('License Tier updated successfully.', 'success')
return redirect(
prefixed_url_for('entitlements_bp.edit_license_tier', license_tier_id=license_tier_id))
prefixed_url_for('entitlements_bp.edit_license_tier', license_tier_id=license_tier_id, for_redirect=True))
else:
form_validation_failed(request, form)
@@ -152,7 +152,7 @@ def create_license(license_tier_id):
current_app.logger.error(f'Invalid currency {currency} for tenant {tenant_id} while creating license.')
flash(f"Invalid currency {currency} for tenant {tenant_id} while creating license. "
f"Check tenant's currency and try again.", 'danger')
return redirect(prefixed_url_for('user_bp.edit_tenant', tenant_id=tenant_id))
return redirect(prefixed_url_for('user_bp.edit_tenant', tenant_id=tenant_id, for_redirect=True))
# General data
form.currency.data = currency
form.max_storage_mb.data = license_tier.max_storage_mb
@@ -181,7 +181,7 @@ def create_license(license_tier_id):
db.session.add(new_license)
db.session.commit()
flash('License created successfully', 'success')
return redirect(prefixed_url_for('entitlements_bp.edit_license', license_id=new_license.id))
return redirect(prefixed_url_for('entitlements_bp.edit_license', license_id=new_license.id, for_redirect=True))
except Exception as e:
db.session.rollback()
flash(f'Error creating license: {str(e)}', 'error')
@@ -223,7 +223,7 @@ def edit_license(license_id):
flash('License updated successfully.', 'success')
return redirect(
prefixed_url_for('entitlements_bp.edit_license', license_id=license_id))
prefixed_url_for('entitlements_bp.edit_license', license_id=license_id, for_redirect=True))
else:
form_validation_failed(request, form)
@@ -253,11 +253,11 @@ def handle_license_selection():
match action:
case 'edit_license':
return redirect(prefixed_url_for('entitlements_bp.edit_license', license_id=license_id))
return redirect(prefixed_url_for('entitlements_bp.edit_license', license_id=license_id, for_redirect=True))
case 'view_periods':
return redirect(prefixed_url_for('entitlements_bp.license_periods', license_id=license_id))
return redirect(prefixed_url_for('entitlements_bp.license_periods', license_id=license_id, for_redirect=True))
case _:
return redirect(prefixed_url_for('entitlements_bp.licenses'))
return redirect(prefixed_url_for('entitlements_bp.licenses', for_redirect=True))
@entitlements_bp.route('/license/<int:license_id>/periods')
@@ -270,7 +270,7 @@ def license_periods(license_id):
tenant_id = session.get('tenant').get('id')
if license.tenant_id != tenant_id:
flash('Access denied to this license', 'danger')
return redirect(prefixed_url_for('entitlements_bp.licenses'))
return redirect(prefixed_url_for('entitlements_bp.licenses', for_redirect=True))
config = get_license_periods_list_view(license_id)
@@ -315,7 +315,7 @@ def edit_license_period(period_id):
flash(f'Error updating status: {str(e)}', 'danger')
current_app.logger.error(f"Error updating period {period_id}: {str(e)}")
return redirect(prefixed_url_for('entitlements_bp.license_periods', license_id=period.license_id))
return redirect(prefixed_url_for('entitlements_bp.license_periods', license_id=period.license_id, for_redirect=True))
return render_template('entitlements/edit_license_period.html', form=form)
@@ -328,7 +328,7 @@ def handle_license_period_selection(license_id):
# For actions that don't require a selection
if 'selected_row' not in request.form:
return redirect(prefixed_url_for('entitlements_bp.license_periods', license_id=license_id))
return redirect(prefixed_url_for('entitlements_bp.license_periods', license_id=license_id, for_redirect=True))
period_identification = request.form['selected_row']
period_id = ast.literal_eval(period_identification).get('value')
@@ -337,19 +337,19 @@ def handle_license_period_selection(license_id):
case 'view_period_details':
# TODO: Implement period details view if needed
flash('Period details view not yet implemented', 'info')
return redirect(prefixed_url_for('entitlements_bp.license_periods', license_id=license_id))
return redirect(prefixed_url_for('entitlements_bp.license_periods', license_id=license_id, for_redirect=True))
case 'edit_license_period':
# Display a form to choose the new status
return redirect(prefixed_url_for('entitlements_bp.edit_license_period', period_id=period_id))
return redirect(prefixed_url_for('entitlements_bp.edit_license_period', period_id=period_id, for_redirect=True))
case _:
return redirect(prefixed_url_for('entitlements_bp.license_periods', license_id=license_id))
return redirect(prefixed_url_for('entitlements_bp.license_periods', license_id=license_id, for_redirect=True))
@entitlements_bp.route('/view_licenses')
@roles_accepted('Super User', 'Partner Admin', 'Tenant Admin')
def view_licenses_redirect():
# Redirect to the new licenses route
return redirect(prefixed_url_for('entitlements_bp.licenses'))
return redirect(prefixed_url_for('entitlements_bp.licenses', for_redirect=True))
@entitlements_bp.route('/active_usage')
@@ -359,7 +359,7 @@ def active_license_usage():
tenant_id = session.get('tenant', {}).get('id')
if not tenant_id:
flash('No active or pending license period found for this tenant', 'warning')
return redirect(prefixed_url_for('user_bp.tenants'))
return redirect(prefixed_url_for('user_bp.tenants', for_redirect=True))
active_period = LicensePeriod.query \
.join(License) \