mirror of
https://github.com/ACSPRI/queXS
synced 2024-04-02 12:12:16 +00:00
New Feature: Pre-generation of cases and copying of sample variables to Limesurvey attributes for "Web First" then CATI methodology
This commit is contained in:
@@ -92,6 +92,57 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['sample']) && isset($_GET['
|
||||
VALUES('$questionnaire_id','$sid','$cm','$cam','$selecttype','$am', '$an')";
|
||||
|
||||
$db->Execute($sql);
|
||||
|
||||
if (isset($_GET['generatecases']))
|
||||
{
|
||||
include_once("../functions/functions.operator.php");
|
||||
|
||||
$db->StartTrans();
|
||||
|
||||
$lime_sid = $db->GetOne("SELECT lime_sid FROM questionnaire WHERE questionnaire_id = '$questionnaire_id'");
|
||||
$testing = $db->GetOne("SELECT testing FROM questionnaire WHERE questionnaire_id = '$questionnaire_id'");
|
||||
|
||||
//add limesurvey attribute for each sample var record
|
||||
$sql = "SELECT var,type
|
||||
FROM sample_import_var_restrict
|
||||
WHERE sample_import_id = '$sid'";
|
||||
|
||||
$rs = $db->GetAll($sql);
|
||||
|
||||
$i = 1;
|
||||
|
||||
$fields = array();
|
||||
$fieldcontents='';
|
||||
foreach($rs as $r)
|
||||
{
|
||||
$fields[]=array('attribute_'.$i,'C','255');
|
||||
$fieldcontents.='attribute_'.$i.'='.$r['var']."\n";
|
||||
$i++;
|
||||
}
|
||||
$dict = NewDataDictionary($db);
|
||||
$sqlarray = $dict->ChangeTableSQL(LIME_PREFIX ."tokens_$lime_sid", $fields);
|
||||
$execresult=$dict->ExecuteSQLArray($sqlarray, false);
|
||||
|
||||
$sql = "UPDATE " . LIME_PREFIX . "surveys
|
||||
SET attributedescriptions = " . $db->qstr($fieldcontents) . "
|
||||
WHERE sid='$lime_sid'";
|
||||
|
||||
$db->Execute($sql);
|
||||
|
||||
//generate one case for each sample record and set outcome to 41
|
||||
$sql = "SELECT sample_id
|
||||
FROM sample
|
||||
WHERE import_id = '$sid'";
|
||||
|
||||
$rs = $db->GetAll($sql);
|
||||
|
||||
foreach($rs as $r)
|
||||
{
|
||||
add_case($r['sample_id'],$questionnaire_id,"NULL",$testing,41, true);
|
||||
}
|
||||
|
||||
$db->CompleteTrans();
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['edit']))
|
||||
@@ -266,7 +317,14 @@ if ($questionnaire_id != false)
|
||||
|
||||
<label for="allownew" class="control-label col-sm-4"><?php echo T_("Allow new numbers to be drawn?");?></label>
|
||||
<div class="col-sm-1"><input type="checkbox" id = "allownew" name="allownew" checked="checked" class="col-sm-1" data-toggle="toggle" data-size="small" data-on="<?php echo T_("Yes");?>" data-off="<?php echo T_("No");?>" data-width="85"/></div><br/><br/><br/>
|
||||
|
||||
|
||||
<?php $self_complete = $db->GetOne("SELECT self_complete FROM questionnaire WHERE questionnaire_id = '$questionnaire_id'");
|
||||
if ($self_complete) {?>
|
||||
<label for="generatecases" class="control-label col-sm-4"><?php echo T_("Generate cases for all sample records and set outcome to 'Self completion email invitation sent'? (Ideal if you intend to send an email invitation to sample members before attempting to call using queXS)");?></label>
|
||||
<div class="col-sm-1"><input type="checkbox" id = "generatecases" name="generatecases" class="col-sm-1" data-toggle="toggle" data-size="small" data-on="<?php echo T_("Yes");?>" data-off="<?php echo T_("No");?>" data-width="85"/></div><br/><br/><br/>
|
||||
<?php }?>
|
||||
|
||||
<input type="hidden" name="questionnaire_id" value="<?php print($questionnaire_id);?>"/>
|
||||
|
||||
<div class="col-sm-offset-4 col-sm-3"><button type="submit" name="add_sample" class="btn btn-primary"><i class="fa fa-plus-circle fa-lg"></i> <?php echo T_("Add sample");?></button></div>
|
||||
|
||||
@@ -345,17 +345,19 @@ function is_respondent_selection($operator_id)
|
||||
* @param int $questionnaire_id The questionnaire id
|
||||
* @param int $operator_id The operator id (Default NULL)
|
||||
* @param int $testing 0 if a live case otherwise 1 for a testing case
|
||||
* @param int $current_outcome_id The current outcome id (defaults to 1 - not attempted)
|
||||
* @param bool $addlimeattributes If true, add sample values as lime attributes
|
||||
*
|
||||
* @return int The case id
|
||||
*/
|
||||
function add_case($sample_id,$questionnaire_id,$operator_id = "NULL",$testing = 0)
|
||||
function add_case($sample_id,$questionnaire_id,$operator_id = "NULL",$testing = 0, $current_outcome_id = 1, $addlimeattributes = false)
|
||||
{
|
||||
global $db;
|
||||
|
||||
$token = sRandomChars();
|
||||
|
||||
$sql = "INSERT INTO `case` (case_id, sample_id, questionnaire_id, last_call_id, current_operator_id, current_call_id, current_outcome_id,token)
|
||||
VALUES (NULL, $sample_id, $questionnaire_id, NULL, $operator_id, NULL, 1, '$token')";
|
||||
VALUES (NULL, $sample_id, $questionnaire_id, NULL, $operator_id, NULL, '$current_outcome_id','$token')";
|
||||
|
||||
$db->Execute($sql);
|
||||
|
||||
@@ -440,10 +442,75 @@ function add_case($sample_id,$questionnaire_id,$operator_id = "NULL",$testing =
|
||||
|
||||
if ($lime_sid)
|
||||
{
|
||||
$lfirstname = '';
|
||||
$llastname = '';
|
||||
$lemail = '';
|
||||
|
||||
if ($addlimeattributes)
|
||||
{
|
||||
$lfirstname = $db->GetOne("SELECT sv.val
|
||||
FROM sample_var as sv, sample_import_var_restrict as s
|
||||
WHERE sv.var_id = s.var_id
|
||||
AND sv.sample_id = '$sample_id'
|
||||
AND s.type = '6'");
|
||||
|
||||
$llastname = $db->GetOne("SELECT sv.val
|
||||
FROM sample_var as sv, sample_import_var_restrict as s
|
||||
WHERE sv.var_id = s.var_id
|
||||
AND sv.sample_id = '$sample_id'
|
||||
AND s.type = '7'");
|
||||
|
||||
$lemail = $db->GetOne("SELECT sv.val
|
||||
FROM sample_var as sv, sample_import_var_restrict as s
|
||||
WHERE sv.var_id = s.var_id
|
||||
AND sv.sample_id = '$sample_id'
|
||||
AND s.type = '8'");
|
||||
|
||||
}
|
||||
|
||||
$sql = "INSERT INTO ".LIME_PREFIX."tokens_$lime_sid (tid,firstname,lastname,email,token,language,sent,completed,mpid)
|
||||
VALUES (NULL,'','','','$token','".DEFAULT_LOCALE."','N','N',NULL)";
|
||||
VALUES (NULL,'$lfirstname','$llastname','$lemail','$token','".DEFAULT_LOCALE."','N','N',NULL)";
|
||||
|
||||
$db->Execute($sql);
|
||||
|
||||
$tid = $db->Insert_Id();
|
||||
|
||||
if ($addlimeattributes)
|
||||
{
|
||||
//also add sample values as attributes
|
||||
//match by name
|
||||
|
||||
$sql = "SELECT attributedescriptions
|
||||
FROM " . LIME_PREFIX . "surveys
|
||||
WHERE sid = '$lime_sid'";
|
||||
|
||||
$names = $db->GetOne($sql);
|
||||
|
||||
$attdescriptiondata=explode("\n",$names);
|
||||
$atts=array();
|
||||
|
||||
foreach ($attdescriptiondata as $attdescription)
|
||||
{
|
||||
if (!empty($attdescription))
|
||||
$atts['attribute_'.substr($attdescription,10,strpos($attdescription,'=')-10)] = substr($attdescription,strpos($attdescription,'=')+1);
|
||||
}
|
||||
|
||||
foreach($atts as $key => $val)
|
||||
{
|
||||
$lval = $db->GetOne("SELECT sv.val
|
||||
FROM sample_var as sv, sample_import_var_restrict as s
|
||||
WHERE sv.var_id = s.var_id
|
||||
AND sv.sample_id = '$sample_id'
|
||||
AND s.var LIKE '$val'");
|
||||
|
||||
$sql = "UPDATE " . LIME_PREFIX . "tokens_$lime_sid
|
||||
SET $key = '$lval'
|
||||
WHERE tid = '$tid'";
|
||||
|
||||
$db->Execute($sql);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
127
locale/quexs.pot
127
locale/quexs.pot
@@ -2,7 +2,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: queXS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-08-05 10:48+1000\n"
|
||||
"POT-Creation-Date: 2015-08-07 15:48+1000\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: Adam Zammit <adam.zammit@acspri.org.au>\n"
|
||||
"Language-Team: \n"
|
||||
@@ -146,32 +146,6 @@ msgstr ""
|
||||
msgid "Show to operator?"
|
||||
msgstr ""
|
||||
|
||||
#: functions/functions.freepbx.php:138
|
||||
#, php-format
|
||||
msgid "Reload failed because retrieve_conf encountered an error: %s"
|
||||
msgstr ""
|
||||
|
||||
#: functions/functions.freepbx.php:140
|
||||
msgid "retrieve_conf failed, config not applied"
|
||||
msgstr ""
|
||||
|
||||
#: functions/functions.freepbx.php:146
|
||||
msgid ""
|
||||
"Reload failed because FreePBX could not connect to the asterisk manager "
|
||||
"interface."
|
||||
msgstr ""
|
||||
|
||||
#: functions/functions.freepbx.php:165
|
||||
msgid ""
|
||||
"Could not reload the FOP operator panel server using the bounce_op.sh "
|
||||
"script. Configuration changes may not be reflected in the panel display."
|
||||
msgstr ""
|
||||
|
||||
#: functions/functions.freepbx.php:174
|
||||
#, php-format
|
||||
msgid "Exit code was %s and output was: %s"
|
||||
msgstr ""
|
||||
|
||||
#: functions/functions.operator.php:167 include/limesurvey/quexs.php:362
|
||||
msgid "morning"
|
||||
msgstr ""
|
||||
@@ -184,7 +158,7 @@ msgstr ""
|
||||
msgid "evening"
|
||||
msgstr ""
|
||||
|
||||
#: functions/functions.operator.php:905
|
||||
#: functions/functions.operator.php:972
|
||||
msgid ""
|
||||
"ERROR: You do not have server side authentication enabled therefore queXS "
|
||||
"cannot determine which user is accessing the system."
|
||||
@@ -506,7 +480,7 @@ msgstr ""
|
||||
#: admin/operatorlist.php:184 admin/operatorlist.php:372
|
||||
#: admin/casesbyoutcome.php:88 admin/supervisor.php:372
|
||||
#: admin/supervisor.php:399 admin/supervisor.php:416
|
||||
#: admin/operatorskill.php:244 admin/operatorperformance.php:81
|
||||
#: admin/operatorskill.php:246 admin/operatorperformance.php:81
|
||||
#: admin/operatorperformance.php:104 admin/shiftreport.php:104
|
||||
#: admin/extensionstatus.php:257 admin/operatorquestionnaire.php:242
|
||||
msgid "Operator"
|
||||
@@ -540,7 +514,7 @@ msgstr ""
|
||||
#: admin/questionnairelist.php:538 admin/callhistory.php:137
|
||||
#: admin/availability.php:121 admin/operatorlist.php:182 admin/import.php:43
|
||||
#: admin/import.php:81 admin/import.php:112 admin/casesbyoutcome.php:54
|
||||
#: admin/assignsample.php:150 admin/assignsample.php:203
|
||||
#: admin/assignsample.php:201 admin/assignsample.php:254
|
||||
#: admin/casestatus.php:205 admin/extensionstatus.php:185 respondent.php:95
|
||||
#: contactdetails.php:92
|
||||
msgid "Go back"
|
||||
@@ -598,11 +572,12 @@ msgstr ""
|
||||
#: admin/questionnairelist.php:388 admin/questionnairelist.php:392
|
||||
#: admin/questionnairelist.php:396 admin/questionnairelist.php:400
|
||||
#: admin/operatorlist.php:239 admin/operatorlist.php:251
|
||||
#: admin/operatorlist.php:255 admin/assignsample.php:173
|
||||
#: admin/assignsample.php:176 admin/assignsample.php:264
|
||||
#: admin/assignsample.php:268 admin/supervisor.php:185 admin/quotarow.php:392
|
||||
#: admin/quotarow.php:596 admin/new.php:199 admin/new.php:206
|
||||
#: admin/new.php:213 admin/new.php:220 admin/new.php:227
|
||||
#: admin/operatorlist.php:255 admin/assignsample.php:224
|
||||
#: admin/assignsample.php:227 admin/assignsample.php:315
|
||||
#: admin/assignsample.php:319 admin/assignsample.php:325
|
||||
#: admin/supervisor.php:185 admin/quotarow.php:392 admin/quotarow.php:596
|
||||
#: admin/new.php:199 admin/new.php:206 admin/new.php:213 admin/new.php:220
|
||||
#: admin/new.php:227
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
@@ -1078,14 +1053,14 @@ msgstr ""
|
||||
#: nocaseavailable.php:116 admin/samplelist.php:320 admin/quotareport.php:294
|
||||
#: admin/assigntimeslots.php:260 admin/outcomes.php:122 admin/outcomes.php:178
|
||||
#: admin/callhistory.php:124 admin/callhistory.php:149
|
||||
#: admin/callhistory.php:160 admin/quota.php:131 admin/assignsample.php:152
|
||||
#: admin/assignsample.php:228 admin/supervisor.php:298 admin/quotarow.php:306
|
||||
#: admin/callhistory.php:160 admin/quota.php:131 admin/assignsample.php:203
|
||||
#: admin/assignsample.php:279 admin/supervisor.php:298 admin/quotarow.php:306
|
||||
#: admin/casestatus.php:116 admin/casestatus.php:234
|
||||
msgid "Sample"
|
||||
msgstr ""
|
||||
|
||||
#: nocaseavailable.php:141 admin/callhistory.php:124 admin/callhistory.php:149
|
||||
#: admin/callhistory.php:154 admin/quota.php:110 admin/assignsample.php:151
|
||||
#: admin/callhistory.php:154 admin/quota.php:110 admin/assignsample.php:202
|
||||
#: admin/quotarow.php:288 admin/casestatus.php:231
|
||||
#: admin/displayappointments.php:258 admin/displayappointments.php:277
|
||||
#: admin/new.php:127 admin/new.php:135 shifts.php:103
|
||||
@@ -1245,7 +1220,7 @@ msgstr ""
|
||||
msgid "Delete ?"
|
||||
msgstr ""
|
||||
|
||||
#: admin/samplelist.php:346 admin/addshift.php:263 admin/assignsample.php:179
|
||||
#: admin/samplelist.php:346 admin/addshift.php:263 admin/assignsample.php:230
|
||||
#: admin/quotarow.php:394 admin/extensionstatus.php:202
|
||||
#: admin/displayappointments.php:231
|
||||
msgid "Save changes"
|
||||
@@ -1405,7 +1380,7 @@ msgid "Added operator :"
|
||||
msgstr ""
|
||||
|
||||
#: admin/operators.php:150
|
||||
msgid "FreePBX has been reloaded for the new VoIP extension to take effect"
|
||||
msgid "FreePBX needs to be reloaded for the new VoIP extension to take effect"
|
||||
msgstr ""
|
||||
|
||||
#: admin/operators.php:172
|
||||
@@ -1430,7 +1405,7 @@ msgstr ""
|
||||
|
||||
#: admin/operators.php:242 admin/clientquestionnaire.php:238
|
||||
#: admin/operatorlist.php:200 admin/operatorlist.php:372
|
||||
#: admin/operatorskill.php:244 admin/operatorquestionnaire.php:242
|
||||
#: admin/operatorskill.php:246 admin/operatorquestionnaire.php:242
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
@@ -1453,7 +1428,7 @@ msgstr ""
|
||||
|
||||
#: admin/operators.php:267 admin/operators.php:276
|
||||
#: admin/questionnairelist.php:380 admin/operatorlist.php:225
|
||||
#: admin/operatorlist.php:233 admin/assignsample.php:228
|
||||
#: admin/operatorlist.php:233 admin/assignsample.php:279
|
||||
#: admin/quotarow.php:582 admin/shiftreport.php:104
|
||||
#: admin/displayappointments.php:258 admin/displayappointments.php:277
|
||||
msgid "Edit"
|
||||
@@ -1478,11 +1453,12 @@ msgstr ""
|
||||
#: admin/questionnairelist.php:392 admin/questionnairelist.php:396
|
||||
#: admin/questionnairelist.php:400 admin/operatorlist.php:239
|
||||
#: admin/operatorlist.php:251 admin/operatorlist.php:255
|
||||
#: admin/assignsample.php:173 admin/assignsample.php:174
|
||||
#: admin/assignsample.php:176 admin/assignsample.php:264
|
||||
#: admin/assignsample.php:265 admin/assignsample.php:268
|
||||
#: admin/quotarow.php:392 admin/quotarow.php:596 admin/new.php:199
|
||||
#: admin/new.php:206 admin/new.php:213 admin/new.php:220 admin/new.php:227
|
||||
#: admin/assignsample.php:224 admin/assignsample.php:225
|
||||
#: admin/assignsample.php:227 admin/assignsample.php:315
|
||||
#: admin/assignsample.php:316 admin/assignsample.php:319
|
||||
#: admin/assignsample.php:325 admin/quotarow.php:392 admin/quotarow.php:596
|
||||
#: admin/new.php:199 admin/new.php:206 admin/new.php:213 admin/new.php:220
|
||||
#: admin/new.php:227
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
@@ -1516,7 +1492,7 @@ msgstr ""
|
||||
|
||||
#: admin/quotareport.php:111 admin/assigntimeslots.php:156
|
||||
#: admin/questionnaireprefill.php:100 admin/outcomes.php:68
|
||||
#: admin/addshift.php:168 admin/assignsample.php:204
|
||||
#: admin/addshift.php:168 admin/assignsample.php:255
|
||||
msgid "Select a questionnaire"
|
||||
msgstr ""
|
||||
|
||||
@@ -2349,7 +2325,7 @@ msgstr ""
|
||||
msgid "Select columns to import"
|
||||
msgstr ""
|
||||
|
||||
#: admin/import.php:97 admin/import.php:145 admin/assignsample.php:272
|
||||
#: admin/import.php:97 admin/import.php:145 admin/assignsample.php:330
|
||||
msgid "Add sample"
|
||||
msgstr ""
|
||||
|
||||
@@ -2458,7 +2434,7 @@ msgstr ""
|
||||
msgid "Assign operators to questionnaires"
|
||||
msgstr ""
|
||||
|
||||
#: admin/index.php:134 admin/operatorskill.php:268
|
||||
#: admin/index.php:134 admin/operatorskill.php:270
|
||||
msgid "Modify operator skills"
|
||||
msgstr ""
|
||||
|
||||
@@ -2679,82 +2655,89 @@ msgstr ""
|
||||
msgid "Code value"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:131
|
||||
#: admin/assignsample.php:182
|
||||
msgid "Edit assignment parameters"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:132 admin/assignsample.php:201
|
||||
#: admin/assignsample.php:183 admin/assignsample.php:252
|
||||
msgid "Assign samples to questionnaire: "
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:163 admin/assignsample.php:228
|
||||
#: admin/assignsample.php:251
|
||||
#: admin/assignsample.php:214 admin/assignsample.php:279
|
||||
#: admin/assignsample.php:302
|
||||
msgid "Max calls"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:165 admin/assignsample.php:168
|
||||
#: admin/assignsample.php:253 admin/assignsample.php:257
|
||||
#: admin/assignsample.php:216 admin/assignsample.php:219
|
||||
#: admin/assignsample.php:304 admin/assignsample.php:308
|
||||
msgid "Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:166 admin/assignsample.php:228
|
||||
#: admin/assignsample.php:255
|
||||
#: admin/assignsample.php:217 admin/assignsample.php:279
|
||||
#: admin/assignsample.php:306
|
||||
msgid "Max call attempts"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:169 admin/assignsample.php:259
|
||||
#: admin/assignsample.php:220 admin/assignsample.php:310
|
||||
msgid "Number of answering machine messages to leave per case"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:171 admin/assignsample.php:261
|
||||
#: admin/assignsample.php:222 admin/assignsample.php:312
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:172 admin/assignsample.php:263
|
||||
#: admin/assignsample.php:223 admin/assignsample.php:314
|
||||
msgid "Select from sample randomly?"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:174 admin/assignsample.php:265
|
||||
#: admin/assignsample.php:225 admin/assignsample.php:316
|
||||
msgid "Sequentially"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:175 admin/assignsample.php:228
|
||||
#: admin/assignsample.php:267
|
||||
#: admin/assignsample.php:226 admin/assignsample.php:279
|
||||
#: admin/assignsample.php:318
|
||||
msgid "Allow new numbers to be drawn?"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:200
|
||||
#: admin/assignsample.php:251
|
||||
msgid "List & Add Sample"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:211
|
||||
#: admin/assignsample.php:262
|
||||
msgid "Samples selected for this questionnaire"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:228
|
||||
#: admin/assignsample.php:279
|
||||
msgid "Answering machine messages"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:228
|
||||
#: admin/assignsample.php:279
|
||||
msgid "Selection type"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:228
|
||||
#: admin/assignsample.php:279
|
||||
msgid "Unassign sample"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:230
|
||||
#: admin/assignsample.php:281
|
||||
msgid "No samples selected for this questionnaire"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:244
|
||||
#: admin/assignsample.php:295
|
||||
msgid "Add a sample to this questionnaire:"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:247
|
||||
#: admin/assignsample.php:298
|
||||
msgid "Select sample:"
|
||||
msgstr ""
|
||||
|
||||
#: admin/assignsample.php:324
|
||||
msgid ""
|
||||
"Generate cases for all sample records and set outcome to 'Self completion "
|
||||
"email invitation sent'? (Ideal if you intend to send an email invitation to "
|
||||
"sample members before attempting to call using queXS)"
|
||||
msgstr ""
|
||||
|
||||
#: admin/supervisor.php:126 respondent.php:101 contactdetails.php:98
|
||||
msgid "Case id:"
|
||||
msgstr ""
|
||||
|
||||
Reference in New Issue
Block a user