Allow admin to deactivate invite created by users (#5860)

rebase/4.0.0rc2
Yamagishi Kazutoshi 2017-12-01 20:26:19 +09:00 committed by Eugen Rochko
parent 9927df83ad
commit df03042a6e
3 changed files with 7 additions and 3 deletions

View File

@ -10,7 +10,7 @@ class InvitePolicy < ApplicationPolicy
end end
def destroy? def destroy?
owner? || staff? owner? || (Setting.min_invite_role == 'admin' ? admin? : staff?)
end end
private private

View File

@ -16,4 +16,6 @@
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) } %time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
= l invite.expires_at = l invite.expires_at
%td= table_link_to 'link', public_invite_url(invite_code: invite.code), public_invite_url(invite_code: invite.code) %td= table_link_to 'link', public_invite_url(invite_code: invite.code), public_invite_url(invite_code: invite.code)
%td= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete if policy(invite).destroy? %td
- if !invite.expired? && policy(invite).destroy?
= table_link_to 'times', t('invites.delete'), admin_invite_path(invite), method: :delete

View File

@ -12,4 +12,6 @@
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) } %time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
= l invite.expires_at = l invite.expires_at
%td= table_link_to 'link', public_invite_url(invite_code: invite.code), public_invite_url(invite_code: invite.code) %td= table_link_to 'link', public_invite_url(invite_code: invite.code), public_invite_url(invite_code: invite.code)
%td= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete if policy(invite).destroy? %td
- if invite.expired? && policy(invite).destroy?
= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete