diff --git a/app/models/concerns/permissions.rb b/app/models/concerns/permissions.rb deleted file mode 100644 index e7b6c0668..000000000 --- a/app/models/concerns/permissions.rb +++ /dev/null @@ -1,27 +0,0 @@ -module Permissions - extend ActiveSupport::Concern - - included do - rolify role_cname: 'Permission', role_table_name: :permission, role_join_table_name: :members_permissions - - include InstanceMethods - end - - module InstanceMethods - def organiser? - organised_chapters.present? - end - - def admin_or_organiser? - has_role?(:admin) || organiser? - end - - def monthlies_organiser? - Meeting.with_role(:organiser, self).present? - end - - def organised_chapters - Chapter.with_role(:organiser, self) - end - end -end diff --git a/app/models/member.rb b/app/models/member.rb index 675a68a21..72fa23e44 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -1,7 +1,8 @@ class Member < ApplicationRecord - include Permissions include DigestHelper + rolify role_cname: 'Permission', role_table_name: :permission, role_join_table_name: :members_permissions + enum :how_you_found_us, { from_a_friend: 0, search_engine: 1, @@ -64,6 +65,22 @@ class Member < ApplicationRecord attr_accessor :attendance, :newsletter + def organiser? + organised_chapters.present? + end + + def admin_or_organiser? + has_role?(:admin) || organiser? + end + + def monthlies_organiser? + Meeting.with_role(:organiser, self).present? + end + + def organised_chapters + Chapter.with_role(:organiser, self) + end + def manager? is_admin? || has_role?(:organiser, :any) end diff --git a/spec/models/concerns/permissions_spec.rb b/spec/models/member_permissions_spec.rb similarity index 97% rename from spec/models/concerns/permissions_spec.rb rename to spec/models/member_permissions_spec.rb index 21ed68e0e..b7354fe4e 100644 --- a/spec/models/concerns/permissions_spec.rb +++ b/spec/models/member_permissions_spec.rb @@ -1,4 +1,4 @@ -RSpec.describe Permissions do +RSpec.describe Member do subject(:member) { Fabricate(:member) } let(:chapter) { Fabricate(:chapter) }