Index: openacs-4/packages/assessment/tcl/as-item-choice-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/tcl/as-item-choice-procs.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/assessment/tcl/as-item-choice-procs.tcl 14 Oct 2004 11:44:51 -0000 1.1 +++ openacs-4/packages/assessment/tcl/as-item-choice-procs.tcl 15 Nov 2004 17:17:15 -0000 1.2 @@ -8,7 +8,6 @@ ad_proc -public as::item_choice::new { {-mc_id:required} - {-name:required} {-title:required} {-data_type ""} {-numeric_value ""} @@ -31,9 +30,26 @@ set folder_id [db_string get_folder_id "select folder_id from cr_folders where package_id=:package_id"] # Insert as_item_choice in the CR (and as_item_choices table) getting the revision_id (as_item_choice_id) - set item_choice_id [content::item::new -parent_id $folder_id -content_type {as_item_choices} -name $name -title $title ] - set as_item_choice_id [content::revision::new -item_id $item_choice_id -content_type {as_item_choices} -title $title -attributes [list [list mc_id $mc_id ] [list data_type $data_type ] [list numeric_value $numeric_value ] [list $text_value text_value] [list boolean_value $boolean_value] [list content_value $content_value] [list feedback_text $feedback_text] [list selected_p $selected_p] [list correct_answer_p $correct_answer_p] [list sort_order $sort_order] [list percent_score $percent_score] ] ] + db_transaction { + set item_choice_id [content::item::new -parent_id $folder_id -content_type {as_item_choices} -name [ad_generate_random_string] -title $title ] + set as_item_choice_id [content::revision::new \ + -item_id $item_choice_id \ + -content_type {as_item_choices} \ + -title $title \ + -attributes [list [list mc_id $mc_id ] \ + [list data_type $data_type ] \ + [list numeric_value $numeric_value ] \ + [list $text_value text_value] \ + [list boolean_value $boolean_value] \ + [list content_value $content_value] \ + [list feedback_text $feedback_text] \ + [list selected_p $selected_p] \ + [list correct_answer_p $correct_answer_p] \ + [list sort_order $sort_order] \ + [list percent_score $percent_score] ] ] # FIXME too much code repetition here # maybe there are more efficient ways to to it (maybe using hashes to pass the values between functions) + } + return $as_item_choice_id }