Postgres compatibility

This commit is contained in:
Karel Picman 2017-06-22 18:42:29 +02:00
parent 99e43e2d45
commit fa01479522
2 changed files with 7 additions and 7 deletions

View File

@ -90,14 +90,14 @@ class DmsfFolder < ActiveRecord::Base
if user.id && user.logged?
permissions = "#{DmsfFolderPermission.table_name}"
folders = "#{DmsfFolder.table_name}"
group_ids = user.groups.map{ |g| g.id }.join(',')
group_ids = user.group_ids.join(',')
group_ids = -1 if group_ids.blank?
allowed = (system && role.allowed_to?(:display_system_folders)) ? 1 : 0
%{
(#{permissions}.object_id IS NULL) OR
(#{permissions}.object_id = #{role.id} AND #{permissions}.object_type = 'Role') OR
((#{permissions}.object_id = #{user.id} OR #{permissions}.object_id IN (#{group_ids})) AND #{permissions}.object_type = 'User') AND
(#{folders}.system = 0 OR 1 = #{allowed})
(#{folders}.system = #{DmsfFolder.connection.quoted_false} OR 1 = #{allowed})
}
else
'0 = 1'
@ -459,22 +459,22 @@ class DmsfFolder < ActiveRecord::Base
end
def save(*args)
RedmineDmsf::Webdav::Cache.invalidate_item(propfind_cache_key)
RedmineDmsf::Webdav::Cache.invalidate_item(propfind_cache_key)
super(*args)
end
def save!(*args)
RedmineDmsf::Webdav::Cache.invalidate_item(propfind_cache_key)
RedmineDmsf::Webdav::Cache.invalidate_item(propfind_cache_key)
super(*args)
end
def destroy
RedmineDmsf::Webdav::Cache.invalidate_item(propfind_cache_key)
RedmineDmsf::Webdav::Cache.invalidate_item(propfind_cache_key)
super
end
def destroy!
RedmineDmsf::Webdav::Cache.invalidate_item(propfind_cache_key)
RedmineDmsf::Webdav::Cache.invalidate_item(propfind_cache_key)
super
end

View File

@ -106,7 +106,7 @@ module RedmineDmsf
parent.save
end
if parent
folder = DmsfFolder.system.where(['project_id = ? AND dmsf_folder_id = ? AND CAST(title AS UNSIGNED) = ?',
folder = DmsfFolder.system.where(['project_id = ? AND dmsf_folder_id = ? AND CAST(title AS DECIMAL) = ?',
self.project_id, parent.id, self.id]).first
if create && !folder
folder = DmsfFolder.new