Index: openacs-4/packages/evaluation/tcl/evaluation-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/tcl/evaluation-procs.tcl,v diff -u -r1.27 -r1.28 --- openacs-4/packages/evaluation/tcl/evaluation-procs.tcl 21 Mar 2005 15:42:00 -0000 1.27 +++ openacs-4/packages/evaluation/tcl/evaluation-procs.tcl 31 Mar 2005 11:09:28 -0000 1.28 @@ -301,6 +301,8 @@ -from_task_id:required -to_grade_item_id:required -to_package_id:required + {-creation_user ""} + {-creation_ip ""} } { Cone a task @@ -311,17 +313,45 @@ db_1row from_task_info { *SQL* } - set creation_user [ad_conn user_id] - set creation_ip [ad_conn peeraddr] + if { [empty_string_p $creation_user] } { + set creation_user [ad_conn user_id] + } + if { [empty_string_p $creation_ip] } { + set creation_ip [ad_conn peeraddr] + } set item_name "${item_id}_${title}" set revision_id [db_nextval acs_object_id_seq] - db_exec_plsql content_item_new { *SQL* } + set item_id [content::item::new -item_id $item_id \ + -parent_id $folder_id \ + -content_type evaluation_tasks \ + -creation_user $creation_user \ + -name $item_name \ + -context_id $to_package_id \ + -creation_ip $creation_ip \ + -mime_type $mime_type \ + -storage_type $storage_type] + + set revision_id [content::revision::new \ + -item_id $item_id \ + -content_type evaluation_tasks \ + -mime_type $mime_type \ + -title $title \ + -description $description \ + -creation_user $creation_user \ + -creation_ip $creation_ip \ + -attributes [list [list weight $weight] \ + [list task_name $task_name] \ + [list task_item_id $item_id] \ + [list online_p $online_p] \ + [list grade_item_id $to_grade_item_id] \ + [list due_date $due_date] \ + [list late_submit_p $late_submit_p] \ + [list requires_grade_p $requires_grade_p] \ + [list number_of_members $number_of_members]]] - db_exec_plsql content_revision_new { *SQL* } - db_dml clone_content { *SQL* } return $revision_id } @@ -337,6 +367,8 @@ -number_of_members:required -requires_grade_p:required -storage_type:required + {-creation_user ""} + {-creation_ip ""} {-estimated_time 0} {-online_p ""} {-due_date ""} @@ -364,15 +396,19 @@ @description Description of the task @storage_type File or text, depending on what are we going to store } { + if { [empty_string_p $creation_user] } { + set creation_user [ad_conn user_id] + } + if { [empty_string_p $creation_ip] } { + set creation_ip [ad_conn peeraddr] + } + set package_id [ad_conn package_id] - set creation_user [ad_conn user_id] - set creation_ip [ad_conn peeraddr] - set folder_id [content::item::get_id -item_path "${content_type}_${package_id}" -resolve_index {f}] - set creation_date [db_string get_date { *SQL* }] + set folder_id [content::item::get_id -item_path "${content_type}_${package_id}" -resolve_index f] if { [empty_string_p $item_name] } { set item_name "${item_id}_${title}" } - #Falta agregarle el title + if { $new_item_p } { set item_id [content::item::new -item_id $item_id \ @@ -381,7 +417,6 @@ -name $item_name \ -context_id $package_id \ -mime_type $mime_type \ - -creation_date $creation_date \ -storage_type $storage_type] } @@ -391,7 +426,6 @@ -mime_type $mime_type \ -title $title \ -description $description \ - -creation_date $creation_date \ -attributes [list [list weight $weight] \ [list task_name $name] \ [list task_item_id $item_id] \ @@ -417,6 +451,8 @@ -task_item_id:required -storage_type:required -title:required + {-creation_user ""} + {-creation_ip ""} {-mime_type "text/plain"} {-publish_date ""} {-creation_date ""} @@ -436,10 +472,15 @@ } { + if { [empty_string_p $creation_user] } { + set creation_user [ad_conn user_id] + } + if { [empty_string_p $creation_ip] } { + set creation_ip [ad_conn peeraddr] + } + set package_id [ad_conn package_id] - set creation_user [ad_conn user_id] - set creation_ip [ad_conn peeraddr] - set folder_id [content::item::get_id -item_path "${content_type}_${package_id}" -resolve_index {f}] + set folder_id [content::item::get_id -item_path "${content_type}_${package_id}" -resolve_index f] set item_name "${item_id}_${title}" set revision_id [db_nextval acs_object_id_seq] @@ -451,14 +492,27 @@ if { [empty_string_p $creation_date] } { set creation_date [db_string get_date { *SQL* }] } + if { $new_item_p } { - set item_id [content::item::new -item_id $item_id -parent_id $folder_id -content_type $content_type -name $item_name -context_id $package_id -mime_type $mime_type -storage_type $storage_type -title $title -creation_date $creation_date] + set item_id [content::item::new -item_id $item_id \ + -parent_id $folder_id \ + -content_type $content_type \ + -name $item_name \ + -context_id $package_id \ + -mime_type $mime_type \ + -storage_type $storage_type \ + -creation_user $creation_user \ + -creation_ip $creation_ip \ + -creation_date $creation_date] } + set revision_id [content::revision::new \ -item_id $item_id \ -content_type $content_type \ -mime_type $mime_type \ -title $title \ + -creation_user $creation_user \ + -creation_ip $creation_ip \ -creation_date $creation_date \ -attributes [list [list task_item_id $task_item_id] \ [list solution_item_id $item_id]] ] @@ -479,6 +533,8 @@ -storage_type:required -title:required -party_id:required + {-creation_user ""} + {-creation_ip ""} {-mime_type "text/plain"} {-publish_date ""} {-creation_date ""} @@ -498,11 +554,15 @@ @param party_id Group or user_id thaw owns the anser } { + if { [empty_string_p $creation_user] } { + set creation_user [ad_conn user_id] + } + if { [empty_string_p $creation_ip] } { + set creation_ip [ad_conn peeraddr] + } + set package_id [ad_conn package_id] - set creation_user [ad_conn user_id] - set creation_ip [ad_conn peeraddr] - set creation_date [db_string get_date { *SQL* }] - set folder_id [content::item::get_id -item_path "${content_type}_${package_id}" -resolve_index {f}] + set folder_id [content::item::get_id -item_path "${content_type}_${package_id}" -resolve_index f] set item_name "${item_id}_${title}" set revision_id [db_nextval acs_object_id_seq] @@ -522,6 +582,8 @@ -name $item_name \ -context_id $package_id \ -mime_type $mime_type \ + -creation_user $creation_user \ + -creation_ip $creation_ip \ -storage_type $storage_type \ -creation_date $creation_date] } @@ -530,13 +592,13 @@ -content_type $content_type \ -mime_type $mime_type \ -title $title\ + -creation_user $creation_user \ + -creation_ip $creation_ip \ -creation_date $creation_date \ -attributes [list [list answer_item_id $item_id] \ [list party_id $party_id] \ [list task_item_id $task_item_id]] ] - - # in order to find the file we have to set the name in cr_items the same that in cr_revisions db_dml update_item_name { *SQL* } return $revision_id @@ -551,6 +613,8 @@ -party_id:required -task_item_id:required -grade:required + {-creation_user ""} + {-creation_ip ""} {-title "evaluation"} {-show_student_p "t"} {-storage_type "text"} @@ -577,10 +641,14 @@ @param mime_type Mime type of the evaluation. } { + if { [empty_string_p $creation_user] } { + set creation_user [ad_conn user_id] + } + if { [empty_string_p $creation_ip] } { + set creation_ip [ad_conn peeraddr] + } + set package_id [ad_conn package_id] - set creation_user [ad_conn user_id] - set creation_date [db_string get_date { *SQL* }] - set creation_ip [ad_conn peeraddr] set folder_id [content::item::get_id -item_path "${content_type}_${package_id}" -resolve_index {f}] set item_name "${item_id}_${title}" @@ -595,13 +663,24 @@ } if { $new_item_p } { - set item_id [content::item::new -item_id $item_id -parent_id $folder_id -content_type $content_type -name $item_name -context_id $package_id -mime_type $mime_type -storage_type $storage_type -creation_date $creation_date] + set item_id [content::item::new -item_id $item_id \ + -parent_id $folder_id \ + -content_type $content_type \ + -name $item_name \ + -context_id $package_id \ + -mime_type $mime_type \ + -storage_type $storage_type \ + -creation_user $creation_user \ + -creation_ip $creation_ip \ + -creation_date $creation_date] } set revision_id [content::revision::new \ -item_id $item_id \ -content_type $content_type \ -mime_type $mime_type \ -title $title\ + -creation_user $creation_user \ + -creation_ip $creation_ip \ -creation_date $creation_date \ -attributes [list [list evaluation_item_id $item_id] \ [list party_id $party_id] \ @@ -610,10 +689,13 @@ [list task_item_id $task_item_id]]] } + ad_proc -public evaluation::new_evaluation_group { -group_id:required -group_name:required -task_item_id:required + {-creation_user ""} + {-creation_ip ""} {-context ""} {-creation_date ""} } { @@ -630,11 +712,15 @@ } { + if { [empty_string_p $creation_user] } { + set creation_user [ad_conn user_id] + } + if { [empty_string_p $creation_ip] } { + set creation_ip [ad_conn peeraddr] + } if { [empty_string_p $context] } { set context [ad_conn package_id] } - set creation_user [ad_conn user_id] - set creation_ip [ad_conn peeraddr] if { [empty_string_p $creation_date] } { set creation_date [db_string get_date { *SQL* }] @@ -667,6 +753,8 @@ -storage_type:required -title:required -mime_type:required + {-creation_user ""} + {-creation_ip ""} {-creation_date ""} {-publish_date ""} } { @@ -686,10 +774,14 @@ } { + if { [empty_string_p $creation_user] } { + set creation_user [ad_conn user_id] + } + if { [empty_string_p $creation_ip] } { + set creation_ip [ad_conn peeraddr] + } set package_id [ad_conn package_id] - set creation_user [ad_conn user_id] - set creation_ip [ad_conn peeraddr] - set folder_id [content::item::get_id -item_path "${content_type}_${package_id}" -resolve_index {f}] + set folder_id [content::item::get_id -item_path "${content_type}_${package_id}" -resolve_index f] set item_name "${item_id}_${title}" set revision_id [db_nextval acs_object_id_seq] @@ -703,14 +795,24 @@ } if { $new_item_p } { - set item_id [content::item::new -item_id $item_id -parent_id $folder_id -content_type $content_type -name $item_name -context_id $package_id -mime_type $mime_type -title $title -storage_type $storage_type] + set item_id [content::item::new -item_id $item_id \ + -parent_id $folder_id \ + -content_type $content_type \ + -name $item_name \ + -context_id $package_id \ + -mime_type $mime_type \ + -creation_user $creation_user \ + -creation_ip $creation_ip \ + -storage_type $storage_type] } set revision_id [content::revision::new \ -item_id $item_id \ -content_type $content_type \ -title $title \ -mime_type $mime_type \ + -creation_user $creation_user \ + -creation_ip $creation_ip \ -attributes [list [list grades_sheet_item_id $item_id] \ [list task_item_id $task_item_id]] ] return $revision_id