Commit 5e017e04 authored by Frank Bergmann's avatar Frank Bergmann

- Fixed version handling

parent dc2d95f7
......@@ -55,7 +55,7 @@ set top_level [db_string top_level "select tree_level(tree_sortkey) from cr_item
set sql "
select
ci.item_id as file_id,
ci.live_revision as live_version_id,
coalesce(ci.live_revision,0) as live_version_id,
ci.parent_id,
cr.revision_id, -- CR revision (OpenACS and PO files)
fv.version_id, -- CR revision (only PO files)
......@@ -69,8 +69,14 @@ set sql "
ELSE ci.content_type
END AS type,
CASE WHEN bts.open_p = 'o' THEN 'true' ELSE 'false' END as expanded,
ci.*,
cr.*,
coalesce((select file_status_id from im_files where file_id = ci.item_id),0) as file_status_id,
coalesce((select file_type_id from im_files where file_id = ci.item_id),0) as file_type_id,
ci.latest_revision,
cr.title,
cr.description,
cr.publish_date,
cr.mime_type,
cr.content_length,
fv.*
from
cr_items parent_ci,
......@@ -83,7 +89,6 @@ set sql "
bts.page_url = 'default' and
bts.user_id = :current_user_id
)
LEFT OUTER JOIN im_files f ON (ci.item_id = f.file_id)
-- add cr_revisions = file_versions using OUTER JOIN
LEFT OUTER JOIN cr_revisions cr ON (cr.item_id = ci.item_id)
LEFT OUTER JOIN im_file_versions fv ON (cr.revision_id = fv.version_id)
......@@ -100,14 +105,16 @@ set sql "
# Write the list of files to a multirow,
# while storing the versions in a hash
multirow create file_multirow file_id parent_id revision_id version_id file_name level num_children type expanded
multirow create file_multirow file_id parent_id live_version_id latest_version_id file_name level num_children type file_type_id file_status_id version_type_id version_status_id expanded
set file_id ""
set old_file_id ""
db_foreach files $sql {
# Collect file versions in a hash
if {"" eq $version_status_id} { set version_status_id [im_file_status_active] }
if {"" eq $version_type_id} { set version_type_id [im_file_type_default] }
if {"" eq $version_status_id} { set version_status_id [im_file_version_status_active] }
if {"" eq $version_type_id} { set version_type_id [im_file_version_type_default] }
if {"" eq $file_status_id} { set file_status_id [im_file_status_active] }
if {"" eq $file_type_id} { set file_type_id [im_file_type_default] }
if {"" eq $revision_id} { set revision_id 0 }
if {"" eq $content_length} { set content_length 0 }
if {"" eq $version_sha1 && 0 ne $revision_id} {
......@@ -132,8 +139,8 @@ db_foreach files $sql {
\"mime_type\": \"$mime_type\",
\"title\": \"[im_quotejson $title]\",
\"description\": \"[im_quotejson $description]\",
\"status_id\": $version_status_id,
\"type_id\": $version_type_id,
\"version_status_id\": $version_status_id,
\"version_type_id\": $version_type_id,
\"creation_date\": \"$version_creation_date\",
\"modification_date\": \"$version_modification_date\",
\"sha1\": \"$version_sha1\",
......@@ -144,14 +151,14 @@ db_foreach files $sql {
# write out the multirow entry for the file
if {$old_file_id ne $file_id} {
multirow append file_multirow $file_id $parent_id $revision_id $version_id $file_name $level $num_children $type $expanded
multirow append file_multirow $file_id $parent_id $live_version_id $latest_revision $file_name $level $num_children $type $file_type_id $file_status_id $version_type_id $version_status_id $expanded
set old_file_id $file_id
}
}
# Write out the last file multirow
if {"" ne $file_id} {
multirow append file_multirow $file_id $parent_id $revision_id $version_id $file_name $level $num_children $type $expanded
multirow append file_multirow $file_id $parent_id $live_version_id $latest_revision $file_name $level $num_children $type $file_type_id $file_status_id $version_type_id $version_status_id $expanded
}
#ad_return_complaint 1 [array get version_hash]
......@@ -224,6 +231,8 @@ ${indent}\t\"live_version_id\":$live_version_id,
${indent}\t\"name\":\"$quoted_file_name\",
${indent}\t\"iconCls\":\"icon-$type\",
${indent}\t\"expanded\":$expanded,
${indent}\t\"status_id\":$file_status_id,
${indent}\t\"type_id\":$file_type_id,
"
if {"file" eq $type} {
append file_json "\
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment