| |
4 |
4 |
@author Timo Hentschel (timo@timohentschel.de) |
| |
5 |
5 |
@cvs-id $Id: |
| |
6 |
6 |
} { |
| |
7 |
7 |
assessment_id:integer,optional |
| |
8 |
8 |
{__new_p 0} |
| |
9 |
9 |
} -properties { |
| |
10 |
10 |
context_bar:onevalue |
| |
11 |
11 |
page_title:onevalue |
| |
12 |
12 |
} |
| |
13 |
13 |
|
| |
14 |
14 |
if {![info exists assessment_id] || $__new_p} { |
| |
15 |
15 |
set page_title [_ assessment.New_Assessment2] |
| |
16 |
16 |
set _assessment_id 0 |
| |
17 |
17 |
} else { |
| |
18 |
18 |
set page_title [_ assessment.Edit_Assessment] |
| |
19 |
19 |
set _assessment_id 0 |
| |
20 |
20 |
db_0or1row rev_id_from_item_id {} |
| |
21 |
21 |
} |
| |
22 |
22 |
|
| |
23 |
23 |
set context_bar [ad_context_bar $page_title] |
| |
24 |
|
set format "YYYY-MM-DD HH24:MI" |
| |
25 |
24 |
set package_id [ad_conn package_id] |
| |
|
25 |
set sql_format "YYYY-MM-DD HH24:MI:SS" |
| |
|
26 |
set form_format "[lc_get formbuilder_date_format] [lc_get formbuilder_time_format]" |
| |
26 |
27 |
|
| |
27 |
28 |
|
| |
28 |
29 |
set boolean_options [list [list "[_ assessment.yes]" t] [list "[_ assessment.no]" f]] |
| |
29 |
30 |
set feedback_options [list [list "[_ assessment.None]" none] [list "[_ assessment.All]" all] [list "[_ assessment.Only_incorrect]" incorrect] [list "[_ assessment.Only_correct]" correct]] |
| |
30 |
31 |
set navigation_options [list [list "[_ assessment.Default_Path]" "default path"] [list "[_ assessment.Randomized]" randomized] [list "[_ assessment.Rulebased_branching]" "rule-based branching"]] |
| |
31 |
32 |
|
| |
32 |
33 |
|
| |
33 |
34 |
ad_form -name assessment_form -action assessment-form -form { |
| |
34 |
35 |
{assessment_id:key} |
| |
35 |
36 |
} |
| |
36 |
37 |
|
| |
37 |
38 |
if {[info exists assessment_id]} { |
| |
38 |
39 |
ad_form -extend -name assessment_form -form { |
| |
39 |
40 |
{name:text(inform) {label "[_ assessment.Name]"} {html {size 80 maxlength 1000}} {help_text "[_ assessment.assessment_Name_help]"}} |
| |
40 |
41 |
} |
| |
41 |
42 |
} else { |
| |
42 |
43 |
ad_form -extend -name assessment_form -form { |
| |
43 |
|
{name:text,optional {label "[_ assessment.Name]"} {html {size 80 maxlength 1000}} {help_text "[_ assessment.assessment_Name_help]"}} |
| |
|
44 |
{name:text,optional,nospell {label "[_ assessment.Name]"} {html {size 80 maxlength 1000}} {help_text "[_ assessment.assessment_Name_help]"}} |
| |
44 |
45 |
} |
| |
45 |
46 |
} |
| |
46 |
47 |
|
| |
47 |
48 |
ad_form -extend -name assessment_form -form { |
| |
48 |
|
{title:text {label "[_ assessment.Title]"} {html {size 80 maxlength 1000}} {help_text "[_ assessment.as_Title_help]"}} |
| |
|
49 |
{title:text,nospell {label "[_ assessment.Title]"} {html {size 80 maxlength 1000}} {help_text "[_ assessment.as_Title_help]"}} |
| |
49 |
50 |
{description:text(textarea),optional {label "[_ assessment.Description]"} {html {rows 5 cols 80}} {help_text "[_ assessment.as_Description_help]"}} |
| |
50 |
51 |
} |
| |
51 |
52 |
|
| |
52 |
53 |
if {![empty_string_p [category_tree::get_mapped_trees $package_id]]} { |
| |
53 |
54 |
category::ad_form::add_widgets -container_object_id $package_id -categorized_object_id $_assessment_id -form_name assessment_form |
| |
54 |
55 |
} |
| |
55 |
56 |
|
| |
56 |
57 |
ad_form -extend -name assessment_form -form { |
| |
57 |
58 |
{instructions:text(textarea),optional {label "[_ assessment.Instructions]"} {html {rows 5 cols 80}} {help_text "[_ assessment.as_Instructions_help]"}} |
| |
58 |
|
{run_mode:text,optional {label "[_ assessment.Mode]"} {html {size 25 maxlength 25}} {help_text "[_ assessment.as_Mode_help]"}} |
| |
|
59 |
{run_mode:text,optional,nospell {label "[_ assessment.Mode]"} {html {size 25 maxlength 25}} {help_text "[_ assessment.as_Mode_help]"}} |
| |
59 |
60 |
{anonymous_p:text(select) {label "[_ assessment.Anonymous_Responses]"} {options $boolean_options} {help_text "[_ assessment.as_Anonymous_help]"}} |
| |
60 |
61 |
{secure_access_p:text(select) {label "[_ assessment.Secure_Access_1]"} {options $boolean_options} {help_text "[_ assessment.as_Secure_Access_help]"}} |
| |
61 |
62 |
{reuse_responses_p:text(select) {label "[_ assessment.Reuse_Responses_1]"} {options $boolean_options} {help_text "[_ assessment.as_Reuse_Responses_help]"}} |
| |
62 |
63 |
{show_item_name_p:text(select) {label "[_ assessment.Show_Item_Name_1]"} {options $boolean_options} {help_text "[_ assessment.as_Show_Item_Name_help]"}} |
| |
63 |
|
{entry_page:text,optional {label "[_ assessment.Entry_Page]"} {html {size 50 maxlength 50}} {help_text "[_ assessment.as_Entry_Page_help]"}} |
| |
64 |
|
{exit_page:text,optional {label "[_ assessment.Exit_Page]"} {html {size 50 maxlength 50}} {help_text "[_ assessment.as_Exit_Page_help]"}} |
| |
65 |
|
{consent_page:text(textarea),optional {label "[_ assessment.Consent_Page]"} {html {rows 5 cols 80}} {help_text "[_ assessment.as_Consent_Page_help]"}} |
| |
66 |
|
{return_url:text,optional {label "[_ assessment.Return_Url]"} {html {size 50 maxlength 50}} {help_text "[_ assessment.as_Return_Url_help]"}} |
| |
67 |
|
{start_time:date,to_sql(sql_date),to_html(display_date),optional {label "[_ assessment.Start_Time]"} {format $format} {help} {help_text "[_ assessment.as_Start_Time_help]"}} |
| |
68 |
|
{end_time:date,to_sql(sql_date),to_html(display_date),optional {label "[_ assessment.End_Time]"} {format $format} {help} {help_text "[_ assessment.as_End_Time_help]"}} |
| |
69 |
|
{number_tries:integer,optional {label "[_ assessment.Number_of_Tries]"} {html {size 10 maxlength 10}} {help_text "[_ assessment.as_Number_Tries_help]"}} |
| |
70 |
|
{wait_between_tries:integer,optional {label "[_ assessment.Minutes_for_Retry]"} {html {size 10 maxlength 10}} {help_text "[_ assessment.as_Minutes_Retry_help]"}} |
| |
71 |
|
{time_for_response:integer,optional {label "[_ assessment.time_for_completion]"} {html {size 10 maxlength 10}} {help_text "[_ assessment.as_time_help]"}} |
| |
|
64 |
{entry_page:text,optional,nospell {label "[_ assessment.Entry_Page]"} {html {size 50 maxlength 50}} {help_text "[_ assessment.as_Entry_Page_help]"}} |
| |
|
65 |
{exit_page:text,optional,nospell {label "[_ assessment.Exit_Page]"} {html {size 50 maxlength 50}} {help_text "[_ assessment.as_Exit_Page_help]"}} |
| |
|
66 |
{consent_page:text(textarea),optional,nospell {label "[_ assessment.Consent_Page]"} {html {rows 5 cols 80}} {help_text "[_ assessment.as_Consent_Page_help]"}} |
| |
|
67 |
{return_url:text,optional,nospell {label "[_ assessment.Return_Url]"} {html {size 50 maxlength 50}} {help_text "[_ assessment.as_Return_Url_help]"}} |
| |
|
68 |
{start_time:date,to_sql(sql_date),to_html(display_date),optional {label "[_ assessment.Start_Time]"} {format $form_format} {help} {help_text "[_ assessment.as_Start_Time_help]"}} |
| |
|
69 |
{end_time:date,to_sql(sql_date),to_html(display_date),optional {label "[_ assessment.End_Time]"} {format $form_format} {help} {help_text "[_ assessment.as_End_Time_help]"}} |
| |
|
70 |
{number_tries:integer,optional,nospell {label "[_ assessment.Number_of_Tries]"} {html {size 10 maxlength 10}} {help_text "[_ assessment.as_Number_Tries_help]"}} |
| |
|
71 |
{wait_between_tries:integer,optional,nospell {label "[_ assessment.Minutes_for_Retry]"} {html {size 10 maxlength 10}} {help_text "[_ assessment.as_Minutes_Retry_help]"}} |
| |
|
72 |
{time_for_response:integer,optional,nospell {label "[_ assessment.time_for_completion]"} {html {size 10 maxlength 10}} {help_text "[_ assessment.as_time_help]"}} |
| |
72 |
73 |
{show_feedback:text(select),optional {label "[_ assessment.Show_Feedback]"} {options $feedback_options} {help_text "[_ assessment.as_Feedback_help]"}} |
| |
73 |
74 |
{section_navigation:text(select),optional {label "[_ assessment.Section_Navigation]"} {options $navigation_options} {help_text "[_ assessment.as_Navigation_help]"}} |
| |
74 |
75 |
} -new_request { |
| |
75 |
76 |
set name "" |
| |
76 |
77 |
set title "" |
| |
77 |
78 |
set description "" |
| |
78 |
79 |
set instructions "" |
| |
79 |
80 |
set run_mode "" |
| |
80 |
81 |
set anonymous_p f |
| |
81 |
82 |
set secure_access_p f |
| |
82 |
83 |
set reuse_responses_p f |
| |
83 |
84 |
set show_item_name_p f |
| |
84 |
85 |
set entry_page "" |
| |
85 |
86 |
set exit_page "" |
| |
86 |
87 |
set consent_page "" |
| |
87 |
88 |
set return_url "" |
| |
88 |
89 |
set start_time "" |
| |
89 |
90 |
set end_time "" |
| |
90 |
91 |
set number_tries "" |
| |
91 |
92 |
set wait_between_tries "" |
| |
92 |
93 |
set time_for_response "" |
| |
93 |
94 |
set show_feedback "none" |
| |
94 |
95 |
set section_navigation "default path" |
| |
95 |
96 |
} -edit_request { |
| |
96 |
97 |
db_1row assessment_data {} |
| |
97 |
98 |
|
| |
98 |
99 |
if {![empty_string_p $start_time]} { |
| |
99 |
|
set start_time [util::date::acquire clock [clock scan $start_time]] |
| |
|
100 |
set start_time [util::date::acquire ansi $start_time] |
| |
100 |
101 |
} |
| |
101 |
102 |
if {![empty_string_p $end_time]} { |
| |
102 |
|
set end_time [util::date::acquire clock [clock scan $end_time]] |
| |
|
103 |
set end_time [util::date::acquire ansi $end_time] |
| |
103 |
104 |
} |
| |
104 |
105 |
} -validate { |
| |
105 |
106 |
{name {[as::assessment::unique_name -name $name -new_p $__new_p]} "[_ assessment.name_used]"} |
| |
106 |
107 |
} -on_submit { |
| |
107 |
108 |
if {$start_time == "NULL"} { |
| |
108 |
109 |
set start_time "" |
| |
109 |
110 |
} |
| |
110 |
111 |
if {$end_time == "NULL"} { |
| |
111 |
112 |
set end_time "" |
| |
112 |
113 |
} |
| |
|
114 |
if {[db_type] == "postgresql"} { |
| |
|
115 |
regsub -all -- {to_date} $start_time {to_timestamp} start_time |
| |
|
116 |
regsub -all -- {to_date} $end_time {to_timestamp} end_time |
| |
|
117 |
} |
| |
|
118 |
|
| |
113 |
119 |
set category_ids [category::ad_form::get_categories -container_object_id $package_id] |
| |
114 |
120 |
} -new_data { |
| |
115 |
121 |
db_transaction { |
| |
116 |
122 |
set assessment_rev_id [as::assessment::new \ |
| |
117 |
123 |
-name $name \ |
| |
118 |
124 |
-title $title \ |
| |
119 |
125 |
-description $description \ |
| |
120 |
126 |
-instructions $instructions \ |
| |
121 |
127 |
-run_mode $run_mode \ |
| |
122 |
128 |
-anonymous_p $anonymous_p \ |
| |
123 |
129 |
-secure_access_p $secure_access_p \ |
| |
124 |
130 |
-reuse_responses_p $reuse_responses_p \ |
| |
125 |
131 |
-show_item_name_p $show_item_name_p \ |
| |
126 |
132 |
-entry_page $entry_page \ |
| |
127 |
133 |
-exit_page $exit_page \ |
| |
128 |
134 |
-consent_page $consent_page \ |
| |
129 |
135 |
-return_url $return_url \ |
| |
130 |
|
-start_time $start_time \ |
| |
131 |
|
-end_time $end_time \ |
| |
|
136 |
-start_time "" \ |
| |
|
137 |
-end_time "" \ |
| |
132 |
138 |
-number_tries $number_tries \ |
| |
133 |
139 |
-wait_between_tries $wait_between_tries \ |
| |
134 |
140 |
-time_for_response $time_for_response \ |
| |
135 |
141 |
-show_feedback $show_feedback \ |
| |
136 |
142 |
-section_navigation $section_navigation] |
| |
137 |
143 |
|
| |
138 |
144 |
set assessment_id [db_string assessment_id_from_revision {}] |
| |
139 |
145 |
|
| |
140 |
146 |
if {[exists_and_not_null category_ids]} { |
| |
141 |
147 |
category::map_object -object_id $assessment_rev_id $category_ids |
| |
142 |
148 |
} |
| |
|
149 |
|
| |
|
150 |
db_dml update_time {} |
| |
143 |
151 |
} |
| |
144 |
152 |
} -edit_data { |
| |
145 |
153 |
db_transaction { |
| |
146 |
154 |
set assessment_rev_id [as::assessment::edit \ |
| |
147 |
155 |
-assessment_id $assessment_id \ |
| |
148 |
156 |
-title $title \ |
| |
149 |
157 |
-description $description \ |
| |
150 |
158 |
-instructions $instructions \ |
| |
151 |
159 |
-run_mode $run_mode \ |
| |
152 |
160 |
-anonymous_p $anonymous_p \ |
| |
153 |
161 |
-secure_access_p $secure_access_p \ |
| |
154 |
162 |
-reuse_responses_p $reuse_responses_p \ |
| |
155 |
163 |
-show_item_name_p $show_item_name_p \ |
| |
156 |
164 |
-entry_page $entry_page \ |
| |
157 |
165 |
-exit_page $exit_page \ |
| |
158 |
166 |
-consent_page $consent_page \ |
| |
159 |
167 |
-return_url $return_url \ |
| |
160 |
|
-start_time $start_time \ |
| |
161 |
|
-end_time $end_time \ |
| |
|
168 |
-start_time "" \ |
| |
|
169 |
-end_time "" \ |
| |
162 |
170 |
-number_tries $number_tries \ |
| |
163 |
171 |
-wait_between_tries $wait_between_tries \ |
| |
164 |
172 |
-time_for_response $time_for_response \ |
| |
165 |
173 |
-show_feedback $show_feedback \ |
| |
166 |
174 |
-section_navigation $section_navigation] |
| |
167 |
175 |
|
| |
168 |
176 |
if {[exists_and_not_null category_ids]} { |
| |
169 |
177 |
category::map_object -object_id $assessment_rev_id $category_ids |
| |
170 |
178 |
} |
| |
|
179 |
|
| |
|
180 |
db_dml update_time {} |
| |
171 |
181 |
} |
| |
172 |
182 |
} -after_submit { |
| |
173 |
183 |
ad_returnredirect [export_vars -base one-a {assessment_id}] |
| |
174 |
184 |
ad_script_abort |
| |
175 |
185 |
} |
| |
176 |
186 |
|
| |
177 |
187 |
ad_return_template |