xowf::WorkflowPage instproc footer (public)

 <instance of xowf::WorkflowPage[i]> footer

Defined in /var/www/openacs.org/packages/xowf/tcl/xowf-procs.tcl

Provide a tailored footer for workflow definition pages and workflow instance pages containing controls for instantiating forms or providing links to the workflow definition.

Testcases:
create_workflow_with_instance
Source code:
if {[info exists :__no_form_page_footer]} {
  next
} else {
  set parent_id [:parent_id]
  set form_item_id ${:page_template}
  #:msg "is wf page [:is_wf], is wf instance page [:is_wf_instance]"
  if {[:is_wf]} {
    #
    # page containing a work flow definition
    #
    #set ctx [::xowf::Context require [self]]
    set work_flow_form [::xo::db::CrClass get_instance_from_db -item_id $form_item_id]
    set work_flow_base [$work_flow_form pretty_link]

    set wf [self]
    set wf_base [$wf pretty_link]
    set button_objs [list]

    # create new workflow instance button with start form
    #if {[:parent_id] != [::${:package_id} folder_id]} {
    #  set parent_id [:parent_id]
    #}
    set link [::${:package_id} make_link -link $wf_base $wf create-new parent_id return_url]
    lappend button_objs [::xowiki::includelet::form-menu-button-new new -volatile  -parent_id $parent_id  -form $wf -link $link]

    # list workflow instances button
    set obj [::xowiki::includelet::form-menu-button-wf-instances new -volatile  -package_id ${:package_id} -parent_id $parent_id  -base $wf_base -form $wf]
    if {[info exists return_url]} {
      $obj return_url $return_url
    }
    lappend button_objs $obj

    # work flow definition button
    set obj [::xowiki::includelet::form-menu-button-form new -volatile  -package_id ${:package_id} -parent_id $parent_id  -base $work_flow_base -form $work_flow_form]
    if {[info exists return_url]} {$obj return_url $return_url}
    lappend button_objs $obj

    # make menu
    return [:include [list form-menu -form_item_id ${:item_id} -button_objs $button_objs]]

  } elseif {[:is_wf_instance]} {
    #
    # work flow instance
    #
    set entry_form_item_id [:wf_property wf_form_id]
    set work_flow_form [::xo::db::CrClass get_instance_from_db -item_id $form_item_id]
    set work_flow_base [$work_flow_form pretty_link]
    set button_objs [list]

    #:msg entry_form_item_id=$entry_form_item_id-exists?=[nsf::is object $entry_form_item_id]

    # form definition button
    if {![nsf::is object $entry_form_item_id]} {
      # In case, the id is a form object, it is a dynamic form,
      # that we can't edit; therefore, we provide no link.
      #
      # Here, we have an id that we use for fetching...
      #
      set form [::xo::db::CrClass get_instance_from_db -item_id $entry_form_item_id]
      set base [$form pretty_link]
      set obj [::xowiki::includelet::form-menu-button-form new -volatile  -package_id ${:package_id} -parent_id $parent_id  -base $base -form $form]
      if {[info exists return_url]} {
        $obj return_url $return_url
      }
      lappend button_objs $obj
    }
    #
    # work flow definition button
    #
    set obj [::xowiki::includelet::form-menu-button-wf new -volatile  -package_id ${:package_id} -parent_id $parent_id  -base $work_flow_base -form $work_flow_form]
    if {[info exists return_url]} {$obj return_url $return_url}
    lappend button_objs $obj
    # make menu
    return [:include [list form-menu -form_item_id ${:page_template} -button_objs $button_objs]]
  } else {
    next
  }
}
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: