ad_page_contract {
lists the items under a folder. we need to use different queries on template and content manage_type
} {
{orderby:optional}
{page:optional}
{return_url:optional [ad_return_url]}
}
set package_url [ad_conn package_url]
array set folder [bcms::folder::get_folder -folder_id $current_item(item_id)]
set manage_type [ad_get_client_property -default content [ad_conn package_id] manage_type]
# check to see if we are managing content or template, they differ in action and queries
if {[string equal $manage_type "content"]} {
template::list::create \
-name item_list \
-multirow item_list \
-pass_properties { package_url } \
-key item_id \
-bulk_actions [list \
"Delete" "${package_url}manage/delete-item" "Delete checked items" \
"Move" "${package_url}manage/move-item" "Move checked items" \
]\
-bulk_action_export_vars {
return_url
} \
-elements {
name {
label "Name"
link_url_col name
}
title {
label "Title"
}
content_type {
label "Type"
display_template {
}
html { style "width:70px" }
}
last_modified {
label "Last Modified"
html { style "width:180px" }
}
publish_status {
label "Status"
}
} \
-orderby {
default_value name,asc
name {
orderby name
}
title {
orderby title
}
content_type {
orderby content_type
}
last_modified {
orderby last_modified
}
} \
-page_size 10 \
-page_groupsize 10 \
-page_query {
select i.item_id,
i.name,
i.live_revision,
i.latest_revision,
i.publish_status,
i.content_type,
i.storage_type,
i.tree_sortkey,
last_modified,
r.title,
r.description
from cr_items i, cr_revisionsx r
where
i.parent_id = $current_item(item_id)
and i.latest_revision = r.revision_id
union
select i.item_id,
i.name,
i.live_revision,
i.latest_revision,
i.publish_status,
i.content_type,
i.storage_type,
i.tree_sortkey,
null as last_modified,
f.label as title,
f.description
from cr_items i, cr_folders f
where
i.parent_id = $current_item(item_id)
and i.item_id = f.folder_id
[template::list::orderby_clause -orderby -name item_list]
} \
-page_flush_p 1
bcms::item::list_items -parent_id $current_item(item_id) -multirow_name item_list -orderby [template::list::orderby_clause -name item_list] -show_only [template::list::page_get_ids -name item_list]
set context_action [bcms::ui::base::context_action_link -context_action apply-template \
-export_vars [export_vars {{item_id $current_item(item_id)} return_url}]]
append context_action [bcms::ui::base::context_action_link -context_action folder-set-category \
-export_vars [export_vars {{folder_id $current_item(item_id)} return_url}]]
append context_action [bcms::ui::base::context_action_link -context_action folder-add \
-export_vars [export_vars {{parent_id $current_item(item_id)} return_url}]]
append context_action [bcms::ui::base::context_action_link -context_action page-add \
-export_vars [export_vars {{folder_id $current_item(item_id)} return_url}]]
append context_action [bcms::ui::base::context_action_link -context_action image-add \
-export_vars [export_vars {{folder_id $current_item(item_id)} return_url}]]
append context_action [bcms::ui::base::context_action_link -context_action file-add \
-export_vars [export_vars {{folder_id $current_item(item_id)} return_url}]]
append context_action [bcms::ui::base::context_action_link -context_action sb-event-add \
-export_vars [export_vars {{folder_id $current_item(item_id)} return_url}]]
append context_action [bcms::ui::base::context_action_link -context_action sb-bio-add \
-export_vars [export_vars {{folder_id $current_item(item_id)} return_url}]]
append context_action [bcms::ui::base::context_action_link -context_action sb-writing-add \
-export_vars [export_vars {{folder_id $current_item(item_id)} return_url}]]
append context_action [bcms::ui::base::context_action_link -context_action sb-download-add \
-export_vars [export_vars {{folder_id $current_item(item_id)} return_url}]]
set context_help "This is a content folder. You can see the contents of the folder on your right. You may click the actions that can be performed on this folder on your left."
set title "View Folder"
} else {
template::list::create \
-name item_list \
-multirow item_list \
-key template_id \
-bulk_actions [list \
"Delete" "${package_url}manage/template-delete" "Delete checked items"
]\
-bulk_action_export_vars {
return_url
} \
-elements {
title {
label "Template Title"
link_url_col name
}
}
bcms::template::list_templates -parent_id $current_item(item_id) -multirow_name item_list
set context_action [bcms::ui::base::context_action_link -context_action template-add \
-export_vars [export_vars {{folder_id $current_item(item_id)} return_url}]]
set context_help "This is a template folder. You can see available templates on your right, you can add templates here"
set title "View Templates"
}
set context [bcms::widget::item_context -item_id $current_item(item_id) -root_id $root_id]
set context [lrange $context 0 [expr [llength $context] - 2]]
lappend context "$folder(label)"