Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
simple-survey
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
project-open
simple-survey
Commits
584074d6
Commit
584074d6
authored
Sep 14, 2015
by
Frank Bergmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Simple Survey:
- Added changes for project scoring: - Beautified code
parent
b63de946
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
74 additions
and
26 deletions
+74
-26
survsimp-procs.tcl
tcl/survsimp-procs.tcl
+18
-0
one.adp
www/one.adp
+1
-1
one.tcl
www/one.tcl
+10
-3
process-response.tcl
www/process-response.tcl
+45
-22
No files found.
tcl/survsimp-procs.tcl
View file @
584074d6
...
...
@@ -17,6 +17,7 @@ ad_library {
proc_doc survsimp_question_display
{
question_id
{
edit_previous_response_p
"f"
}
{
previous_response_id
""
}
}
"
Returns a string of HTML to display for a question,
suitable for embedding in a form.
...
...
@@ -79,6 +80,23 @@ proc_doc survsimp_question_display {
)
"
if
{
""
!=
$previous
_response_id
}
{
# We are editing an explicitely given response
set prev_response_query
"
select choice_id,
boolean_answer,
clob_answer,
number_answer,
varchar_answer,
date_answer,
attachment_file_name
from survsimp_question_responses
where question_id = :question_id
and response_id = :previous_response_id
"
}
set count 0
db_foreach survsimp_response
$prev
_response_query
{
incr count
...
...
www/one.adp
View file @
584074d6
...
...
@@ -17,7 +17,7 @@
</if>
<form enctype=multipart/form-data method="post" action="@package_url;noquote@/process-response">
<%= [export_form_vars survey_id related_object_id related_context_id task_id return_url] %>
<%= [export_form_vars survey_id re
sponse_id re
lated_object_id related_context_id task_id return_url] %>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td class="tabledata">
...
...
www/one.tcl
View file @
584074d6
...
...
@@ -16,6 +16,7 @@ if {![info exists task]} {
}
{
survey_id:integer,notnull
{
response_id:integer
""
}
{
related_object_id:integer
""
}
{
related_context_id:integer
""
}
return_url:optional
...
...
@@ -62,6 +63,8 @@ if {![info exists task]} {
if
{
!
[
info
exists return_url
]}
{
set return_url
[
im_url_with_query
]
}
set message
""
set response_id
""
# Determine the simple-survey from the
"Header"
of the panel.
# This is not the intended use of the
"Header"
, but comes in very handy.
set wf_panel_header
[
db_string panel_header
"
...
...
@@ -97,9 +100,9 @@ if {![info exists task]} {
ad_require_permission
$survey
_id survsimp_take_survey
set
user_id
[
ad_maybe_redirect_for_registration
]
set
package_url
"/simple-survey"
db_1row survey_info
"select name, description, single_response_p, single_editable_p, display_type
from survsimp_surveys where survey_id = :survey_id"
...
...
@@ -138,9 +141,13 @@ if {$single_response_p == "t" && $single_editable_p == "f"} {
set modification_allowed_p
"t"
}
if
{
""
!=
$response
_id
}
{
set edit_previous_response_p
"t"
}
# build a list containing the HTML (generated with survsimp_question_display
)
for each question
set
rownum 0
set
questions
[
list
]
db_foreach question_ids_select
{
...
...
@@ -150,7 +157,7 @@ db_foreach question_ids_select {
and active_p = 't'
order by sort_key
}
{
lappend questions
[
survsimp_question_display
$question
_id
$edit
_previous_response_p
]
lappend questions
[
survsimp_question_display
$question
_id
$edit
_previous_response_p
$response
_id
]
}
# return_url is used for infoshare - if it is set
...
...
www/process-response.tcl
View file @
584074d6
...
...
@@ -17,6 +17,7 @@ ad_page_contract {
@cvs-id $Id$
}
{
survey_id:integer,notnull
{
response_id:integer
""
}
{
related_object_id:integer
""
}
{
related_context_id:integer
""
}
return_url:optional
...
...
@@ -129,11 +130,14 @@ ad_page_contract {
ad_require_permission
$survey
_id survsimp_take_survey
set
user_id
[
ad_verify_and_get_user_id
]
set
response_id
[
db_nextval acs_object_id_seq
]
set
creation_ip
[
ad_conn peeraddr
]
set
create_response_p 0
if
{
""
==
$response
_id
}
{
set response_id
[
db_nextval acs_object_id_seq
]
set create_response_p 1
}
# -----------------------------------------------------
# Workflow Action
...
...
@@ -160,6 +164,7 @@ if {"" != $task_id} {
db_transaction
{
if
{
$create
_response_p
}
{
db_exec_plsql create_response
{
begin
:1 := survsimp_response.new
(
...
...
@@ -170,6 +175,7 @@ db_transaction {
);
end
;
}
}
db_dml update_oid
"
update survsimp_responses set
...
...
@@ -178,12 +184,22 @@ db_transaction {
where response_id = :response_id
"
set question_info_list
[
db_list_of_lists survsimp_question_info_list
{
select question_id, question_text, abstract_data_type, presentation_type, required_p
if
{
!$create_response_p
}
{
# Delete old answers
db_dml delete_old_response
"delete from survsimp_question_responses where response_id = :response_id"
}
set question_info_list
[
db_list_of_lists survsimp_question_info_list
"
select question_id,
question_text,
abstract_data_type,
presentation_type,
required_p
from survsimp_questions
where survey_id = :survey_id
and active_p = 't'
order by sort_key
}]
order by sort_key
"
]
foreach question
$question
_info_list
{
...
...
@@ -204,29 +220,34 @@ db_transaction {
set response_value
[
db_null
]
}
db_dml survsimp_question_response_checkbox_insert
"insert into survsimp_question_responses (response_id, question_id, choice_id)
values (:response_id, :question_id, :response_value)"
db_dml survsimp_question_response_checkbox_insert
"
insert into survsimp_question_responses (response_id, question_id, choice_id)
values (:response_id, :question_id, :response_value)
"
}
}
else
{
if
{
[
empty_string_p
$response
_value
]
}
{
set response_value
[
db_null
]
}
db_dml survsimp_question_response_choice_insert
"insert into survsimp_question_responses (response_id, question_id, choice_id)
values (:response_id, :question_id, :response_value)"
db_dml survsimp_question_response_choice_insert
"
insert into survsimp_question_responses (response_id, question_id, choice_id)
values (:response_id, :question_id, :response_value)"
}
}
"shorttext"
{
db_dml survsimp_question_choice_shorttext_insert
"insert into survsimp_question_responses (response_id, question_id, varchar_answer)
values (:response_id, :question_id, :response_value)"
db_dml survsimp_question_choice_shorttext_insert
"
insert into survsimp_question_responses (response_id, question_id, varchar_answer)
values (:response_id, :question_id, :response_value)"
}
"boolean"
{
if
{
[
empty_string_p
$response
_value
]
}
{
set response_value
[
db_null
]
}
db_dml survsimp_question_response_boolean_insert
"insert into survsimp_question_responses (response_id, question_id, boolean_answer)
values (:response_id, :question_id, :response_value)"
db_dml survsimp_question_response_boolean_insert
"
insert into survsimp_question_responses (response_id, question_id, boolean_answer)
values (:response_id, :question_id, :response_value)"
}
"number"
{}
"integer"
{
...
...
@@ -234,8 +255,9 @@ db_transaction {
set response_value
[
db_null
]
}
db_dml survsimp_question_response_integer_insert
"insert into survsimp_question_responses (response_id, question_id, number_answer)
values (:response_id, :question_id, :response_value)"
db_dml survsimp_question_response_integer_insert
"
insert into survsimp_question_responses (response_id, question_id, number_answer)
values (:response_id, :question_id, :response_value)"
}
"text"
{
if
{
[
empty_string_p
$response
_value
]
}
{
...
...
@@ -246,18 +268,19 @@ db_transaction {
set clob_answer
$response
_value
db_dml survsimp_question_response_text_insert
"
insert into survsimp_question_responses
(response_id, question_id, clob_answer
)
values (:response_id, :question_id, empty_clob())
returning clob_answer into :1
"
-clobs
[
list
$response
_value
]
insert into survsimp_question_responses (response_id, question_id, clob_answer)
values (:response_id, :question_id, empty_clob()
)
returning clob_answer into :1
"
-clobs
[
list
$response
_value
]
}
"date"
{
if
{
[
empty_string_p
$response
_value
]
}
{
set response_value
[
db_null
]
}
db_dml survsimp_question_response_date_insert
"insert into survsimp_question_responses (response_id, question_id, date_answer)
values (:response_id, :question_id, :response_value)"
db_dml survsimp_question_response_date_insert
"
insert into survsimp_question_responses (response_id, question_id, date_answer)
values (:response_id, :question_id, :response_value)"
}
"blob"
{
if
{
!
[
empty_string_p
$response
_value
]
}
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment