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 ...@@ -55,7 +55,7 @@ set top_level [db_string top_level "select tree_level(tree_sortkey) from cr_item
set sql " set sql "
select select
ci.item_id as file_id, 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, ci.parent_id,
cr.revision_id, -- CR revision (OpenACS and PO files) cr.revision_id, -- CR revision (OpenACS and PO files)
fv.version_id, -- CR revision (only PO files) fv.version_id, -- CR revision (only PO files)
...@@ -69,8 +69,14 @@ set sql " ...@@ -69,8 +69,14 @@ set sql "
ELSE ci.content_type ELSE ci.content_type
END AS type, END AS type,
CASE WHEN bts.open_p = 'o' THEN 'true' ELSE 'false' END as expanded, CASE WHEN bts.open_p = 'o' THEN 'true' ELSE 'false' END as expanded,
ci.*, coalesce((select file_status_id from im_files where file_id = ci.item_id),0) as file_status_id,
cr.*, 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.* fv.*
from from
cr_items parent_ci, cr_items parent_ci,
...@@ -83,7 +89,6 @@ set sql " ...@@ -83,7 +89,6 @@ set sql "
bts.page_url = 'default' and bts.page_url = 'default' and
bts.user_id = :current_user_id 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 -- add cr_revisions = file_versions using OUTER JOIN
LEFT OUTER JOIN cr_revisions cr ON (cr.item_id = ci.item_id) 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) LEFT OUTER JOIN im_file_versions fv ON (cr.revision_id = fv.version_id)
...@@ -100,14 +105,16 @@ set sql " ...@@ -100,14 +105,16 @@ set sql "
# Write the list of files to a multirow, # Write the list of files to a multirow,
# while storing the versions in a hash # 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 file_id ""
set old_file_id "" set old_file_id ""
db_foreach files $sql { db_foreach files $sql {
# Collect file versions in a hash # Collect file versions in a hash
if {"" eq $version_status_id} { set version_status_id [im_file_status_active] } 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_type_default] } 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 $revision_id} { set revision_id 0 }
if {"" eq $content_length} { set content_length 0 } if {"" eq $content_length} { set content_length 0 }
if {"" eq $version_sha1 && 0 ne $revision_id} { if {"" eq $version_sha1 && 0 ne $revision_id} {
...@@ -132,8 +139,8 @@ db_foreach files $sql { ...@@ -132,8 +139,8 @@ db_foreach files $sql {
\"mime_type\": \"$mime_type\", \"mime_type\": \"$mime_type\",
\"title\": \"[im_quotejson $title]\", \"title\": \"[im_quotejson $title]\",
\"description\": \"[im_quotejson $description]\", \"description\": \"[im_quotejson $description]\",
\"status_id\": $version_status_id, \"version_status_id\": $version_status_id,
\"type_id\": $version_type_id, \"version_type_id\": $version_type_id,
\"creation_date\": \"$version_creation_date\", \"creation_date\": \"$version_creation_date\",
\"modification_date\": \"$version_modification_date\", \"modification_date\": \"$version_modification_date\",
\"sha1\": \"$version_sha1\", \"sha1\": \"$version_sha1\",
...@@ -144,14 +151,14 @@ db_foreach files $sql { ...@@ -144,14 +151,14 @@ db_foreach files $sql {
# write out the multirow entry for the file # write out the multirow entry for the file
if {$old_file_id ne $file_id} { 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 set old_file_id $file_id
} }
} }
# Write out the last file multirow # Write out the last file multirow
if {"" ne $file_id} { 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] #ad_return_complaint 1 [array get version_hash]
...@@ -224,6 +231,8 @@ ${indent}\t\"live_version_id\":$live_version_id, ...@@ -224,6 +231,8 @@ ${indent}\t\"live_version_id\":$live_version_id,
${indent}\t\"name\":\"$quoted_file_name\", ${indent}\t\"name\":\"$quoted_file_name\",
${indent}\t\"iconCls\":\"icon-$type\", ${indent}\t\"iconCls\":\"icon-$type\",
${indent}\t\"expanded\":$expanded, ${indent}\t\"expanded\":$expanded,
${indent}\t\"status_id\":$file_status_id,
${indent}\t\"type_id\":$file_type_id,
" "
if {"file" eq $type} { if {"file" eq $type} {
append file_json "\ 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