Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/models/ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ def custom_permissions
# restrict depositing permissions
if can_deposit?
can [:create], DataSet
can [:doi], DataSet
can [:create], FileSet
else
cannot [:create, :edit, :update, :destroy], DataSet
cannot [:create, :edit, :update, :destroy], FileSet
end
if admin?
can [:doi], DataSet
# can [:create, :show, :add_user, :remove_user, :index, :edit, :update, :destroy], Role # uncomment to expose Role management in UI
end
end
Expand Down
2 changes: 1 addition & 1 deletion app/views/hyrax/base/_edit_panel.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
data: { confirm: "Delete this #{@presenter.human_readable_type}?" },
method: :delete %>
<% end %>
<% if @presenter.doi_minting_enabled? && !@presenter.doi_minted? %>
<% if @presenter.doi_minting_enabled? && !@presenter.doi_minted? && @presenter.current_ability.admin? %>
<br/><br/>
<% if @presenter.doi_pending? %>
<button class="btn btn-primary disabled" title="DOI minting processing">
Expand Down
9 changes: 9 additions & 0 deletions spec/models/ability_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
expect(ability.depositor?).to be false
expect(ability.can? :create, DataSet).to be false
end
it 'without doi access' do
expect(ability.can? :doi, DataSet).to be false
end
end
context 'when a depositor' do
let(:depositing_role) { Sipity::Role.find_by_name(Hyrax::RoleRegistry::DEPOSITING) }
Expand All @@ -28,6 +31,9 @@
expect(ability.depositor?).to be true
expect(ability.can? :create, DataSet).to be true
end
it 'without doi access' do
expect(ability.can? :doi, DataSet).to be false
end
end
context 'when an admin' do
let(:user) { FactoryBot.create :admin }
Expand All @@ -36,6 +42,9 @@
expect(ability.depositor?).to be false
expect(ability.can? :create, DataSet).to be true
end
it 'with doi access' do
expect(ability.can? :doi, DataSet).to be true
end
end
end
end