Skip to content
Snippets Groups Projects
Commit d78bb3d0 authored by Marcela Ribeiro de Oliveira's avatar Marcela Ribeiro de Oliveira
Browse files

support to role partner

parent 4ce77a63
No related branches found
No related tags found
No related merge requests found
......@@ -64,5 +64,9 @@ class Role < ApplicationRecord
def self.submitter
find_by(name: 'submitter') || create!(name: 'submitter')
end
def self.partner
find_by(name: 'partner') || create!(name: 'partner')
end
end
......@@ -155,6 +155,13 @@ class User < ApplicationRecord
false
end
def is_partner?
roles.each do |role|
return true if role.name == 'partner'
end
false
end
def can_edit?
self.is_admin? || self.is_editor?
end
......
......@@ -38,15 +38,15 @@ class LearningObjectPolicy < ApplicationPolicy
end
def create?
record if user_exists? && user.is_submitter?
record if (user_exists? && user.is_submitter?) || (user_exists? && user.is_partner?)
end
def update?
record if owns? && user.is_submitter?
record if (owns? && user.is_submitter?) || (owns? && user.is_partner?)
end
def publish?
record if user_can_curate? && record.submitted?
record if (user_can_curate? && record.submitted?) || user.is_partner?
end
def destroy?
......
......@@ -112,3 +112,16 @@ RSpec.shared_context "authenticate_user_supervisor", shared_context: :metadata d
end
end
RSpec.shared_context "authenticate_user_partner", shared_context: :metadata do
let(:auth_client) { @auth_headers['client'] }
let(:uid) { @auth_headers['uid'] }
let(:access_token) { @auth_headers['access-token'] }
let(:role) { Role.all }
before do
@user = create(:user, roles: [role.find_by(name: 'partner')])
@auth_headers = @user.create_new_auth_token
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment