parent
3d42e71f1a
commit
2b73e59c8f
@ -43,7 +43,7 @@ class DmsfFilesController < ApplicationController
|
|||||||
|
|
||||||
def permissions
|
def permissions
|
||||||
if @file
|
if @file
|
||||||
render_403 unless DmsfFolder.permissions?(@file.dmsf_folder)
|
render_403 unless DmsfFolder.permissions?(@file.dmsf_folder, true, true)
|
||||||
end
|
end
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|||||||
@ -107,11 +107,12 @@ class DmsfFolder < ActiveRecord::Base
|
|||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.permissions?(folder, allow_system = true)
|
def self.permissions?(folder, allow_system = true, file = false)
|
||||||
# Administrator?
|
# Administrator?
|
||||||
return true if (User.current&.admin? || folder.nil?)
|
return true if (User.current&.admin? || folder.nil?)
|
||||||
# Permissions to the project?
|
# Permissions to the project?
|
||||||
return false unless User.current&.allowed_to?(:view_dmsf_folders, folder.project)
|
# If file is true we work just with the file and not viewing the folder
|
||||||
|
return false unless file || User.current&.allowed_to?(:view_dmsf_folders, folder.project)
|
||||||
# System folder?
|
# System folder?
|
||||||
if folder && folder.system
|
if folder && folder.system
|
||||||
return false unless allow_system || User.current.allowed_to?(:display_system_folders, folder.project)
|
return false unless allow_system || User.current.allowed_to?(:display_system_folders, folder.project)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user