Index: openacs-4/packages/dynamic-types/catalog/dynamic-types.en_US.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/catalog/dynamic-types.en_US.ISO-8859-1.xml,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/dynamic-types/catalog/dynamic-types.en_US.ISO-8859-1.xml 4 Jun 2005 16:09:54 -0000 1.4
+++ openacs-4/packages/dynamic-types/catalog/dynamic-types.en_US.ISO-8859-1.xml 5 Jun 2005 12:36:45 -0000 1.5
@@ -32,12 +32,26 @@
Forms
you must supply either -multirow or -indexed_array
Object Type
+ Parameter "%param%"
+ Parameter
+ Source
+ Tcl Function
+ Constant
+ DB Query
+ Type
+ List with multiple columns
+ List with one column
+ Single Value
+ Value
+ Parameters of "%attribute_name%"
+ Parameters
Pretty Name
Pretty Plural
Remove
Remove Element from Form
Required?
unable to retrieve widget parameter %name% for attribute %attribute_id% - returning "" as parameter value
Widget
+ -- Default Widget --
Index: openacs-4/packages/dynamic-types/lib/dtype-code-oracle.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/lib/dtype-code-oracle.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dynamic-types/lib/dtype-code-oracle.xql 5 Jun 2005 12:36:45 -0000 1.1
@@ -0,0 +1,22 @@
+
+
+ oracle8.1.6
+
+
+
+
+ select f.form_id, f.name as form_name, a.attribute_name, e.element_id,
+ e.widget, e.is_required, wp.param, ep.param_type,
+ ep.param_source, ep.value as param_value
+ from dtype_forms f, acs_attributes a, dtype_form_elements e,
+ dtype_element_params ep, dtype_widget_params wp
+ where f.object_type = :object_type
+ and e.form_id = f.form_id
+ and a.attribute_id = e.attribute_id
+ and e.element_id = ep.element_id (+)
+ and ep.param_id = wp.param_id (+)
+
+
+
+
+
Index: openacs-4/packages/dynamic-types/lib/dtype-code-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/lib/dtype-code-postgresql.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dynamic-types/lib/dtype-code-postgresql.xql 5 Jun 2005 12:36:45 -0000 1.1
@@ -0,0 +1,21 @@
+
+
+ postgresql7.3
+
+
+
+
+ select f.form_id, f.name as form_name, a.attribute_name, e.element_id,
+ e.widget, e.is_required, wp.param, ep.param_type,
+ ep.param_source, ep.value as param_value
+ from dtype_forms f, acs_attributes a, dtype_form_elements e
+ left outer join dtype_element_params ep using (element_id)
+ left outer join dtype_widget_params wp using (param_id)
+ where f.object_type = :object_type
+ and e.form_id = f.form_id
+ and a.attribute_id = e.attribute_id
+
+
+
+
+
Index: openacs-4/packages/dynamic-types/lib/dtype-code.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/lib/dtype-code.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/dynamic-types/lib/dtype-code.adp 4 Jun 2005 16:09:54 -0000 1.1
+++ openacs-4/packages/dynamic-types/lib/dtype-code.adp 5 Jun 2005 12:36:45 -0000 1.2
@@ -28,6 +28,18 @@
-attribute_name {@forms.attribute_name@} \
-widget {@forms.widget@} \
-required_p {@forms.is_required@}
+
+
+dtype::form::metadata::create_widget_param \
+ -object_type {@object_type@} \
+ -dform {@forms.form_name@} \
+ -attribute_name {@forms.attribute_name@} \
+ -param_name {@forms.param@} \
+ -type {@forms.param_type@} \
+ -source {@forms.param_source@} \
+ -value {@forms.param_value@}
+
+
Index: openacs-4/packages/dynamic-types/lib/dtype-code.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/lib/dtype-code.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/dynamic-types/lib/dtype-code.xql 4 Jun 2005 16:09:54 -0000 1.1
+++ openacs-4/packages/dynamic-types/lib/dtype-code.xql 5 Jun 2005 12:36:45 -0000 1.2
@@ -15,17 +15,4 @@
-
-
-
- select f.form_id, f.name as form_name, a.attribute_name,
- e.widget, e.is_required
- from dtype_forms f, dtype_form_elements e, acs_attributes a
- where f.object_type = :object_type
- and e.form_id = f.form_id
- and a.attribute_id = e.attribute_id
-
-
-
-
Index: openacs-4/packages/dynamic-types/sql/postgresql/forms-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/sql/postgresql/forms-create.sql,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/dynamic-types/sql/postgresql/forms-create.sql 24 Feb 2005 14:21:50 -0000 1.3
+++ openacs-4/packages/dynamic-types/sql/postgresql/forms-create.sql 5 Jun 2005 12:36:45 -0000 1.4
@@ -177,7 +177,7 @@
not null
constraint dtype_wgt_tpls_pm_src_ck
check (param_source in ('literal', 'query', 'eval')),
- value text,
+ value text,
constraint dtype_wgt_tpls_pm_pk
primary key(template_id, param_id)
);
@@ -232,7 +232,7 @@
form_id integer
constraint dtype_felements_form_id_fk
references dtype_forms,
- widget varchar(100)
+ widget varchar(100)
constraint dtype_felements_widget_fk
references dtype_widgets
constraint dtype_felements_widget_nil
@@ -262,7 +262,7 @@
not null,
constraint dtype_element_param_src_ck
check (param_source in ('literal', 'query', 'eval')),
- value text,
+ value text,
constraint dtype_element_param_pk
primary key(element_id, param_id)
);
Index: openacs-4/packages/dynamic-types/tcl/form-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/tcl/form-procs.tcl,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/dynamic-types/tcl/form-procs.tcl 4 Jun 2005 12:50:03 -0000 1.7
+++ openacs-4/packages/dynamic-types/tcl/form-procs.tcl 5 Jun 2005 12:36:45 -0000 1.8
@@ -991,12 +991,12 @@
if {[string equal $type dtype] || [string equal $type dtype.attribute]} {
# flush the default form
- util_memoize_flush_regexp "$function $object_type -dform \"default\""
+ util_memoize_flush_regexp "$function $object_type -dform \"implicit\".*"
} else {
set dform $dtype_event(dform)
# flush the form specified in the event
- util_memoize_flush_regexp "$function $object_type -dform \"$dform\""
+ util_memoize_flush_regexp "$function $object_type -dform \"$dform\".*"
}
}
Index: openacs-4/packages/dynamic-types/www/element-param.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/www/element-param.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dynamic-types/www/element-param.adp 5 Jun 2005 12:36:46 -0000 1.1
@@ -0,0 +1,5 @@
+
+@page_title@
+@context;noquote@
+
+
Index: openacs-4/packages/dynamic-types/www/element-param.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/www/element-param.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dynamic-types/www/element-param.tcl 5 Jun 2005 12:36:46 -0000 1.1
@@ -0,0 +1,46 @@
+ad_page_contract {
+
+ @author Timo Hentschel (timo@timohentschel.de)
+ @creation-date 2005-06-05
+ @cvs-id $Id: element-param.tcl,v 1.1 2005/06/05 12:36:46 timoh Exp $
+
+} {
+ {form_id:notnull}
+ {object_type:notnull}
+ {element_id:notnull}
+ {param_id:notnull}
+}
+
+acs_object_type::get -object_type $object_type -array type_info
+db_1row get_data {}
+
+set page_title "[_ dynamic-types.param_one]"
+set context [list [list [export_vars -base dtype {object_type}] $type_info(pretty_name)] [list [export_vars -base form {object_type form_id}] "[_ dynamic-types.form_one]"] [list [export_vars -base element-params {object_type form_id element_id}] "[_ dynamic-types.parameters]"] $page_title]
+
+set type_options [list [list "[_ dynamic-types.param_type_onevalue]" onevalue] [list "[_ dynamic-types.param_type_onelist]" onelist] [list "[_ dynamic-types.param_type_multilist]" multilist]]
+
+set source_options [list [list "[_ dynamic-types.param_source_literal]" literal] [list "[_ dynamic-types.param_source_query]" query] [list "[_ dynamic-types.param_source_eval]" eval]]
+
+
+ad_form -name parameter_form -export {object_type form_id element_id} -form {
+ {param_id:key}
+ {param_type:text(select) {label "[_ dynamic-types.param_type]"} {options $type_options} {help_text "[_ dynamic-types.param_type_help]"}}
+ {param_source:text(select) {label "[_ dynamic-types.param_source]"} {options $source_options} {help_text "[_ dynamic-types.param_source_help]"}}
+ {value:text(textarea) {label "[_ dynamic-types.param_value]"} {html {rows 5 cols 80}} {help_text "[_ dynamic-types.param_value_help]"}}
+} -edit_request {
+ db_1row get_param_data {}
+} -edit_data {
+ dtype::form::metadata::create_widget_param \
+ -object_type $object_type \
+ -dform $form_name \
+ -attribute_name $attribute_name \
+ -param_name $param \
+ -type $param_type \
+ -source $param_source \
+ -value $value
+} -after_submit {
+ ad_returnredirect [export_vars -base element-params {object_type form_id element_id}]
+ ad_script_abort
+}
+
+ad_return_template
Index: openacs-4/packages/dynamic-types/www/element-param.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/www/element-param.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dynamic-types/www/element-param.xql 5 Jun 2005 12:36:46 -0000 1.1
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+ select p.form_name, a.attribute_name, p.param
+ from dtype_element_params_all p, acs_attributes a
+ where p.form_id = :form_id
+ and p.element_id = :element_id
+ and p.param_id = :param_id
+ and a.attribute_id = p.attribute_id
+
+
+
+
+
+
+
+ select param_type, param_source, value
+ from dtype_element_params_all
+ where form_id = :form_id
+ and element_id = :element_id
+ and param_id = :param_id
+
+
+
+
+
Index: openacs-4/packages/dynamic-types/www/element-params.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/www/element-params.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dynamic-types/www/element-params.adp 5 Jun 2005 12:36:46 -0000 1.1
@@ -0,0 +1,5 @@
+
+@page_title@
+@context;noquote@
+
+
Index: openacs-4/packages/dynamic-types/www/element-params.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/www/element-params.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dynamic-types/www/element-params.tcl 5 Jun 2005 12:36:46 -0000 1.1
@@ -0,0 +1,52 @@
+ad_page_contract {
+
+ @author Timo Hentschel (timo@timohentschel.de)
+ @creation-date 2005-06-05
+ @cvs-id $Id: element-params.tcl,v 1.1 2005/06/05 12:36:46 timoh Exp $
+
+} {
+ {object_type:notnull}
+ {form_id:notnull}
+ {element_id:notnull}
+}
+
+acs_object_type::get -object_type $object_type -array type_info
+db_1row get_data {}
+
+set page_title "[_ dynamic-types.parameters]"
+set context [list [list [export_vars -base dtype {object_type}] $type_info(pretty_name)] [list [export_vars -base form {object_type form_id}] "[_ dynamic-types.form_one]"] $page_title]
+
+# Parameters of this form element
+
+list::create \
+ -name parameters \
+ -multirow parameters \
+ -key param_id \
+ -row_pretty_plural "[_ dynamic-types.params]" \
+ -pass_properties {
+ object_type form_id element_id
+ } -elements {
+ param_name {
+ label "[_ dynamic-types.param_name]"
+ link_url_eval $param_url
+ }
+ param_type {
+ label "[_ dynamic-types.param_type]"
+ }
+ param_source {
+ label "[_ dynamic-types.param_source]"
+ }
+ param_value {
+ label "[_ dynamic-types.param_value]"
+ }
+ } -filters {
+ object_type {}
+ form_id {}
+ element_id {}
+ }
+
+db_multirow -extend { param_url } parameters get_parameters {} {
+ set param_url [export_vars -base element-param {object_type form_id element_id param_id}]
+}
+
+ad_return_template
Index: openacs-4/packages/dynamic-types/www/element-params.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/www/element-params.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dynamic-types/www/element-params.xql 5 Jun 2005 12:36:46 -0000 1.1
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+ select form_name, attribute_name
+ from dtype_form_elements_all
+ where form_id = :form_id
+ and element_id = :element_id
+
+
+
+
+
+
+
+ select param_id, param as param_name, param_type, param_source,
+ value as param_value
+ from dtype_element_params_all
+ where form_id = :form_id
+ and element_id = :element_id
+ order by lower(param)
+
+
+
+
+
Index: openacs-4/packages/dynamic-types/www/element.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/www/element.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/dynamic-types/www/element.tcl 5 Jun 2005 08:19:03 -0000 1.2
+++ openacs-4/packages/dynamic-types/www/element.tcl 5 Jun 2005 12:36:46 -0000 1.3
@@ -17,22 +17,28 @@
set attribute_options [db_list_of_lists get_attributes {}]
set boolean_options [list [list "[_ acs-kernel.common_Yes]" 1] [list "[_ acs-kernel.common_no]" 0]]
+set widget_options [concat [list [list "[_ dynamic-types.widget_default]" ""]] [db_list_of_lists get_widgets {}]]
ad_form -name element_form -export {object_type} -form {
{form_id:key}
{attribute_id:text(select) {label "[_ dynamic-types.attribute_name]"} {options $attribute_options} {help_text "[_ dynamic-types.element_name_help]"}}
+ {widget:text(select) {label "[_ dynamic-types.widget]"} {options $widget_options} {help_text "[_ dynamic-types.widget_help]"}}
{required_p:text(select) {label "[_ dynamic-types.required_p]"} {options $boolean_options} {help_text "[_ dynamic-types.required_p_help]"}}
} -edit_request {
set attribute_id ""
set required_p t
} -edit_data {
db_1row attribute_widget {}
+ if {[empty_string_p $widget]} {
+ set widget $default_widget
+ }
+
dtype::form::metadata::create_widget \
-object_type $object_type \
-dform $form_name \
-attribute_name $attribute_name \
- -widget $default_widget \
+ -widget $widget \
-required_p $required_p
} -after_submit {
ad_returnredirect [export_vars -base form {object_type form_id}]
Index: openacs-4/packages/dynamic-types/www/element.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/www/element.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/dynamic-types/www/element.xql 4 Jun 2005 12:51:20 -0000 1.1
+++ openacs-4/packages/dynamic-types/www/element.xql 5 Jun 2005 12:36:46 -0000 1.2
@@ -27,6 +27,16 @@
+
+
+
+ select widget, widget
+ from dtype_widgets
+ order by lower(widget)
+
+
+
+
Index: openacs-4/packages/dynamic-types/www/form.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/www/form.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/dynamic-types/www/form.tcl 5 Jun 2005 08:19:03 -0000 1.2
+++ openacs-4/packages/dynamic-types/www/form.tcl 5 Jun 2005 12:36:46 -0000 1.3
@@ -41,16 +41,19 @@
}
widget {
label "[_ dynamic-types.widget]"
+ link_url_eval $param_url
}
is_required {
label "[_ dynamic-types.required_p]"
}
} -filters {
object_type {}
+ form_id {}
}
-db_multirow -extend { element_url } elements get_elements {} {
+db_multirow -extend { element_url param_url } elements get_elements {} {
set element_url [export_vars -base element {object_type form_id element_id}]
+ set param_url [export_vars -base element-params {object_type form_id element_id}]
set is_required [ad_decode $is_required t "[_ acs-kernel.common_Yes]" "[_ acs-kernel.common_no]"]
}