Revision f1313e54
Added by Nofar Alfassi 4 months ago
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
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.