- Added EveAI Client to project

- Improvements to EntitlementsDomain & Services
- Prechecks in Document domain
- Add audit information to LicenseUsage
This commit is contained in:
Josako
2025-05-17 15:56:14 +02:00
parent b4f7b210e0
commit 5c982fcc2c
260 changed files with 48683 additions and 43 deletions

View File

@@ -1,4 +1,4 @@
from datetime import datetime as dt, timezone as tz
from datetime import datetime as dt, timezone as tz, timedelta
from flask import request, redirect, flash, render_template, Blueprint, session, current_app
from flask_security import roles_accepted, current_user
from sqlalchemy.exc import SQLAlchemyError
@@ -8,9 +8,9 @@ import ast
from common.models.entitlements import License, LicenseTier, LicenseUsage, LicensePeriod, PeriodStatus
from common.extensions import db, cache_manager
from common.services.entitlements.license_tier_services import LicenseTierServices
from common.services.user.partner_services import PartnerServices
from common.services.user.user_services import UserServices
from common.services.entitlements import LicenseTierServices
from common.services.user import PartnerServices
from common.services.user import UserServices
from common.utils.eveai_exceptions import EveAIException
from common.utils.security_utils import current_user_has_role
from .entitlements_forms import LicenseTierForm, LicenseForm
@@ -150,6 +150,7 @@ def create_license(license_tier_id):
tenant_id = session.get('tenant').get('id')
currency = session.get('tenant').get('currency')
readonly_fields = []
if current_user_has_role("Partner Admin"): # The Partner Admin can only set start & end dates, and allowed fields
readonly_fields = [field.name for field in form if (field.name != 'nr_of_periods' and field.name != 'start_date'
and not field.name.endswith('allowed'))]
@@ -337,6 +338,8 @@ def handle_license_selection():
return redirect(prefixed_url_for('entitlements_bp.edit_license', license_id=license_id))
case 'view_periods':
return redirect(prefixed_url_for('entitlements_bp.view_license_periods', license_id=license_id))
case _:
return redirect(prefixed_url_for('entitlements_bp.view_licenses'))
@entitlements_bp.route('/license/<int:license_id>/periods')