Project

General

Profile

« Previous | Next » 

Revision f1313e54

Added by Nofar Alfassi 4 months ago

Fixes #37015 - Refactor OwnerClassifier

- Introduce `classify_owner` class method for owner classification.
- Implement private method for input validation.
- Add error handling to raise the necessary exceptions.
- Add deprecation warning to the `user_or_usergroup` method.

View differences:

app/models/concerns/hostext/ownership.rb
# supports a simple user, or a usergroup
# selection parameter is expected to be an ActiveRecord id_and_type method (see Foreman's AR extentions).
def is_owned_by=(selection)
owner = OwnerClassifier.new(selection).user_or_usergroup
owner = OwnerClassifier.classify_owner(selection)
self.owner = owner
end
def owner_suggestion
owner_id_and_type = Setting[:host_owner]
owner = OwnerClassifier.new(owner_id_and_type).user_or_usergroup
owner = OwnerClassifier.classify_owner(owner_id_and_type)
self.owner || owner || User.current
end

Also available in: Unified diff