Module: Mumuki::Domain::Helpers::User
- Extended by:
- ActiveSupport::Concern
- Includes:
- Mumukit::Auth::Roles, Mumukit::Platform::Notifiable
- Included in:
- User
- Defined in:
- lib/mumuki/domain/helpers/user.rb
Instance Method Summary collapse
-
#discusser_of?(organization) ⇒ Boolean
Tells whether this user has forum discusser permissions in the given organization.
-
#full_name ⇒ Object
(also: #name)
Profile.
- #has_immersive_main_organization? ⇒ Boolean
- #has_main_organization? ⇒ Boolean
-
#has_role? ⇒ Object
Permissions.
- #has_student_granted_organizations? ⇒ Boolean
- #main_organization ⇒ Object
- #merge_permissions!(new_permissions) ⇒ Object
- #platform_class_name ⇒ Object
- #profile_completed? ⇒ Boolean
-
#student_granted_organizations ⇒ Object
Accesible organizations.
-
#to_param ⇒ Object
API Exposure.
- #to_s ⇒ Object
Instance Method Details
#discusser_of?(organization) ⇒ Boolean
Tells whether this user has forum discusser permissions in the given organization
45 46 47 |
# File 'lib/mumuki/domain/helpers/user.rb', line 45 def discusser_of?(organization) organization.forum_discussions_minimal_role, organization.slug end |
#full_name ⇒ Object Also known as: name
Profile
60 61 62 |
# File 'lib/mumuki/domain/helpers/user.rb', line 60 def full_name "#{first_name} #{last_name}" end |
#has_immersive_main_organization? ⇒ Boolean
94 95 96 |
# File 'lib/mumuki/domain/helpers/user.rb', line 94 def has_immersive_main_organization? !!main_organization.try(&:immersive?) end |
#has_main_organization? ⇒ Boolean
90 91 92 |
# File 'lib/mumuki/domain/helpers/user.rb', line 90 def has_main_organization? student_granted_organizations.length == 1 end |
#has_role? ⇒ Object
Permissions
8 9 10 11 12 13 14 15 16 |
# File 'lib/mumuki/domain/helpers/user.rb', line 8 delegate :has_role?, :add_permission!, :remove_permission!, :has_permission?, :has_permission_delegation?, :protect!, :protect_delegation!, :protect_permissions_assignment!, to: :permissions |
#has_student_granted_organizations? ⇒ Boolean
82 83 84 |
# File 'lib/mumuki/domain/helpers/user.rb', line 82 def has_student_granted_organizations? student_granted_organizations.present? end |
#main_organization ⇒ Object
86 87 88 |
# File 'lib/mumuki/domain/helpers/user.rb', line 86 def main_organization student_granted_organizations.first end |
#merge_permissions!(new_permissions) ⇒ Object
22 23 24 |
# File 'lib/mumuki/domain/helpers/user.rb', line 22 def () self. = .merge() end |
#platform_class_name ⇒ Object
18 19 20 |
# File 'lib/mumuki/domain/helpers/user.rb', line 18 def platform_class_name :User end |
#profile_completed? ⇒ Boolean
66 67 68 |
# File 'lib/mumuki/domain/helpers/user.rb', line 66 def profile_completed? self.class.profile_fields.map { |it| self[it] }.all? &:present? end |
#student_granted_organizations ⇒ Object
Accesible organizations
76 77 78 79 80 |
# File 'lib/mumuki/domain/helpers/user.rb', line 76 def student_granted_organizations .student_granted_organizations.map do |org| Mumukit::Platform::Organization.find_by_name!(org) rescue nil end.compact end |
#to_param ⇒ Object
API Exposure
100 101 102 |
# File 'lib/mumuki/domain/helpers/user.rb', line 100 def to_param uid end |
#to_s ⇒ Object
70 71 72 |
# File 'lib/mumuki/domain/helpers/user.rb', line 70 def to_s "#{full_name} <#{email}> [#{uid}]" end |