예제 #1
0
{
    private $respondents = null;
    var $household;
    var $remarks;
    var $contacts;
    var $logactions;
    var $lastQuery = '';
    function Household($rowOrHhid)
    {
        global $db;
        $this->remarks = new Remarks();
        $this->contacts = new Contacts();
        $this->logactions = new LogActions();
예제 #2
0
 function displayInterviewerAssignedSample($interviewer, $message = '')
 {
     $returnStr = $this->displayHeaderForTable(Language::messageSMSTitle(), $message);
     $returnStr .= '<div id="wrap">';
     $returnStr .= $this->showNavBar();
     $returnStr .= '<div class="container"><p>';
     $breadcrumps = '<ol class="breadcrumb">';
     if ($interviewer->getUserType() == USER_INTERVIEWER) {
         $breadcrumps .= '<li>' . setSessionParamsHref(array('page' => 'supervisor.home'), Language::labelSuperVisorInterviewers()) . '</li>';
         $breadcrumps .= '<li>' . $interviewer->getName() . '</li>';
     } else {
         $breadcrumps .= '<li class="active">' . Language::linkSample() . '</li>';
     }
     $breadcrumps .= '</ol>';
     $returnStr .= '<br/><br/><br/>' . $breadcrumps;
     $content = '<form id=assignedsample>';
     $content .= setSessionParamsPost(array('page' => 'supervisor.interviewer.sample', 'interviewer' => $interviewer->getUrid()));
     $filtermode = 0;
     if (loadvar('filtermode') != '') {
         $filtermode = loadvar('filtermode', 0);
     } else {
         if (isset($_SESSION['FILTERMODE'])) {
             $filtermode = $_SESSION['FILTERMODE'];
         }
     }
     $_SESSION['FILTERMODE'] = $filtermode;
     $content .= $this->displayRespondentsFilter($filtermode);
     $content .= '</form>';
     $content .= '<br/>';
     if (dbConfig::defaultPanel() == PANEL_HOUSEHOLD) {
         //show household level
         $households = new Households();
         $respondents = $households->getHouseholdsByUser($interviewer, $filtermode);
     } else {
         $respondents = new Respondents();
         $respondents = $respondents->getRespondentsByUser($interviewer, $filtermode);
     }
     if (sizeof($respondents) > 0) {
         $message = Language::messageRespondentsAssignedSupervisor($interviewer->getName());
         $currentUser = new User($_SESSION['URID']);
         if ($currentUser->getRegionFilter() > 0 && $currentUser->getPuid() > 0) {
             //only certain region
             $psu = new Psu($currentUser->getPuid());
             $message .= ' <b>' . Language::labelSupervisorFilterPsu() . ': ' . $psu->getCodeAndName() . '.';
         }
         $content .= $this->displaySuccess($message, "outcomehelp");
         // 'Assigned respondents to ' . $interviewer->getName();
         $arr = array_values($respondents);
         if ($arr[0] instanceof Respondent) {
             //this is a respondent
             $content .= $this->showRespondentsTable($respondents, 'supervisor.interviewer.respondent');
         } else {
             //household
             $content .= $this->showHouseholdsTable($respondents, 'supervisor.');
         }
     } else {
         $message = Language::messageNoRespondentsAssignedSupervisor();
         $currentUser = new User($_SESSION['URID']);
         if ($currentUser->getRegionFilter() > 0 && $currentUser->getPuid() > 0) {
             //only certain region
             $psu = new Psu($currentUser->getPuid());
             $message .= ' <b>' . Language::labelSupervisorFilterPsu() . ': ' . $psu->getCodeAndName() . '.';
         }
         $content .= $this->displayWarning($message, "outcomehelp");
         //'<div class="alert alert-warning" id="outcomehelp">' . Language::errorNoRespondentsAssignedSupervisor() . '</div>';
     }
     $returnStr .= $content;
     //END CONTENT
     $returnStr .= '</p></div></div>   ';
     // </div>'; //container and wrap
     $returnStr .= $this->showBottomBar();
     $returnStr .= $this->showFooter(false);
     return $returnStr;
     //return $this->showSupervisorPageWithTableAndSideBar($content, $breadcrumps, $this->showInterviewerSideBar($interviewer));
 }
예제 #3
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;
    }
예제 #4
0
 function showResetTestCases()
 {
     if (dbConfig::defaultPanel() == PANEL_HOUSEHOLD) {
         //show household level
         $households = new Households();
         $households->deleteTestHouseholds($this->user);
     } else {
         $respondents = new Respondents();
         $respondents->deleteTestRespondents($this->user);
     }
     $display = new Display();
     return $this->mainPage($display->displaySuccess(Language::labelInterviewerTestReset()));
 }