- Problem editing user model (Boolean values not set)

This commit is contained in:
Josako
2025-11-17 10:43:21 +01:00
parent 95c8282eb8
commit 78043ab3ef
4 changed files with 14 additions and 18 deletions

View File

@@ -217,21 +217,15 @@ def user():
if form.validate_on_submit():
current_app.logger.info(f"Adding User for tenant {session['tenant']['id']} ")
new_user = User(user_name=form.user_name.data,
email=form.email.data,
first_name=form.first_name.data,
last_name=form.last_name.data,
valid_to=form.valid_to.data,
tenant_id=form.tenant_id.data,
fs_uniquifier=uuid.uuid4().hex,
)
new_user = User()
form.populate_obj(new_user)
timestamp = dt.now(tz.utc)
new_user.created_at = timestamp
new_user.updated_at = timestamp
# Add roles
for role_id in form.roles.data:
for role_id in form.selected_role_ids.data:
the_role = Role.query.get(role_id)
new_user.roles.append(the_role)
@@ -266,18 +260,18 @@ def user():
@roles_accepted('Super User', 'Tenant Admin', 'Partner Admin')
def edit_user(user_id):
user = User.query.get_or_404(user_id) # This will return a 404 if no user is found
tenant_id = session.get('tenant').get('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
user.updated_at = dt.now(tz.utc)
form.populate_obj(user)
timestamp = dt.now(tz.utc)
user.updated_at = timestamp
# Update roles
current_roles = set(role.id for role in user.roles)
selected_roles = set(form.roles.data)
selected_roles = set(form.selected_role_ids.data)
if UserServices.validate_role_assignments(selected_roles):
# Add new roles
for role_id in selected_roles - current_roles:
@@ -303,7 +297,7 @@ def edit_user(user_id):
else:
form_validation_failed(request, form)
form.roles.data = [role.id for role in user.roles]
form.selected_role_ids.data = [role.id for role in user.roles]
return render_template('user/edit_user.html', form=form, user_id=user_id)