menuAction();// like UI::menu() ?
$acl = Core_AclHelper::getAclByNamespace('default_objects/UserTestStats');// default_objects/UserProcess
$userTestStatsList = $acl->getItems();
UI::setTitle("Testy - Moje");
$this->userTestsView($userTestStatsList);
} catch (Exception $e) {
UI::alert('danger', $e->getMessage());
}
UI::dol();
}
public function adminUserTestAction() {// TODO: replace POST from admin menu to view another user tests
UI::gora();
UI::menu();
session_write_close();
try {
$idUser = V::get('_user_id', 0, $_REQUEST, 'int');
$user = [];// $user = Core_AclHelper::getAclByNamespace('default_db/ADMIN_USERS')->getItem($idUser);
$user['name'] = "TODO: user name({$idUser})";
$acl = Core_AclHelper::getAclByNamespace('default_objects/UserTestStats');// default_objects/UserProcess
$acl->setIdUser($idUser);
$userTestStatsList = $acl->getItems();
UI::setTitle("Testy - pracownika {$user['name']}");
$this->userTestsView($userTestStatsList);
} catch (Exception $e) {
UI::alert('danger', $e->getMessage());
}
UI::dol();
}
public function userTestsView($userTestStatsList) {
$activeFiltrProcessId = User::getAcl()->getPermsFiltrProcesId();
?>
fetchAll("
select p.ID, p.PARENT_ID, p.DESC as nazwa
from CRM_PROCES as p
where p.ID in({$sqlProcesyInitIds})
");
foreach ($parentProcessList as $parentProcess) {
UI::startContainer(['class'=>"tbl-wyniki-testow page-header"]);
$linkProcessTree = "procesy5.php?task=CRM_PROCES&filtr_id={$parentProcess['ID']}";
UI::tag('h3', [], "{$parentProcess['nazwa']} {{$parentProcess['ID']}}");
UI::endContainer();
UI::startContainer(['class'=>"tbl-wyniki-testow"]);
UI::startTag('div', ['class'=>"row"]);
$i = 0;
foreach ($userTestStatsList as $testStats) {
if ($testStats['PARENT_ID'] != $parentProcess['ID']) continue;
UI::startTag('div', ['class'=>"col-md-3 wynik-cell wynik-{$testStats['wynik_teoretyczny']}"]);
UI::startTag('div', ['class'=>"panel panel-default"]);
UI::startTag('div', ['class'=>"panel-heading"]);
UI::tag('span', ['title'=>htmlspecialchars($testStats['nazwa']), 'data-toggle'=>"tooltip"], V::strShortUtf8($testStats['nazwa'], 80), " ");
$linkProcesView = "procesy5.php?task=PROCES_VIEW&id_proces={$testStats['ID']}";
UI::tag('a', ['href'=>$linkProcesView, 'title'=>"zobacz instrukcję do procesu {$testStats['ID']}", 'target'=>"_blank"], "{{$testStats['ID']}}");
UI::endTag('div');// .panel-heading
UI::startTag('div', ['class'=>"panel-body"]);
UI::startTag('ul', ['style' => "padding-left:20px"]);
UI::startTag('li');
if ($activeFiltrProcessId == $testStats['ID']) {
UI::tag('a', ['href'=>"index.php?FUNCTION_INIT=MENU_SELECT_PROCES&_action=setPermsAll", 'style'=>"font-weight:bold"], "Wyłącz filtr uprawnien dla", " ");
} else {
UI::tag('a', ['href'=>"index.php?FUNCTION_INIT=MENU_SELECT_PROCES&_action=setPermsByProces&id_proces={$testStats['ID']}"], "Uruchom filtr uprawnien dla", " ");
}
echo "{$testStats['ID']}";
UI::endTag('li');
UI::startTag('li');
UI::tag('a', ['href'=>"procesy5.php?task=CRM_TESTY__ADD_TEST&test_type=TEORETYCZNY&proces_id={$testStats['ID']}"], "Wykonaj test teoretyczny dla", " ");
echo "{$testStats['ID']}";
UI::endTag('li');
UI::startTag('li');
echo "Test teoretyczny: ";
UI::startTag('span', ['class'=>"proces-box"]);
echo " {$testStats['wynik_teoretyczny']} ";
if ($testStats['wynik_teoretyczny_value']) UI::tag('em', null, $testStats['wynik_teoretyczny_value']);
UI::endTag('span');
UI::endTag('li');
UI::tag('li', ['class'=>"wynik-{$testStats['wynik_praktyczny']}"], "Test praktyczny: {$testStats['wynik_praktyczny']}");
UI::endTag('ul');
$tagFixTest = ($testStats['link_popraw_test'])
? "popraw"
: '';
if ($testStats['wynik_unactual']) {
UI::alert('danger', "
Uwaga! Test nieaktualny:
{$tagFixTest}
" . substr($testStats['last_test_end'], 0, 10) . " - zakończenie testu
" . substr($testStats['last_update_date'], 0, 10) . " - ostatnia zmiana w procesie
");
}
UI::endTag('div');// .panel-body
UI::endTag('div');// .panel
UI::endTag('div');// .wynik-cell
if (++$i >= 4) {
$i = 0;
UI::endTag('div');// .row
UI::startTag('div', ['class'=>"row"]);
}
}
UI::endTag('div');// .row
UI::endContainer();
}
}
}