Skip to content

Commit

Permalink
WIP: outlining the #set_root_alises writer method
Browse files Browse the repository at this point in the history
  • Loading branch information
dgdavid committed Sep 20, 2021
1 parent 31e31c7 commit 0fa6786
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions src/lib/y2users/linux/users_writer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ def initialize(config, initial_config)

@config = config
@initial_config = initial_config
@wrong_users = []
end

# Performs the changes in the system in order to create, edit or delete users according to
Expand All @@ -54,6 +55,25 @@ def write
with_issues do |issues|
issues.concat(add_users)
issues.concat(edit_users)
issues.concat(update_root_aliases)
end
end

# FIXME
def update_root_aliases
# FIXME: duplicated line codes, move to a method?
new_users = config.users.without(initial_config.users.ids)
edited_users = config.users.changed_from(initial_config.users)
users = (new_users + edited_users).select { |u| u.receive_system_mail }

root_aliases = initial_config.users.select { |u| u.receive_system_mail }.map(&:name) & @wrong_users
root_aliases += users.map(&:name) - @wrong_users

with_issues do |issues|
result = Yast::MailAliases.SetRootAlias(root_aliases.join(", "))

issues << Y2Issues::Issue.new(_("Something was wrong while adding root mail aliases"))
log.error("Something was wrong while adding root mail aliases")
end
end

Expand Down Expand Up @@ -97,6 +117,12 @@ def edit_users
# @return [Config]
attr_reader :initial_config

# Collection holding users cannot be created
#
# @return [Array<User>]
attr_reader :wrong_users


# Command for creating new users
USERADD = "/usr/sbin/useradd".freeze
private_constant :USERADD
Expand Down Expand Up @@ -154,6 +180,7 @@ def create_user(user, issues)
try_create_user(user, issues)
clear_home(user, issues) if user.empty_home
rescue Cheetah::ExecutionFailed => e
@wrong_users << user # FIXME
issues << Y2Issues::Issue.new(
format(_("The user '%{username}' could not be created"), username: user.name)
)
Expand Down Expand Up @@ -293,6 +320,8 @@ def edit_user(new_user, old_user, issues)
edit_password(new_user, old_user, issues)
write_auth_keys(new_user, issues) if old_user.authorized_keys != new_user.authorized_keys
rescue Cheetah::ExecutionFailed => e
@wrong_users << new_user # FIXME
@wrong_users << old_user # FIXME
issues << Y2Issues::Issue.new(
format(_("The user '%{username}' could not be modified"), username: new_user.name)
)
Expand Down

0 comments on commit 0fa6786

Please sign in to comment.