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(); } } }