Skip to content

Commit

Permalink
Merge branch 'dev' into enh-perf-ldap-update
Browse files Browse the repository at this point in the history
  • Loading branch information
zamentur authored Jan 20, 2025
2 parents 2a29bed + fbce444 commit 67e020a
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 7 deletions.
2 changes: 2 additions & 0 deletions .gitlab/ci/install.gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,14 @@ upgrade:
extends: .install-stage
image: "core-tests"
script:
- apt update
- DEBIAN_FRONTEND=noninteractive SUDO_FORCE_REMOVE=yes apt --assume-yes -o Dpkg::Options::="--force-confold" --allow-downgrades install ${CI_PROJECT_DIR}/*.deb


install-postinstall:
extends: .install-stage
image: "before-install"
script:
- apt update
- DEBIAN_FRONTEND=noninteractive SUDO_FORCE_REMOVE=yes apt --assume-yes -o Dpkg::Options::="--force-confold" --allow-downgrades install ${CI_PROJECT_DIR}/*.deb
- yunohost tools postinstall -d domain.tld -u syssa -F 'Syssa Mine' -p the_password --ignore-dyndns --force-diskspace
3 changes: 2 additions & 1 deletion locales/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -731,5 +731,6 @@
"dyndns_set_recovery_password_unknown_domain": "Konnte Wiederherstellungspasswort nicht einstellen: Domäne nicht registriert",
"dyndns_set_recovery_password_failed": "Konnte Wiederherstellungspasswort nicht einstellen: {error}",
"dyndns_set_recovery_password_success": "Wiederherstellungspasswort eingestellt!",
"global_settings_setting_ssh_port_help": "Ein Port unter 1024 wird bevorzugt, um Kaperversuche durch Nicht-Administratordienste auf dem Remote-Computer zu verhindern. Sie sollten auch vermeiden, einen bereits verwendeten Port zu verwenden, z. B. 80 oder 443."
"global_settings_setting_ssh_port_help": "Ein Port unter 1024 wird bevorzugt, um Kaperversuche durch Nicht-Administratordienste auf dem Remote-Computer zu verhindern. Sie sollten auch vermeiden, einen bereits verwendeten Port zu verwenden, z. B. 80 oder 443.",
"migration_0027_patch_yunohost_conflicts": "Patch anwenden, um das Konfliktproblem zu umgehen…"
}
4 changes: 3 additions & 1 deletion locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -841,5 +841,7 @@
"pydantic_value_error_url_host": "URL hôte invalide",
"pydantic_value_error_url_port": "Port URL non valide, le port ne peut pas dépasser 65535",
"pydantic_value_error_url_scheme": "Schéma d'URL non invalide ou manquant",
"unable_authenticate": "Échec de l'authentification de la session"
"unable_authenticate": "Échec de l'authentification de la session",
"group_cannot_remove_last_admin": "L'utilisateur '{user}' est le dernier utilisateur du groupe 'admins' et ne sera pas supprimé de celui-ci.",
"user_cannot_delete_last_admin": "L'utilisateur '{user}' est le dernier utilisateur du groupe 'admins' et ne sera pas supprimé."
}
2 changes: 1 addition & 1 deletion src/log.py
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@ def suboperations():
from yunohost.service import _tail

if number and filter_irrelevant:
logs = _tail(log_path, int(number * 4))
logs = _tail(log_path, int(number * 6))
elif number:
logs = _tail(log_path, int(number))
else:
Expand Down
26 changes: 22 additions & 4 deletions src/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -341,14 +341,26 @@ def user_delete(
if not from_import:
operation_logger.start()

user_group_update("all_users", remove=username, force=True, from_import=from_import, sync_perm=False)
user_group_update(
"all_users",
remove=username,
force=True,
from_import=from_import,
sync_perm=False,
)
for group, infos in groups.items():
if group == "all_users":
continue
# If the user is in this group (and it's not the primary group),
# remove the member from the group
if username != group and username in infos["members"]:
user_group_update(group, remove=username, sync_perm=False, from_import=from_import, force=force)
user_group_update(
group,
remove=username,
sync_perm=False,
from_import=from_import,
force=force,
)

# Delete primary group if it exists (why wouldnt it exists ? because some
# epic bug happened somewhere else and only a partial removal was
Expand Down Expand Up @@ -870,7 +882,11 @@ def progress(info=""):

def _on_failure(user, exception):
if exception.key == "group_cannot_remove_last_admin":
logger.warning(user + ": " + m18n.n("user_import_cannot_edit_or_delete_admins", user=user))
logger.warning(
user
+ ": "
+ m18n.n("user_import_cannot_edit_or_delete_admins", user=user)
)
else:
result["errors"] += 1
logger.error(user + ": " + str(exception))
Expand Down Expand Up @@ -1200,7 +1216,9 @@ def user_group_update(
if isinstance(remove, str):
remove = [remove]
if admins and not set(admins) - set(remove):
raise YunohostValidationError("group_cannot_remove_last_admin", user=remove[0])
raise YunohostValidationError(
"group_cannot_remove_last_admin", user=remove[0]
)

ldap = _get_ldap_interface()

Expand Down

0 comments on commit 67e020a

Please sign in to comment.