/
last-session.tcl
121 lines (105 loc) · 3.15 KB
/
last-session.tcl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
ad_page_contract {
Lists the identifier of sessions, the name of subjects that took
this assessment, the name of assessment and the finish time
of assessment for an assessment.
@author Eduardo Pérez Ureta (eperez@it.uc3m.es)
@creation-date 2004-09-03
} {
assessment_id:notnull
{subject_id:integer,optional ""}
} -properties {
context:onevalue
assessment_info:multirow
}
set context [list "[_ assessment.Show_Sessions]"]
set package_id [ad_conn package_id]
if {[empty_string_p $subject_id]} {
set subject_id [ad_conn user_id]
}
# Get the assessment data
as::assessment::data -assessment_id $assessment_id
if {![info exists assessment_data(assessment_id)]} {
ad_return_complaint 1 "[_ assessment.Requested_assess_does]"
ad_script_abort
}
set assessment_rev_id $assessment_data(assessment_rev_id)
if {$assessment_data(survey_p) == "t"} {
# Lists the identifier of sessions, the name of subjects that took this assessment,
# the name of assessment and the finished time
# of assessment for an assessment.
template::list::create \
-name sessions \
-multirow sessions \
-pass_properties { package_id } \
-key sessions_id \
-elements {
session_id {
label {[_ assessment.Session]}
link_url_eval {[export_vars -base "session" {session_id}]}
}
subject_name {
label {[_ assessment.Subject_Name]}
link_url_eval {[acs_community_member_url -user_id $subject_id]}
}
assessment_name {
label {Assessment}
link_url_eval {[export_vars -base "assessment" {assessment_id}]}
}
completed_datetime {
label {[_ assessment.Finish_Time]}
html {nowrap}
}
other_sessions {
label {[_ assessment.Other_Sessions]}
link_url_eval {[site_node::get_url_from_object_id -object_id $package_id]sessions?[export_vars {assessment_id subject_id}]}
}
} -main_class {
narrow
}
} else {
template::list::create \
-name sessions \
-multirow sessions \
-pass_properties { package_id } \
-key sessions_id \
-elements {
session_id {
label {[_ assessment.Session]}
link_url_eval {[export_vars -base "session" {session_id}]}
}
subject_name {
label {[_ assessment.Subject_Name]}
link_url_eval {[acs_community_member_url -user_id $subject_id]}
}
assessment_name {
label {Assessment}
link_url_eval {[export_vars -base "assessment" {assessment_id}]}
}
completed_datetime {
label {[_ assessment.Finish_Time]}
html {nowrap}
}
percent_score {
label {[_ assessment.Percent_Score]}
html {nowrap}
}
other_sessions {
label {[_ assessment.Other_Sessions]}
link_url_eval {[site_node::get_url_from_object_id -object_id $package_id]sessions?[export_vars {assessment_id subject_id}]}
}
} \
-main_class {
narrow
}
}
#if the user is admin he will display all sessions from all subjects
if {[permission::permission_p -object_id [acs_magic_object "security_context_root"] -privilege "admin"]} {
set query "sessions_of_assessment_of_subject"
} else {
set query "sessions_of_assessment"
}
db_multirow -extend { item_url assessment_id } sessions $query {
} {
set item_url [export_vars -base "session" {session_id}]
}
ad_return_template