mirror of
https://github.com/manyfold3d/manyfold.git
synced 2026-10-22 03:32:18 -05:00
change caber permission names to verbs
This commit is contained in:
8 files changed
+22
-22
No files matched your search
@@ -14,7 +14,7 @@ class ProcessUploadedFileJob < ApplicationJob
|
||||
model_name = model_path.humanize.tr("+", " ").titleize
|
||||
# Create model
|
||||
model = library.models.create(name: model_name, path: "#{model_path}##{SecureRandom.hex(4)}")
|
||||
model.grant_permission_to "owner", owner
|
||||
model.grant_permission_to "own", owner
|
||||
model.update! path: "#{model_path}##{model.id}" # Set to proper ID after saving
|
||||
# Handle different file types
|
||||
begin
|
||||
|
||||
@@ -7,9 +7,9 @@ module DefaultViewPermissions
|
||||
|
||||
def assign_default_view_permissions
|
||||
# Grant local view access by default
|
||||
grant_permission_to("viewer", Role.find_or_create_by(name: :viewer))
|
||||
grant_permission_to("view", Role.find_or_create_by(name: :viewer))
|
||||
# Set default owner
|
||||
owner = SiteSettings.default_user
|
||||
grant_permission_to("owner", owner) if owner
|
||||
grant_permission_to("own", owner) if owner
|
||||
end
|
||||
end
|
||||
@@ -21,7 +21,7 @@ module Followable
|
||||
private
|
||||
|
||||
def post_creation_activity
|
||||
user = permitted_users.with_permission("owner").first || SiteSettings.default_user
|
||||
user = permitted_users.with_permission("own").first || SiteSettings.default_user
|
||||
return if user.nil?
|
||||
user.create_actor_if_missing
|
||||
Federails::Activity.create!(
|
||||
@@ -34,7 +34,7 @@ module Followable
|
||||
|
||||
def post_update_activity
|
||||
return if actor.activities_as_entity.where(created_at: TIMEOUT.minutes.ago..).count > 0
|
||||
user = permitted_users.with_permission("owner").first || SiteSettings.default_user
|
||||
user = permitted_users.with_permission("own").first || SiteSettings.default_user
|
||||
return if user.nil?
|
||||
Federails::Activity.create!(
|
||||
actor: user.actor,
|
||||
|
||||
@@ -15,7 +15,7 @@ class ApplicationPolicy
|
||||
def show?
|
||||
one_of(
|
||||
user&.is_moderator?,
|
||||
check_permissions(record, ["viewer", "editor", "owner"], user, role_fallback: :viewer)
|
||||
check_permissions(record, ["view", "edit", "own"], user, role_fallback: :viewer)
|
||||
)
|
||||
end
|
||||
|
||||
@@ -30,7 +30,7 @@ class ApplicationPolicy
|
||||
def update?
|
||||
one_of(
|
||||
user&.is_moderator?,
|
||||
check_permissions(record, ["editor", "owner"], user, role_fallback: :moderator)
|
||||
check_permissions(record, ["edit", "own"], user, role_fallback: :moderator)
|
||||
)
|
||||
end
|
||||
|
||||
@@ -42,7 +42,7 @@ class ApplicationPolicy
|
||||
all_of(
|
||||
one_of(
|
||||
user&.is_moderator?,
|
||||
check_permissions(record, ["editor", "owner"], user, role_fallback: :moderator)
|
||||
check_permissions(record, ["edit", "own"], user, role_fallback: :moderator)
|
||||
),
|
||||
none_of(
|
||||
SiteSettings.demo_mode_enabled?
|
||||
@@ -59,8 +59,8 @@ class ApplicationPolicy
|
||||
def resolve
|
||||
return scope.all if user.is_moderator? || !scope.respond_to?(:granted_to)
|
||||
|
||||
result = scope.granted_to(["viewer", "editor", "owner"], [user, nil])
|
||||
result = result.or(scope.granted_to(["viewer", "editor", "owner"], user.roles)) if user
|
||||
result = scope.granted_to(["view", "edit", "own"], [user, nil])
|
||||
result = result.or(scope.granted_to(["view", "edit", "own"], user.roles)) if user
|
||||
result
|
||||
end
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ class ModelPolicy < ApplicationPolicy
|
||||
all_of(
|
||||
one_of(
|
||||
user&.is_moderator?,
|
||||
check_permissions(record, ["editor", "owner"], user)
|
||||
check_permissions(record, ["edit", "own"], user)
|
||||
),
|
||||
none_of(
|
||||
SiteSettings.demo_mode_enabled?
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
Caber.configure do |config|
|
||||
# List the object-level permissions you want
|
||||
config.permissions = [
|
||||
"viewer",
|
||||
"editor",
|
||||
"owner"
|
||||
"view",
|
||||
"edit",
|
||||
"own"
|
||||
]
|
||||
end
|
||||
@@ -44,12 +44,12 @@ RSpec.describe ProcessUploadedFileJob do
|
||||
|
||||
it "Sets default owner permission if no owner set" do
|
||||
job.perform(library.id, file)
|
||||
expect(Model.last.permitted_users.with_permission(:owner)).to include admin
|
||||
expect(Model.last.permitted_users.with_permission(:own)).to include admin
|
||||
end
|
||||
|
||||
it "Sets owner permission to provided user" do
|
||||
job.perform(library.id, file, owner: uploader)
|
||||
expect(Model.last.permitted_users.with_permission(:owner)).to include uploader
|
||||
expect(Model.last.permitted_users.with_permission(:own)).to include uploader
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ describe ApplicationPolicy do
|
||||
|
||||
context "when default viewer role access is removed" do
|
||||
before do
|
||||
model.revoke_permission("viewer", Role.find_by(name: :viewer))
|
||||
model.revoke_permission("view", Role.find_by(name: :viewer))
|
||||
end
|
||||
|
||||
it "denies users without individual viewer permission" do
|
||||
@@ -26,7 +26,7 @@ describe ApplicationPolicy do
|
||||
end
|
||||
|
||||
it "allows users with individual viewer permission" do
|
||||
model.grant_permission_to "viewer", viewer
|
||||
model.grant_permission_to "view", viewer
|
||||
expect(policy).to permit(viewer, model)
|
||||
end
|
||||
end
|
||||
@@ -37,7 +37,7 @@ describe ApplicationPolicy do
|
||||
end
|
||||
|
||||
it "allows access if public view permission is set" do
|
||||
model.grant_permission_to "viewer", nil
|
||||
model.grant_permission_to "view", nil
|
||||
expect(policy).to permit(nil, model)
|
||||
end
|
||||
end
|
||||
@@ -72,17 +72,17 @@ describe ApplicationPolicy do
|
||||
end
|
||||
|
||||
it "allows users with granted edit permission" do
|
||||
model.grant_permission_to "editor", viewer
|
||||
model.grant_permission_to "edit", viewer
|
||||
expect(policy).to permit(viewer, model)
|
||||
end
|
||||
|
||||
it "allows users with granted owner permission" do
|
||||
model.grant_permission_to "owner", viewer
|
||||
model.grant_permission_to "own", viewer
|
||||
expect(policy).to permit(viewer, model)
|
||||
end
|
||||
|
||||
it "denies unknown users on public models" do
|
||||
model.grant_permission_to "viewer", nil
|
||||
model.grant_permission_to "view", nil
|
||||
expect(policy).not_to permit(nil, model)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in new issue
Block a user