2
0
mirror of https://github.com/ACSPRI/queXS synced 2024-04-02 12:12:16 +00:00

Update to trunk

This commit is contained in:
Adam Zammit
2014-03-13 15:11:05 +11:00
3 changed files with 76 additions and 26 deletions

View File

@@ -108,6 +108,9 @@ if (isset($_POST['submit']))
$htp->deleteUser($_POST["existing_username"]);
$htp->deleteUser($_POST["username"]);
$htp->addUser($_POST["username"],$_POST["password"]);
$htg = New Htgroup(HTGROUP_PATH);
$htg->deleteUserFromGroup($_POST["existing_username"],HTGROUP_INTERVIEWER);
$htg->addUserToGroup($_POST["username"],HTGROUP_INTERVIEWER);
}
$msg = T_("Successfully updated user");

View File

@@ -263,7 +263,8 @@ $quexsfilterstate = questionnaireSampleFilterstate();
."<option value='interviewtimec' id='interviewtimec' />".$clang->gT("Total interview time over all calls (mins)")."</option>\n"
."<option value='interviewtimel' id='interviewtimel' />".$clang->gT("Interview time for last call (mins)")."</option>\n"
."<option value='lastnumber' id='lastnumber' />".$clang->gT("Last number dialled")."</option>\n"
."<option value='operatoru' id='operatoru' />".$clang->gT("Operator username for last call")."</option>\n";
."<option value='operatoru' id='operatoru' />".$clang->gT("Operator username for last call")."</option>\n"
."<option value='shiftr' id='shiftr' />".$clang->gT("Shift report")."</option>\n";
$sql = "SELECT sv.var,sv.val
@@ -500,6 +501,18 @@ if ($tokenTableExists && $thissurvey['anonymized']=='N' && isset($_POST['attribu
ORDER BY cl5.call_id DESC
LIMIT 1) as operatoru ";
}
if (in_array('shiftr',$_POST['attribute_select']))
{
$dquery .= ", (SELECT GROUP_CONCAT(DISTINCT sr1.report SEPARATOR '|')
FROM `call` as cl6, `case` as ca8, `shift` as sh1, `shift_report` as sr1
WHERE cl6.case_id = ca8.case_id
AND ca8.token = {$dbprefix}survey_$surveyid.token
AND sr1.shift_id = sh1.shift_id
AND sh1.questionnaire_id = ca8.questionnaire_id
AND cl6.start >= sh1.start
AND cl6.end < sh1.end
GROUP BY sr1.shift_id) as shiftr ";
}
if (in_array('token',$_POST['attribute_select']))
{
$dquery .= ", {$dbprefix}tokens_$surveyid.token";
@@ -620,6 +633,11 @@ for ($i=0; $i<$fieldcount; $i++)
if ($type == "csv") {$firstline .= "\"".$elang->gT("Operator username for last call")."\"$separator";}
else {$firstline .= $elang->gT("Operator username for last call")."$separator";}
}
elseif ($fieldinfo == "shiftr")
{
if ($type == "csv") {$firstline .= "\"".$elang->gT("Shift report")."\"$separator";}
else {$firstline .= $elang->gT("Shift report")."$separator";}
}
elseif ($fieldinfo == "caseid")
{
if ($type == "csv") {$firstline .= "\"".$elang->gT("Case ID")."\"$separator";}
@@ -923,7 +941,7 @@ elseif ($answers == "long") //chose complete answers
$fqid=0; // By default fqid is set to zero
$field=$dresult->FetchField($i);
$fieldinfo=$field->name;
if ($fieldinfo != "startlanguage" && $fieldinfo != "id" && $fieldinfo != "datestamp" && $fieldinfo != "startdate" && $fieldinfo != "ipaddr" && $fieldinfo != "refurl" && $fieldinfo != "token" && $fieldinfo != "firstname" && $fieldinfo != "lastname" && $fieldinfo != "email" && (substr($fieldinfo,0,10)!="attribute_") && $fieldinfo != "completed" && $fieldinfo != "caseoutcome"&& $fieldinfo != "caseid" && $fieldinfo != "callattempts" && $fieldinfo != "messagesleft"&& $fieldinfo != "casenotes"&& $fieldinfo != "interviewtimec"&& $fieldinfo != "interviewtimel"&& $fieldinfo != "lastnumber"&& $fieldinfo != "operatoru")
if ($fieldinfo != "startlanguage" && $fieldinfo != "id" && $fieldinfo != "datestamp" && $fieldinfo != "startdate" && $fieldinfo != "ipaddr" && $fieldinfo != "refurl" && $fieldinfo != "token" && $fieldinfo != "firstname" && $fieldinfo != "lastname" && $fieldinfo != "email" && (substr($fieldinfo,0,10)!="attribute_") && $fieldinfo != "completed" && $fieldinfo != "caseoutcome"&& $fieldinfo != "caseid" && $fieldinfo != "callattempts" && $fieldinfo != "messagesleft"&& $fieldinfo != "casenotes"&& $fieldinfo != "interviewtimec"&& $fieldinfo != "interviewtimel"&& $fieldinfo != "lastnumber"&& $fieldinfo != "operatoru"&& $fieldinfo != "shiftr")
{
$fielddata=$fieldmap[$fieldinfo];
$fqid=$fielddata['qid'];
@@ -971,6 +989,9 @@ elseif ($answers == "long") //chose complete answers
case "operatoru":
$ftitle=$elang->gT("Operator username for last call").":";
break;
case "shiftr":
$ftitle=$elang->gT("Shift report").":";
break;
case "datestamp":
$ftitle=$elang->gT("Date Last Action").":";
break;

View File

@@ -3416,10 +3416,25 @@
//Add all sample variables for this case
global $connect;
$sql = "SELECT sv.var,sv.val
FROM sample_var as sv, `case` as c
WHERE c.sample_id = sv.sample_id
AND c.token = '{$_SESSION['token']}'";
$use_call = true;
if (strlen($_SESSION['token']) == 15)
$use_call = false;
if ($use_call)
{
$sql = "SELECT sv.var,sv.val
FROM sample_var as sv, `case` as c, `call` as cl
WHERE c.sample_id = sv.sample_id
AND c.case_id = cl.case_id
AND cl.call_id = '{$_SESSION['token']}'";
}
else
{
$sql = "SELECT sv.var,sv.val
FROM sample_var as sv, `case` as c
WHERE c.sample_id = sv.sample_id
AND c.token = '{$_SESSION['token']}'";
}
$queXSrs = $connect->GetAssoc($sql);
@@ -3434,46 +3449,57 @@
);
}
if ($use_call)
{
$osql = "FROM operator as o, `call` as cl
WHERE o.operator_id = cl.operator_id
AND cl.call_id = '{$_SESSION['token']}'";
$rsql = "FROM respondent as r, `call` as cl
WHERE cl.call_id = '{$_SESSION['token']}'
AND r.respondent_id = cl.respondent_id";
}
else
{
$osql = "FROM operator as o, `case` as c
WHERE c.token = '{$_SESSION['token']}'
AND o.operator_id = c.current_operator_id";
$rsql = "FROM respondent as r, `case` as c, call_attempt as ca
WHERE c.token = '{$_SESSION['token']}'
AND ca.case_id = c.case_id
AND ca.end IS NULL
AND r.respondent_id = ca.respondent_id";
}
//add operator and respondent details
$this->knownVars["OPERATOR:FIRSTNAME"] =
array('code' => $connect->GetOne(" SELECT o.firstName
FROM operator as o, `case` as c
WHERE c.token = '{$_SESSION['token']}'
AND o.operator_id = c.current_operator_id"),
array('code' => $connect->GetOne(" SELECT o.firstName " . $osql
),
'jsName_on'=>'',
'jsName'=>'',
'readWrite'=>'N',
);
$this->knownVars["OPERATOR:LASTNAME"] =
array('code' => $connect->GetOne(" SELECT o.lastName
FROM operator as o, `case` as c
WHERE c.token = '{$_SESSION['token']}'
AND o.operator_id = c.current_operator_id"),
array('code' => $connect->GetOne(" SELECT o.lastName " . $osql
),
'jsName_on'=>'',
'jsName'=>'',
'readWrite'=>'N',
);
$this->knownVars["RESPONDENT:FIRSTNAME"] =
array('code' => $connect->GetOne(" SELECT r.firstName
FROM respondent as r, `case` as c, call_attempt as ca
WHERE c.token = '{$_SESSION['token']}'
AND ca.case_id = c.case_id
AND ca.end IS NULL
AND r.respondent_id = ca.respondent_id"),
array('code' => $connect->GetOne(" SELECT r.firstName " . $rsql
),
'jsName_on'=>'',
'jsName'=>'',
'readWrite'=>'N',
);
$this->knownVars["RESPONDENT:LASTNAME"] =
array('code' => $connect->GetOne(" SELECT r.lastName
FROM respondent as r, `case` as c, call_attempt as ca
WHERE c.token = '{$_SESSION['token']}'
AND ca.case_id = c.case_id
AND ca.end IS NULL
AND r.respondent_id = ca.respondent_id"),
array('code' => $connect->GetOne(" SELECT r.lastName " . $rsql
),
'jsName_on'=>'',
'jsName'=>'',
'readWrite'=>'N',