Index: openacs-4/packages/xowiki/tcl/xowiki-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-procs.tcl,v
diff -u -r1.270 -r1.271
--- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 6 Sep 2008 16:26:59 -0000 1.270
+++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 8 Sep 2008 11:27:12 -0000 1.271
@@ -841,6 +841,7 @@
}
if {[catch {set html [$page render]} errorMsg]} {
+ ns_log error "$errorMsg\n$::errorInfo"
set page_name [$page name]
set html [my error_during_render [_ xowiki.error-includelet-error_during_render]]
}
@@ -891,6 +892,7 @@
lappend adp_args __including_page [self]
set including_page_level [template::adp_level]
if {[catch {set page [template::adp_include $adp_fn $adp_args]} errorMsg]} {
+ ns_log error "$errorMsg\n$::errorInfo"
# in case of error, reset the adp_level to the previous value
set ::template::parse_level $including_page_level
incr ::xowiki_inclusion_depth -1
@@ -1026,8 +1028,9 @@
-stripped_name $normalized_name -label $label \
-folder_id $parent_id -package_id $package_id
- if {[catch {eval [self]::link configure $options} error]} {
- return "
Error during processing of options [list $options] of link of type [[self]::link info class]:
$error
"
+ if {[catch {eval [self]::link configure $options} errorMsg]} {
+ ns_log error "$errorMsg\n$::errorInfo"
+ return "Error during processing of options [list $options] of link of type [[self]::link info class]:
$errorMsg
"
} else {
return [[self]::link render]
}
@@ -1504,14 +1507,15 @@
PageInstance instproc get_field_label {name value} {
set short_spec [my get_short_spec $name]
- #my msg "short_spec for $name = '$short_spec'"
-
if {$short_spec ne ""} {
set f [::xowiki::formfield::FormField new -volatile -name $name -spec $short_spec]
- return [$f pretty_value $value]
+ if {![$f exists show_raw_value]} {
+ set value [$f field_value $value]
+ }
}
return $value
}
+
PageInstance instproc widget_spec_from_folder_object {name given_template_name} {
# get the widget field specifications from the payload of the folder object
# for a field with a specified name in a specified page template
@@ -1717,7 +1721,7 @@
Form proc disable_input_fields {{-with_submit 0} form} {
dom parse -simple -html $form doc
$doc documentElement root
- my disable_input_fields_dom $root
+ my dom_disable_input_fields -with_submit $with_submit $root
return [$root asHTML]
}
@@ -1728,6 +1732,7 @@
# we assume, that the richtext is stored as 2-elem list with mime-type
#my log "-- text='$text'"
if {[lindex $text 0] ne ""} {
+ my do_substitutions 0
set content [my substitute_markup [my set text]]
} elseif {[lindex $form 0] ne ""} {
set content [[self class] disable_input_fields [lindex $form 0]]
@@ -1783,6 +1788,7 @@
if {[catch {
my create_form_fields_from_form_constraints $form_constraints
} errorMsg]} {
+ ns_log error "$errorMsg\n$::errorInfo"
my uplevel [list set errorMsg $errorMsg]
#my msg "ERROR: invalid spec '$short_spec' for form field '$spec_name' -- $errorMsg"
return 0
@@ -2039,8 +2045,7 @@
}
FormPage instproc get_value {before varname} {
- #my msg "varname=$varname, val=[my property $varname]"
- set value [my property $varname]
+ set value [my property $varname]
# todo: might be more efficient to check, if it exists already
set f [my create_raw_form_field -name $varname \
@@ -2049,7 +2054,7 @@
if {[$f hide_value]} {
set value ""
- } else {
+ } elseif {![$f exists show_raw_value]} {
set value [$f pretty_value $value]
}
return $before$value
Index: openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl,v
diff -u -r1.164 -r1.165
--- openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 7 Sep 2008 13:27:13 -0000 1.164
+++ openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 8 Sep 2008 11:27:13 -0000 1.165
@@ -161,7 +161,11 @@
set autoname [$package_id get_parameter autoname 0]
set object_type [$package_id get_parameter object_type [my info class]]
set rev_link [$package_id make_link -with_entities 0 [self] revisions]
- set edit_link [$package_id make_link -with_entities 0 [self] edit return_url]
+ if {[$package_id query_parameter m ""] eq "edit"} {
+ set view_link [$package_id make_link -with_entities 0 [self] view return_url]
+ } else {
+ set edit_link [$package_id make_link -with_entities 0 [self] edit return_url]
+ }
set delete_link [$package_id make_link -with_entities 0 [self] delete return_url]
if {[my exists __link(new)]} {
set new_link [my set __link(new)]
@@ -228,7 +232,7 @@
$package_id return_page -adp $template_file -variables {
name title item_id context header_stuff return_url
content footer package_id
- rev_link edit_link delete_link new_link admin_link index_link
+ rev_link edit_link delete_link new_link admin_link index_link view_link
notification_subscribe_link notification_image
top_includelets page
views_data property_body property_doc
@@ -1165,11 +1169,25 @@
}
}
+ # some final sanity checks
+ foreach f $form_fields {
+ if {[$f exists disabled]} {
+ # don't mark disabled fields as required
+ if {[$f required]} {
+ $f required false
+ }
+ #don't show the help-text, if you cannot input
+ if {[$f help_text] ne ""} {
+ $f help_text ""
+ }
+ }
+ }
+
# The following command would be correct, but does not work due to a bug in
# tdom.
# set form [my regsub_eval \
# [template::adp_variable_regexp] $form \
- # {my form_field_as_html "\\\1" "\2" $form_fields}]
+ # {my form_field_as_html -mode edit "\\\1" "\2" $form_fields}]
# Due to this bug, we program around and replace the at-character
# by \x003 to avoid conflict withe the input and we replace these
# magic chars finally with the fields resulting from tdom.
@@ -1254,7 +1272,7 @@
set html [$root asHTML]
set html [my regsub_eval \
{(^|[^\\])\x003([a-zA-Z0-9_:]+)\x003} $html \
- {my form_field_as_html "\\\1" "\2" $form_fields}]
+ {my form_field_as_html -mode edit "\\\1" "\2" $form_fields}]
#my log "calling VIEW with HTML [string length $html]"
if {$view} {