- Correction of behaviour where boolean fields were not properly initialised
- Ensure that primary and financial contact fields are properly saved
This commit is contained in:
@@ -119,7 +119,7 @@ def edit_catalog(catalog_id):
|
||||
catalog = Catalog.query.get_or_404(catalog_id)
|
||||
tenant_id = session.get('tenant').get('id')
|
||||
|
||||
form = EditCatalogForm(request.form, obj=catalog)
|
||||
form = EditCatalogForm(obj=catalog)
|
||||
full_config = cache_manager.catalogs_config_cache.get_config(catalog.type)
|
||||
if request.method == 'POST' and form.validate_on_submit():
|
||||
form.populate_obj(catalog)
|
||||
@@ -190,7 +190,7 @@ def edit_processor(processor_id):
|
||||
processor.catalog = None
|
||||
|
||||
# Create form instance with the processor
|
||||
form = EditProcessorForm(request.form, obj=processor)
|
||||
form = EditProcessorForm(obj=processor)
|
||||
|
||||
full_config = cache_manager.processors_config_cache.get_config(processor.type)
|
||||
form.add_dynamic_fields("configuration", full_config, processor.configuration)
|
||||
@@ -290,7 +290,7 @@ def edit_retriever(retriever_id):
|
||||
retriever = Retriever.query.get_or_404(retriever_id)
|
||||
|
||||
# Create form instance with the retriever
|
||||
form = EditRetrieverForm(request.form, obj=retriever)
|
||||
form = EditRetrieverForm(obj=retriever)
|
||||
|
||||
retriever_config = cache_manager.retrievers_config_cache.get_config(retriever.type, retriever.type_version)
|
||||
form.add_dynamic_fields("configuration", retriever_config, retriever.configuration)
|
||||
@@ -575,7 +575,7 @@ def edit_document(document_id):
|
||||
@roles_accepted('Super User', 'Partner Admin', 'Tenant Admin')
|
||||
def edit_document_version(document_version_id):
|
||||
doc_vers = DocumentVersion.query.get_or_404(document_version_id)
|
||||
form = EditDocumentVersionForm(request.form, obj=doc_vers)
|
||||
form = EditDocumentVersionForm(obj=doc_vers)
|
||||
|
||||
doc_vers = DocumentVersion.query.get_or_404(document_version_id)
|
||||
catalog_id = doc_vers.document.catalog_id
|
||||
|
||||
@@ -165,8 +165,8 @@ class EditEveAIAgentForm(BaseEditComponentForm):
|
||||
|
||||
|
||||
class EditEveAITaskForm(BaseEditComponentForm):
|
||||
task_description = StringField('Task Description', validators=[Optional()])
|
||||
expected_outcome = StringField('Expected Outcome', validators=[Optional()])
|
||||
task_description = TextAreaField('Task Description', validators=[Optional()])
|
||||
expected_outcome = TextAreaField('Expected Outcome', validators=[Optional()])
|
||||
|
||||
|
||||
class EditEveAIToolForm(BaseEditComponentForm):
|
||||
|
||||
@@ -199,7 +199,7 @@ def specialist():
|
||||
@roles_accepted('Super User', 'Partner Admin', 'Tenant Admin')
|
||||
def edit_specialist(specialist_id):
|
||||
specialist = Specialist.query.get_or_404(specialist_id)
|
||||
form = EditSpecialistForm(request.form, obj=specialist)
|
||||
form = EditSpecialistForm(obj=specialist)
|
||||
|
||||
specialist_config = cache_manager.specialists_config_cache.get_config(specialist.type, specialist.type_version)
|
||||
form.add_dynamic_fields("configuration", specialist_config, specialist.configuration)
|
||||
@@ -451,7 +451,7 @@ def edit_task(task_id):
|
||||
def save_task(task_id):
|
||||
task = EveAITask.query.get_or_404(task_id) if task_id else EveAITask()
|
||||
tenant_id = session.get('tenant').get('id')
|
||||
form = EditEveAITaskForm(formdata=request.form, obj=task) # Bind explicit formdata
|
||||
form = EditEveAITaskForm(obj=task) # Bind explicit formdata
|
||||
|
||||
if form.validate_on_submit():
|
||||
try:
|
||||
@@ -725,7 +725,7 @@ def specialist_magic_link():
|
||||
def edit_specialist_magic_link(specialist_magic_link_id):
|
||||
specialist_ml = SpecialistMagicLink.query.get_or_404(specialist_magic_link_id)
|
||||
# We need to pass along the extra kwarg specialist_id, as this id is required to initialize the form
|
||||
form = EditSpecialistMagicLinkForm(request.form, obj=specialist_ml, specialist_id=specialist_ml.specialist_id)
|
||||
form = EditSpecialistMagicLinkForm(obj=specialist_ml, specialist_id=specialist_ml.specialist_id)
|
||||
|
||||
# Find the Specialist type and type_version to enable to retrieve the arguments
|
||||
specialist = Specialist.query.get_or_404(specialist_ml.specialist_id)
|
||||
|
||||
@@ -145,7 +145,7 @@ def edit_partner_service(partner_service_id):
|
||||
partner_service = PartnerService.query.get_or_404(partner_service_id)
|
||||
partner_id = session['partner']['id']
|
||||
|
||||
form = EditPartnerServiceForm(request.form, obj=partner_service)
|
||||
form = EditPartnerServiceForm(obj=partner_service)
|
||||
partner_service_config = cache_manager.partner_services_config_cache.get_config(partner_service.type,
|
||||
partner_service.type_version)
|
||||
form.add_dynamic_fields("configuration", partner_service_config, partner_service.configuration)
|
||||
|
||||
@@ -262,6 +262,25 @@ def user():
|
||||
return render_template('user/user.html', form=form)
|
||||
|
||||
|
||||
def _populate_user_from_form(form: EditUserForm, user: User) -> None:
|
||||
"""Vul het User-object met veilige velden uit het formulier.
|
||||
|
||||
Let op:
|
||||
- Relaties zoals ``roles`` worden hier bewust NIET gezet.
|
||||
- Systeemvelden / read-only velden (tenant_id, confirmed_at, login_count, ...)
|
||||
laten we hier ongemoeid.
|
||||
"""
|
||||
|
||||
# Basisgegevens
|
||||
user.first_name = form.first_name.data
|
||||
user.last_name = form.last_name.data
|
||||
user.valid_to = form.valid_to.data
|
||||
|
||||
# Contact-flags
|
||||
user.is_primary_contact = form.is_primary_contact.data
|
||||
user.is_financial_contact = form.is_financial_contact.data
|
||||
|
||||
|
||||
@user_bp.route('/user/<int:user_id>', methods=['GET', 'POST'])
|
||||
@roles_accepted('Super User', 'Tenant Admin', 'Partner Admin')
|
||||
def edit_user(user_id):
|
||||
@@ -269,10 +288,8 @@ def edit_user(user_id):
|
||||
form = EditUserForm(obj=user)
|
||||
|
||||
if form.validate_on_submit():
|
||||
# Populate the user with form data
|
||||
user.first_name = form.first_name.data
|
||||
user.last_name = form.last_name.data
|
||||
user.valid_to = form.valid_to.data
|
||||
# Vul het user-object met veilige velden uit het formulier
|
||||
_populate_user_from_form(form, user)
|
||||
user.updated_at = dt.now(tz.utc)
|
||||
|
||||
# Update roles
|
||||
@@ -622,7 +639,7 @@ def edit_tenant_make(tenant_make_id):
|
||||
tenant_make = TenantMake.query.get_or_404(tenant_make_id)
|
||||
|
||||
# Create form instance with the tenant make
|
||||
form = EditTenantMakeForm(request.form, obj=tenant_make)
|
||||
form = EditTenantMakeForm(obj=tenant_make)
|
||||
|
||||
# Initialiseer de allowed_languages selectie met huidige waarden
|
||||
if request.method == 'GET':
|
||||
@@ -756,7 +773,7 @@ def edit_consent_version(consent_version_id):
|
||||
cv = ConsentVersion.query.get_or_404(consent_version_id)
|
||||
|
||||
# Create form instance with the tenant make
|
||||
form = EditConsentVersionForm(request.form, obj=cv)
|
||||
form = EditConsentVersionForm(obj=cv)
|
||||
|
||||
if form.validate_on_submit():
|
||||
# Update basic fields
|
||||
|
||||
Reference in New Issue
Block a user