Index: openacs-4/packages/faq/www/admin/q-and-a-add-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/faq/www/admin/q-and-a-add-edit.tcl,v diff -u -r1.12.2.3 -r1.12.2.4 --- openacs-4/packages/faq/www/admin/q-and-a-add-edit.tcl 10 Mar 2021 13:45:20 -0000 1.12.2.3 +++ openacs-4/packages/faq/www/admin/q-and-a-add-edit.tcl 11 Mar 2021 10:28:51 -0000 1.12.2.4 @@ -1,6 +1,8 @@ ad_page_contract { - Adds or Edit a new Q&A to a FAQ and Categories if Parameter EnableCategoriesP is Enabled + Adds or edits a new Q&A to a FAQ and categories if parameter + EnableCategoriesP is enabled + @author Rocael Hernandez (roc@viaro.net) @author Gerardo Morales Cadoret (gmorales@galileo.edu) @author Nima Mazloumi (nima.mazloumi@gmx.de) @@ -19,18 +21,24 @@ answer_q:onevalue } -db_1row get_name "select faq_name from faqs where faq_id=:faq_id" +db_1row get_name {select faq_name from faqs where faq_id=:faq_id} if { ![ad_form_new_p -key entry_id]} { set page_title [_ faq.One_Question] - set context [list [list "one-faq?faq_id=$faq_id" "$faq_name"] [_ faq.One_Question]] + set context [list [list "one-faq?faq_id=$faq_id" "$faq_name"] \ + [_ faq.One_Question]] set submit_label "[_ faq.Update_This_QA]" - permission::require_permission -object_id [ad_conn package_id] -privilege faq_modify_faq + permission::require_permission \ + -object_id [ad_conn package_id] \ + -privilege faq_modify_faq } else { set page_title [_ faq.Add_QA_for_faq_name] - set context [list [list "one-faq?faq_id=$faq_id" "$faq_name"] [_ faq.Create_new_QA]] + set context [list [list "one-faq?faq_id=$faq_id" "$faq_name"] \ + [_ faq.Create_new_QA]] set submit_label "[_ faq.Create_new_QA]" - permission::require_permission -object_id [ad_conn package_id] -privilege faq_create_faq + permission::require_permission \ + -object_id [ad_conn package_id] \ + -privilege faq_create_faq } @@ -43,10 +51,16 @@ set category_container [parameter::get -parameter "CategoryContainer"] set package_id [ad_conn package_id] -set select_sql_query "select question, answer,faq_name,qa.faq_id - from faq_q_and_as qa, faqs f - where entry_id = :entry_id - and f.faq_id = qa.faq_id" +set select_sql_query { + select question, + answer, + faq_name, + qa.faq_id + from faq_q_and_as qa, + faqs f + where entry_id = :entry_id + and f.faq_id = qa.faq_id +} ad_form -name new_quest_answ -method GET -export {faq_id creation_ip} -form { {entry_id:key} @@ -65,45 +79,66 @@ if { $use_categories_p == 1 } { #add link do define categories - set category_map_url [export_vars -base "[site_node::get_package_url -package_key categories]cadmin/one-object" { { object_id $package_id } }] + set category_map_url [export_vars \ + -base "[site_node::get_package_url \ + -package_key categories]cadmin/one-object" { + { object_id $package_id } + }] #extend the form to support categories - category::ad_form::add_widgets -form_name new_quest_answ -container_object_id $package_id -categorized_object_id [expr {[info exists entry_id] ? $entry_id : ""}] + category::ad_form::add_widgets \ + -form_name new_quest_answ \ + -container_object_id $package_id \ + -categorized_object_id [expr {[info exists entry_id] ? $entry_id : ""}] ad_form -extend -name new_quest_answ -edit_request { db_1row q $select_sql_query set question [template::util::richtext::create $question "text/html"] set answer [template::util::richtext::create $answer "text/html"] } -on_submit { - set category_ids [category::ad_form::get_categories -container_object_id $package_id] + set category_ids [category::ad_form::get_categories \ + -container_object_id $package_id] set question [template::util::richtext::get_property contents $question] set answer [template::util::richtext::get_property contents $answer] } -on_request { } -new_data { - set page_title [_ faq.Add_QA_for_faq_name] - set last_entry_id $prev_entry_id + set page_title [_ faq.Add_QA_for_faq_name] + set last_entry_id $prev_entry_id - db_transaction { - set old_sort_key [db_string faq_sortkey_get "select sort_key from faq_q_and_as where entry_id = :last_entry_id" -default 0] + db_transaction { + set old_sort_key [db_string faq_sortkey_get { + select sort_key + from faq_q_and_as + where entry_id = :last_entry_id + } -default 0] - if {$old_sort_key ne "0" } { - set sql_update_q_and_as "update faq_q_and_as set sort_key = sort_key + 1 where sort_key > :old_sort_key" + if {$old_sort_key ne "0" } { + set sql_update_q_and_as { + update faq_q_and_as + set sort_key = sort_key + 1 + where sort_key > :old_sort_key + } - db_dml faq_update $sql_update_q_and_as - set sort_key [expr {$old_sort_key + 1}] - } else { - set sort_key $entry_id - } - } + db_dml faq_update $sql_update_q_and_as + set sort_key [expr {$old_sort_key + 1}] + } else { + set sort_key $entry_id + } + } - db_transaction { - db_exec_plsql create_q_and_a { *SQL* } - category::map_object -remove_old -object_id $entry_id $category_ids - } - } -edit_data { - db_dml q_and_a_edit "update faq_q_and_as set question = :question, answer = :answer where entry_id = :entry_id" - category::map_object -remove_old -object_id $entry_id $category_ids + db_transaction { + db_exec_plsql create_q_and_a {} + category::map_object -remove_old -object_id $entry_id $category_ids + } + } -edit_data { + db_dml q_and_a_edit { + update faq_q_and_as + set question = :question, + answer = :answer + where entry_id = :entry_id + } + category::map_object -remove_old -object_id $entry_id $category_ids } -after_submit { ad_returnredirect "one-faq?faq_id=$faq_id" ad_script_abort @@ -124,10 +159,18 @@ db_transaction { - set old_sort_key [db_string faq_sortkey_get "select sort_key from faq_q_and_as where entry_id = :last_entry_id" -default 0] + set old_sort_key [db_string faq_sortkey_get { + select sort_key + from faq_q_and_as + where entry_id = :last_entry_id + } -default 0] if {$old_sort_key ne "0" } { - set sql_update_q_and_as "update faq_q_and_as set sort_key = sort_key + 1 where sort_key > :old_sort_key" + set sql_update_q_and_as { + update faq_q_and_as + set sort_key = sort_key + 1 + where sort_key > :old_sort_key + } db_dml faq_update $sql_update_q_and_as set sort_key [expr {$old_sort_key + 1}] @@ -137,14 +180,20 @@ } db_transaction { - db_exec_plsql create_q_and_a { *SQL* } + db_exec_plsql create_q_and_a {} } } -edit_data { - db_dml q_and_a_edit "update faq_q_and_as set question = :question, answer = :answer where entry_id = :entry_id" + db_dml q_and_a_edit { + update faq_q_and_as + set question = :question, + answer = :answer + where entry_id = :entry_id + } } -after_submit { - faq::notification_delivery::do_notification $question $answer $entry_id $faq_id $user_id - ad_returnredirect "one-faq?faq_id=$faq_id" - ad_script_abort + faq::notification_delivery::do_notification \ + $question $answer $entry_id $faq_id $user_id + ad_returnredirect "one-faq?faq_id=$faq_id" + ad_script_abort } }