Returns the ID of the cr_folder related to the object
or creates a new folder.
}{
set current_user_id [auth::get_user_id]
set package_id [db_string pid "select package_id from apm_packages where package_key = 'file-storage'" -default ""]
set package_root_folder_id [fs_get_root_folder -package_id $package_id]
# ad_return_complaint 1 $root_folder_id
# Check for first folder related to the object
set folder_id [db_string fs_folder "
select min(ci.item_id)
from acs_rels r,
cr_items ci,
cr_folders cf
where r.object_id_one = :object_id and
r.object_id_two = ci.item_id and
r.object_id_two = cf.folder_id
" -default ""]
if {"" ne $folder_id}{ return $folder_id }
# No folder found:
# Create a new folder and associate with project
set object_name [acs_object_name $object_id]
set object_type [db_string otype "select min(pretty_name) from acs_object_types where object_type in (select object_type from acs_objects where object_id = :object_id)" -default "Object"]
set description "Default folder for $object_type: $object_name"
# Check if the folder exists with object type and object name
# in order to avoid errors with duplicate folder names