示例#1
0
 function getRespondentsByUser(User $user, $filter = 0)
 {
     global $db;
     $respondents = array();
     $test = ' and test = 0';
     // this can be the supervisor looking
     $currentUser = new User($_SESSION['URID']);
     if ($currentUser->isTestMode()) {
         $test = ' and test = 1';
     }
     if ($currentUser->getRegionFilter() > 0 && $currentUser->getPuid() > 0) {
         //only certain region
         $test = ' and puid = ' . $currentUser->getPuid();
     }
     $result = $db->selectQuery('select *, ' . $this->getDeIdentified() . ' from ' . Config::dbSurvey() . '_respondents where urid = ' . prepareDatabaseString($user->getUrid()) . $test);
     while ($row = $db->getRow($result)) {
         $respondents[] = new Respondent($row);
     }
     if ($currentUser->getTestMode() && sizeof($respondents) == 0 && $currentUser->getRegionFilter() <= 0) {
         //psu filter!!
         if ($currentUser->getUserType() == USER_INTERVIEWER) {
             //only add if interviewer!
             if (dbConfig::defaultPanel() != PANEL_HOUSEHOLD) {
                 //only if not household sample
                 $respondents = $this->addTestRespondents($user);
             }
         }
     }
     if ($filter > 0) {
         //a filter!!
         $respondents = $this->filterRespondents($respondents, $filter);
     }
     return $respondents;
 }
示例#2
0
 static function messageNoRespondentsAssignedNurse()
 {
     if (dbConfig::defaultPanel() == PANEL_HOUSEHOLD) {
         //show household level
         return 'No households or respondents found. Please try again.';
     }
     return 'No respondents found. Please try again.';
 }
示例#3
0
 function showSearchRes()
 {
     if (dbConfig::defaultPanel() == PANEL_HOUSEHOLD) {
         //show household level
         $households = new Households();
         $households = $households->getHouseholdsByUserSearch($this->user, loadvar('searchterm'));
         $displaySupervisor = new DisplaySupervisor();
         return $displaySupervisor->showSearchRes($households);
     } else {
         $respondents = new Respondents();
         $respondents = $respondents->getRespondentsByUserSearch($this->user, loadvar('searchterm'));
         $displaySupervisor = new DisplaySupervisor();
         return $displaySupervisor->showSearchRes($respondents);
     }
 }
        $returnStr .= '    }

    });

  $(\'#outcomecode\').change(); //in case reloaded page

});

$(\'#selector button\').click(function() {
    $(\'#contactperson\').css("display", "none");
    $(\'#selector button\').addClass(\'active\').not(this).removeClass(\'active\');
    $(\'#contactwith\').val("1");
    if ($(this).val() == "2") {
      $(\'#contactperson\').css("display", "block");
      $(\'#contactwith\').val("2");
    }
});
if ($(\'#contactwith\').val() == "2"){
  $(\'#selector button\').click();
}
</script>
';
        $returnStr .= '</p></div>    </div>';
        //container and wrap
        $returnStr .= $this->showBottomBar();
        $returnStr .= $this->showFooter(false);
        return $returnStr;
    }
    function showCalendar()
    {
        $header = '
  <link rel="stylesheet" href="bootstrap/css/sticky-footer-navbar.min.css">	
	<link rel="stylesheet" href="css/calendar.css">
 ';
        $returnStr = $this->showHeader(Language::messageSMSTitle(), $header);
 function showUnassignedSample($message = '')
 {
     $returnStr = $this->showHeader(Language::messageSMSTitle(), '<link href="bootstrap/css/sticky-footer-navbar.min.css" rel="stylesheet"><link href="css/uscicadmin.css" rel="stylesheet">');
     $returnStr .= '<div id="wrap"><br/><br/><br/>';
     $returnStr .= $this->showNavBar();
     $returnStr .= '<div class="container"><p>';
     //CONTENT
     if (dbConfig::defaultPanel() == PANEL_HOUSEHOLD) {
         $returnStr .= '<h4>' . Language::labelSupervisorUnassignedHouseholds() . '</h4>';
     } else {
         $returnStr .= '<h4>' . Language::labelSupervisorUnassignedRespondents() . '</h4>';
     }
     $returnStr .= $message;
     $displaySms = new DisplaySms();
     $returnStr .= $displaySms->showAvailableUnassignedHouseholds();
     //END CONTENT
     $returnStr .= '</p></div>    </div>';
     //container and wrap
     $returnStr .= $this->showBottomBar();
     $returnStr .= $this->showFooter();
     return $returnStr;
 }
示例#6
0
 function getPreload($startArray = array())
 {
     //imported into survey from sms
     $preload = $startArray;
     $user = new User($_SESSION['URID']);
     $preload['urid'] = $user->getUrid();
     $preload['hhid'] = $this->getHhid();
     $preload['hhorder'] = $this->getHhOrder();
     $preload['RConsentType'] = $this->getConsentType();
     if (dbConfig::defaultPanel() == PANEL_HOUSEHOLD) {
         $preload['Village_Anon'] = $this->getHousehold()->getAddress1();
         $preload['DwellingId'] = $this->getHousehold()->getCity();
     } else {
         $preload['Village_Anon'] = $this->getAddress1();
         $preload['DwellingId'] = $this->getCity();
     }
     return $preload;
 }
示例#7
0
    function showAvailableUnassignedHouseholds()
    {
        $refpage = 'sysadmin.sms.sample';
        $currentUser = new User($_SESSION['URID']);
        if ($currentUser->getUserType() == USER_SUPERVISOR) {
            $refpage = 'supervisor.unassignedsample';
        } elseif ($currentUser->getUserType() == USER_RESEARCHER) {
            $refpage = 'researcher.sample';
        }
        $returnStr = '';
        //select psu
        $puid = loadvar('puid', 0);
        $returnStr .= $this->showActionBar(Language::labelSMSFilterPSU(), $this->displayPsus($puid, true), Language::labelSMSFilterShow(), setSessionParamsPost(array('page' => $refpage)));
        if (dbConfig::defaultPanel() == PANEL_HOUSEHOLD) {
            $households = new Households();
            $unassignedRespondentOrHouseholds = $households->getUnassigned($puid);
        } else {
            $respondents = new Respondents();
            $unassignedRespondentOrHouseholds = $respondents->getUnassigned($puid);
        }
        if (sizeof($unassignedRespondentOrHouseholds) > 0) {
            $returnStr .= '<form method="post">';
            $returnStr .= setSessionParamsPost(array('page' => $refpage . '.assign'));
            $returnStr .= '<input type=hidden name=puid value="' . $puid . '">';
            $returnStr .= '<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered" id="example">
	    <thead>
	      <tr>
		<th><label><input type="checkbox" id="checkAll"/> &nbsp;&nbsp;id</label></th>
		<th>Name</th>';
            //echo 'here';
            $columns = $this->defaultDisplayOverviewAddressColumns();
            foreach ($columns as $column) {
                $returnStr .= '<th>' . $column . '</th>';
            }
            $returnStr .= '    </tr>
	    </thead>
	    <tbody>';
            foreach ($unassignedRespondentOrHouseholds as $respondentOrHousehold) {
                $returnStr .= '<tr><td>';
                $returnStr .= '<label><input type=checkbox name="assignid[]" value="' . $respondentOrHousehold->getPrimkey() . '">&nbsp;&nbsp;';
                $returnStr .= $respondentOrHousehold->getPrimkey() . '</label></td>';
                $returnStr .= '<td>' . $respondentOrHousehold->getName() . '</td>';
                foreach ($columns as $key => $column) {
                    $returnStr .= '<td>' . $respondentOrHousehold->getDataByField($key) . '</td>';
                }
                $returnStr .= '</tr>';
            }
            $returnStr .= '</table>';
            $returnStr .= '<script>
$("#checkAll").change(function () {
    $("input:checkbox").prop("checked", $(this).prop("checked"));
});

</script>';
            $returnStr .= '<nav class="navbar navbar-default" role="navigation">';
            $returnStr .= '<div class="container-fluid"><div class="navbar-header">';
            $returnStr .= '<table><tr><td valign=top><img src="images/arrow_ltr.png"></td><td><a class="navbar-brand">assign selected to:</a></td></tr></table>';
            $returnStr .= '</div><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">';
            $returnStr .= '<div class="navbar-form navbar-left">';
            $returnStr .= '<div class="form-group">';
            if ($currentUser->getUserType() == USER_SUPERVISOR) {
                $returnStr .= $this->displayInterviewerSelect(0, true);
            } else {
                $returnStr .= $this->displaySupervisorSelect();
            }
            $returnStr .= '</div>';
            $returnStr .= '<button type="submit" class="btn btn-default">' . Language::labelSMSButtonAssign() . '</button>';
            $returnStr .= '</div></form></div></div></nav>';
        } else {
            if ($refpage == 'sysadmin.sms.sample') {
                $returnStr .= $this->displayWarning(Language::labelSMSWarningNoSample());
            } else {
                if (dbConfig::defaultPanel() == PANEL_HOUSEHOLD) {
                    $returnStr .= $this->displayWarning(Language::labelSMSWarningNoUnassignedHouseholds());
                } else {
                    $returnStr .= $this->displayWarning(Language::labelSMSWarningNoUnassignedRespondents());
                }
            }
        }
        return $returnStr;
    }
示例#8
0
 function showEditRes($primkey, $type = 1)
 {
     if ($type == 1) {
         $respondent = new Respondent($primkey);
         $respondent->setFirstName(loadvar('firstname'));
         $respondent->setLastName(loadvar('lastname'));
     } else {
         $respondent = new Household($primkey);
         $respondent->setName(loadvar('name'));
         $respondent->setAddress1(loadvar('address1'));
         $respondent->setAddress2(loadvar('address2'));
         $respondent->setZip(loadvar('zip'));
         $respondent->setCity(loadvar('city'));
     }
     if (dbConfig::defaultPanel() == PANEL_RESPONDENT) {
         //only save for respondent panels
         $respondent->setAddress1(loadvar('address1'));
         $respondent->setAddress2(loadvar('address2'));
         $respondent->setZip(loadvar('zip'));
         $respondent->setCity(loadvar('city'));
     }
     $respondent->setTelephone1(loadvar('telephone1'));
     //$respondent->setTelephone2(loadvar('telephone2'));
     $respondent->setEmail(loadvar('email'));
     //log???
     $errorMessage = $respondent->saveChanges();
     $display = new Display();
     $messageEditError = $display->displaySuccess(Language::messageRespondentChanged($respondent));
     //'<div class="alert alert-info">Changes saved.</div>';
     if (sizeof($errorMessage) > 0) {
         $messageEditError = $display->displayError(implode('<br/>', $errorMessage));
     }
     $displayInterviewer = new DisplayInterviewer();
     return $displayInterviewer->showInfo($respondent, $messageEditError);
 }