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.273 -r1.274 --- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 10 Sep 2008 10:19:19 -0000 1.273 +++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 11 Sep 2008 11:14:52 -0000 1.274 @@ -1925,14 +1925,25 @@ return $default } - FormPage instproc set_property {name value} { + FormPage instproc set_publish_status {value} { + if {[lsearch -exact [list production ready] $value] == -1} { + error "invalid value '$value'; use 'production' or 'ready'" + } + my set publish_status $value + } + + FormPage instproc set_property {{-new 0} name value} { if {[string match "_*" $name]} { set key [string range $name 1 end] set instance_attributes_refresh 0 } { set key __ia($name) set instance_attributes_refresh 1 } + if {!$new && ![my exists $key]} { + error "property '$name' ($key) does not exist. \ + you might use flag '-new 1' for set_property to create new properties\n[lsort [my info vars]]" + } my set $key $value if {$instance_attributes_refresh} { my instance_attributes [my array get __ia]