Class ::xowiki::formfield::form_page
::xowiki::formfield::form_page
create ... \
[ -entry_label (default "_title") ] \
[ -form form ] \
[ -orderby (default "title") ] \
[ -parent_id (default "*") ] \
[ -unless unless ] \
[ -where where ]
Class Relations
- class: ::xotcl::Class
![[i]](/resources/acs-subsite/ZoomIn16.gif)
- superclass: ::xowiki::formfield::abstract_page
![[i]](/resources/acs-subsite/ZoomIn16.gif)
::xotcl::Class create ::xowiki::formfield::form_page \
-superclass ::xowiki::formfield::abstract_page
Methods (to be applied on instances)
compute_options (scripted)
if {![info exists :form]} {
return
}
set filters [::xowiki::FormPage compute_filter_clauses {*}[expr {[info exists :unless] ? [list -unless ${:unless}] : ""}] {*}[expr {[info exists :where] ? [list -where ${:where}] : ""}] ]
set from_package_ids {}
set package_path [::${:package_id} package_path]
if {[llength $package_path] > 0} {
foreach p $package_path {
lappend from_package_ids [$p id]
}
}
lappend from_package_ids ${:package_id}
if {${:parent_id} eq "."} {
set :parent_id [${:object} parent_id]
}
set items [::xowiki::FormPage get_form_entries -base_item_ids ${:form_object_item_ids} -form_fields [list] -publish_status ready -h_where [dict get $filters wc] -h_unless [dict get $filters uc] -parent_id ${:parent_id} -package_id ${:package_id} -orderby title -from_package_ids $from_package_ids]
set :options [list]
foreach i [$items children] {
set package_id [$i package_id]
set folder_path [$package_id folder_path -parent_id [$i parent_id]]
set item_ref $folder_path[$i name]
lappend :options [list [$i property ${:entry_label}] $item_ref]
}convert_to_internal (scripted)
if {${:value} ne ""} {
set references {}
set package_id [${:object} package_id]
set parent_id [${:object} parent_id]
::xo::db::CrClass get_instance_from_db -item_id $parent_id
set parent_id [$parent_id parent_id]
foreach name [split ${:value} \n] {
set item_info [::$package_id item_ref -normalize_name false -use_package_path 1 -default_lang [${:object} lang] -parent_id $parent_id $name]
set item_id [dict get $item_info item_id]
if {$item_id ne 0} {
lappend references [list $item_id wf_form]
}
}
if {[llength $references] > 0} {
${:object} lappend __extra_references {*}$references
}
}entry_label (setter)
form (setter)
initialize (scripted)
if {![info exists :form]} { return }
next
set form_name [:form]
set form_objs [::${:package_id} instantiate_forms -parent_id [${:object} parent_id] -default_lang [${:object} lang] -forms $form_name]
if {$form_objs eq ""} {
error "Cannot lookup Form '$form_name'"
}
set :form_object_item_ids [lmap form_obj $form_objs {$form_obj item_id}]orderby (setter)
parent_id (setter)
pretty_value (scripted)
if {![info exists :form_object_item_ids]} {
error "No forms specified for form_field '${:name}'"
}
nextunless (setter)
where (setter)