Index: openacs-4/packages/dotlrn-ecommerce/dotlrn-ecommerce.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/dotlrn-ecommerce.info,v diff -u -r1.28 -r1.29 --- openacs-4/packages/dotlrn-ecommerce/dotlrn-ecommerce.info 22 Aug 2005 23:08:17 -0000 1.28 +++ openacs-4/packages/dotlrn-ecommerce/dotlrn-ecommerce.info 30 Aug 2005 17:42:45 -0000 1.29 @@ -7,15 +7,15 @@ f t - + Roel Canicula Package to tie the dotLRN, Ecommerce, Assessments and dotLRN Catalog packages together 2005-08-10 Solution Grove Package to tie the dotLRN, Ecommerce, Assessments and dotLRN Catalog packages together. Initially intended for the MOS and MGH projects, the goal is to create a reusable module for similar projects. 0 - + @@ -28,9 +28,10 @@ - + + @@ -49,10 +50,10 @@ + - Index: openacs-4/packages/dotlrn-ecommerce/lib/user-info.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/lib/user-info.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/dotlrn-ecommerce/lib/user-info.tcl 4 Aug 2005 03:10:04 -0000 1.8 +++ openacs-4/packages/dotlrn-ecommerce/lib/user-info.tcl 30 Aug 2005 17:42:45 -0000 1.9 @@ -129,26 +129,52 @@ if { $user_type == "participant" } { set tree_id [parameter::get -package_id [ad_conn package_id] -parameter GradeCategoryTree -default 0] - set grade_options [list {}] - foreach tree [category_tree::get_tree $tree_id] { - lappend grade_options [list [lindex $tree 1] [lindex $tree 0]] - } + set custom_fields [parameter::get -package_id [ad_conn package_id] -parameter CustomParticipantFields -default ""] - ad_form -extend -name user_info -form { - {grade:text(select) - {label "[_ dotlrn-ecommerce.Grade]"} - {options {$grade_options} } - } - {allergies:text,optional - {label "[_ dotlrn-ecommerce.Medical_Issues]"} - {html {size 60}} - } + foreach field $custom_fields { - {special_needs:text,optional - {label "[_ dotlrn-ecommerce.Special_Needs]"} - {html {size 60}} + switch [string tolower $field] { + grade { + set grade_options [list {"--" ""}] + foreach tree [category_tree::get_tree $tree_id] { + lappend grade_options [list [lindex $tree 1] [lindex $tree 0]] + } + + ad_form -extend -name user_info -form { + {grade:text(select),optional + {label "[_ dotlrn-ecommerce.Grade]"} + {options {$grade_options} } + } + } + } + + allergies { + ad_form -extend -name user_info -form { + {allergies:text,optional + {label "[_ dotlrn-ecommerce.Medical_Issues]"} + {html {size 60}} + } + } + } + + special_needs { + ad_form -extend -name user_info -form { + {special_needs:text,optional + {label "[_ dotlrn-ecommerce.Special_Needs]"} + {html {size 60}} + } + } + } } } + + foreach field {grade allergies special_needs} { + if { [lsearch $custom_fields $field] == -1 } { + ad_form -extend -name register -form [subst { + {$field:text(hidden) {value ""}} + }] + } + } } else { ad_form -extend -name register -form { Index: openacs-4/packages/dotlrn-ecommerce/lib/user-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/lib/user-new.tcl,v diff -u -r1.10 -r1.11 --- openacs-4/packages/dotlrn-ecommerce/lib/user-new.tcl 18 Aug 2005 08:52:06 -0000 1.10 +++ openacs-4/packages/dotlrn-ecommerce/lib/user-new.tcl 30 Aug 2005 17:42:45 -0000 1.11 @@ -107,36 +107,51 @@ if { $user_type == "participant" } { set tree_id [parameter::get -package_id [ad_conn package_id] -parameter GradeCategoryTree -default 0] - set grade_options [list {"--" ""}] - foreach tree [category_tree::get_tree $tree_id] { - lappend grade_options [list [lindex $tree 1] [lindex $tree 0]] - } + set custom_fields [parameter::get -package_id [ad_conn package_id] -parameter CustomParticipantFields -default ""] - if { [llength $grade_options] > 0 } { - ad_form -extend -name register -form { - {grade:text(select),optional - {label "[_ dotlrn-ecommerce.Grade]"} - {options {$grade_options}} + foreach field $custom_fields { + + switch [string tolower $field] { + grade { + set grade_options [list {"--" ""}] + foreach tree [category_tree::get_tree $tree_id] { + lappend grade_options [list [lindex $tree 1] [lindex $tree 0]] + } + + ad_form -extend -name register -form { + {grade:text(select),optional + {label "[_ dotlrn-ecommerce.Grade]"} + {options {$grade_options} } + } + } } - } - } else { - ad_form -extend -name register -form { - {grade:text(select),optional - {label "[_ dotlrn-ecommerce.Grade]"} - {options {$grade_options}} + + allergies { + ad_form -extend -name register -form { + {allergies:text,optional + {label "[_ dotlrn-ecommerce.Medical_Issues]"} + {html {size 60}} + } + } } + + special_needs { + ad_form -extend -name register -form { + {special_needs:text,optional + {label "[_ dotlrn-ecommerce.Special_Needs]"} + {html {size 60}} + } + } + } } } - ad_form -extend -name register -form { - {allergies:text,optional - {label "[_ dotlrn-ecommerce.Medical_Issues]"} - {html {size 60}} + + foreach field {grade allergies special_needs} { + if { [lsearch $custom_fields $field] == -1 } { + ad_form -extend -name register -form [subst { + {$field:text(hidden) {value ""}} + }] } - - {special_needs:text,optional - {label "[_ dotlrn-ecommerce.Special_Needs]"} - {html {size 60}} - } } } else { Index: openacs-4/packages/dotlrn-ecommerce/tcl/apm-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/tcl/apm-callback-procs.tcl,v diff -u -r1.18 -r1.19 --- openacs-4/packages/dotlrn-ecommerce/tcl/apm-callback-procs.tcl 20 Aug 2005 22:33:56 -0000 1.18 +++ openacs-4/packages/dotlrn-ecommerce/tcl/apm-callback-procs.tcl 30 Aug 2005 17:42:44 -0000 1.19 @@ -157,6 +157,14 @@ 0 \ number } + 0.1d10 0.1d11 { + apm_parameter_register \ + CustomParticipantFields \ + "Custom fields used in participant registration." \ + dotlrn-ecommerce \ + "" \ + string + } } }