Преглед на файлове

update Testy style from fix-acl

Piotr Labudda преди 10 години
родител
ревизия
21ca3705f2
променени са 1 файла, в които са добавени 158 реда и са изтрити 147 реда
  1. 158 147
      SE/procesy/testy.php

+ 158 - 147
SE/procesy/testy.php

@@ -9,8 +9,8 @@ function fun_CRM_TESTY_ADD() {
 	$msg = '';
 	$sql_obj = new stdClass();
 
-	$sql_obj->ID_PROCES_INIT = V::get('proces_id', '', $_GET, 'int');
-	$sql_obj->ID_STANOWISKO = V::get('stanowisko_id', '', $_GET, 'int');
+	$sql_obj->ID_PROCES_INIT = V::get('proces_id', 0, $_GET, 'int');
+	$sql_obj->ID_STANOWISKO = V::get('stanowisko_id', 0, $_GET, 'int');
 	$sql_obj->TEST_TYPE = V::get('test_type', '', $_GET);
 	$sql_obj->ID_TESTER = User::getID();
 
@@ -30,7 +30,8 @@ function fun_CRM_TESTY_ADD() {
 	}
 
 	if (!$has_errors) {
-		$new_id = DB::ADD_NEW_OBJ( 'CRM_TESTY', $sql_obj );
+		$db = DB::getDB();
+		$new_id = $db->ADD_NEW_OBJ('CRM_TESTY', $sql_obj);
 
 		if ($new_id > 0) {
 			$redirect = "?task="."CRM_TEST"."&test_id=".$new_id;// TODO: hide_menu - hide user panel
@@ -574,7 +575,7 @@ function task_CRM_TEST() {
  * OFF_HARD - test oceniony
  */
 	if ($test_obj->A_STATUS == 'WAITING') {// nowy test - oczekiwanie na rozpoczecie testu
-		echo App::link("Rozpocznij", array('task'=>App::get_task(), 'function_init'=>'fun_CRM_TEST_EDIT', 'subtask'=>'INIT', 'test_id'=>$test_obj->ID), array('class'=>'btn-p5'));
+		echo App::link("Rozpocznij", array('task'=>App::get_task(), 'function_init'=>'fun_CRM_TEST_EDIT', 'subtask'=>'INIT', 'test_id'=>$test_obj->ID), array('class'=>'btn btn-primary'));
 	}
 	else if ($test_obj->A_STATUS == 'MONITOR' && $test_obj->TEST_START == '0000-00-00 00:00:00') {// czytanie - test rozpoczety z data TEST_INIT
 		$id_proces = $test_obj->ID_PROCES_INIT;
@@ -821,7 +822,7 @@ function task_CRM_TEST() {
 		echo '<p>' . "Test rozpoczeto: " . $test_obj->TEST_START . '</p>';
 		echo '<p>' . "Test zakonczono: " . $test_obj->TEST_END . '</p>';
 		echo '<br />';
-		echo '<p>' . "Rozpocznij nowy " . App::link("TEST", array('task'=>'CRM_TESTY__ADD_TEST')) . '</p>';
+		echo '<p>' . App::link("Rozpocznij nowy test", array('task'=>'CRM_TESTY__ADD_TEST'), array('class'=>'btn btn-primary')) . '</p>';
 	}
 	else if ($test_obj->A_STATUS == 'OFF_HARD') {// test oceniony
 		echo '<p>' . "Test oceniony na " . $test_obj->OCENA . '</p>';
@@ -839,11 +840,12 @@ function task_CRM_TESTY__LIST() {
 	}
 	Lib::loadClass('ProcesTestyHelper');
 
-	echo '<h1 class="pathway">';
-		echo App::link("Testy", array('task'=>"CRM_TESTY"));
-		echo " &raquo; ";
-		echo App::link("Twoje testy", array('task'=>"CRM_TESTY__LIST"));
-	echo '</h1>';
+		?>
+<ol class="breadcrumb">
+  <li><?php echo App::link("Testy", array('task'=>'CRM_TESTY')); ?></li>
+  <li><?php echo App::link("Twoje testy", array('task'=>'CRM_TESTY__LIST')); ?></li>
+</ol>
+<?php
 
 	// aktualne testy pracownika/kandydata
 	$params = array();
@@ -857,35 +859,40 @@ function task_CRM_TESTY__LIST() {
 	if ($params['offset'] < 0) $params['offset'] = 0;
 
 	$lista_cnt = ProcesTestyHelper::get_testy_total($params);
-	if ($lista_cnt > 0) {
-		if ($params['offset'] > $lista_cnt) $params['offset'] = $lista_cnt - ($lista_cnt % $params['limit']);
+	if ($lista_cnt <= 0) {
+		echo '<div class="alert alert-info">' . "Brak testów." . '</div>';
+		return;
+	}
+	if ($params['offset'] > $lista_cnt) $params['offset'] = $lista_cnt - ($lista_cnt % $params['limit']);
 
-		echo '<style type="text/css">' . "
+	echo '<style type="text/css">' . "
 .cell-test_type-teoretyczny {background-color:#FFCA9B;}
 .cell-test_type-praktyczny {background-color:#B3EBFB;}
-		" . '</style>';
+	" . '</style>';
 
-		$testy_arr = ProcesTestyHelper::get_testy($params);
-		$cols = array();
-		$cols['ID'] = "Nr";
-		$cols['ID_TEST_TO_FIX'] = "Nr poprawianego testu";
-		$cols['ID_PROCES_INIT'] = "Proces ID";
-		$cols['Stanowisko'] = "Stanowisko";
-		$cols['TEST_TYPE'] = "Rodzaj testu";
-		$cols['TEST_INIT'] = "Rozpoczeto czytanie";
-		$cols['TEST_START'] = "Rozpoczeto odpowiadanie";
-		$cols['TEST_END'] = "Zakonczono";
-		echo '<table cellspacing="0" cellpadding="0" class="tbl-view" border="1">';
-		echo '<thead>';
-			echo '<tr>';
-			foreach ($cols as $k => $v) {
-				echo '<th>' . $v . '</th>';
-			}
-			echo '<th>' . "&nbsp;" . '</th>';
-			echo '</tr>';
-		echo '</thead>';
-		echo '<tfoot>';
-			echo '<td colspan="' . (count($cols) + 1) . '">';
+	$testy_arr = ProcesTestyHelper::get_testy($params);
+	$cols = array();
+	$cols['ID'] = "Nr";
+	$cols['ID_TEST_TO_FIX'] = "Nr poprawianego testu";
+	$cols['ID_PROCES_INIT'] = "Proces ID";
+	$cols['Stanowisko'] = "Stanowisko";
+	$cols['TEST_TYPE'] = "Rodzaj testu";
+	$cols['TEST_INIT'] = "Rozpoczeto czytanie";
+	$cols['TEST_START'] = "Rozpoczeto odpowiadanie";
+	$cols['TEST_END'] = "Zakonczono";
+?>
+	<table class="table table-bordered table-hover">
+		<thead>
+			<tr>
+				<?php foreach ($cols as $kFieldName => $vLabel) : ?>
+					<th><?php echo $vLabel; ?></th>
+				<?php endforeach; ?>
+				<th></th>
+			</tr>
+		</thead>
+		<tfoot>
+			<td colspan="<?php echo count($cols) + 1; ?>">
+			<?php
 				$page_nav = new stdClass();
 				$page_nav->total = $lista_cnt;
 				$page_nav->limit = $params['limit'];
@@ -896,69 +903,64 @@ function task_CRM_TESTY__LIST() {
 				$page_nav->offset_end = floor($lista_cnt / $page_nav->limit) * $page_nav->limit;
 				$link_params = array('task'=>App::get_task(), '_offset'=>$page_nav->offset_start);
 				if ($kandydat_id > 0) $link_params['kandydat_id'] = $kandydat_id;
-				echo App::link("&lt;&lt;", $link_params, array('class'=>'btn-p5'));
+				echo App::link("&lt;&lt;", $link_params, array('class'=>'btn btn-xs btn-default'));
 				$link_params = array('task'=>App::get_task(), '_offset'=>$page_nav->offset_prev);
 				if ($kandydat_id > 0) $link_params['kandydat_id'] = $kandydat_id;
-				echo ' ' . App::link("&lt; -".$page_nav->limit, $link_params, array('class'=>'btn-p5'));
-				echo ' ' . $page_nav->current.' ('.$page_nav->total.') ';
+				echo ' ' . App::link("&lt; -".$page_nav->limit, $link_params, array('class'=>'btn btn-xs btn-default'));
+				echo ' <span class="btn">' . $page_nav->current.' ('.$page_nav->total.')</span> ';
 				$link_params = array('task'=>App::get_task(), '_offset'=>$page_nav->offset_next);
 				if ($kandydat_id > 0) $link_params['kandydat_id'] = $kandydat_id;
-				echo ' ' . App::link("+".$page_nav->limit." &gt;", $link_params, array('class'=>'btn-p5'));
+				echo ' ' . App::link("+".$page_nav->limit." &gt;", $link_params, array('class'=>'btn btn-xs btn-default'));
 				$link_params = array('task'=>App::get_task(), '_offset'=>$page_nav->offset_end);
 				if ($kandydat_id > 0) $link_params['kandydat_id'] = $kandydat_id;
-				echo ' ' . App::link("&gt;&gt;", $link_params, array('class'=>'btn-p5'));
-			echo '</td>';
-		echo '</tfoot>';
-		$t = 0;
-		echo '<tbody>';
-		if (!empty($testy_arr)) {
-			foreach ($testy_arr as $r) {
-				echo '<tr class="row-' . ($t = 1 - $t) . '">';
-					foreach ($cols as $k => $v) {
-						$cls = '';
-						if ($k == 'TEST_TYPE') {
-							$cls = 'cell-' . strtolower($k) . '-' . strtolower($r->$k);
-						}
-						if ($cls) $cls = ' class="' . $cls . '"';
-						echo '<td' . $cls . '>' . $r->$k . '</td>';
-					}
-					echo '<td>';
-					if ($r->A_STATUS == 'WAITING') {
-						echo App::link("rozpocznij", array('task'=>'CRM_TEST', 'function_init'=>'fun_CRM_TEST_EDIT', 'subtask'=>'INIT', 'test_id'=>$r->ID), array('class'=>'btn-p5'));
-					} else if ($r->A_STATUS == 'MONITOR') {
-						if ($r->TEST_INIT == '0000-00-00 00:00:00') {
-							echo App::link("rozpocznij", array('task'=>'CRM_TEST', 'function_init'=>'fun_CRM_TEST_EDIT', 'subtask'=>'INIT', 'test_id'=>$r->ID), array('class'=>'btn-p5'));
+				echo ' ' . App::link("&gt;&gt;", $link_params, array('class'=>'btn btn-xs btn-default'));
+			?>
+			</td>
+		</tfoot>
+		<tbody>
+			<?php foreach ($testy_arr as $r) : ?>
+			<tr>
+				<?php foreach ($cols as $kFieldName => $vLabel) : ?>
+					<td class="<?php echo ($kFieldName == 'TEST_TYPE')? 'cell-' . strtolower($kFieldName) . '-' . strtolower($r->{$kFieldName}) : ''; ?>">
+						<?php echo $r->{$kFieldName}; ?>
+					</td>
+				<?php endforeach; ?>
+				<td>
+					<?php
+						if ($r->A_STATUS == 'WAITING') {
+							echo App::link("rozpocznij", array('task'=>'CRM_TEST', 'function_init'=>'fun_CRM_TEST_EDIT', 'subtask'=>'INIT', 'test_id'=>$r->ID), array('class'=>'btn btn-xs btn-primary'));
+						} else if ($r->A_STATUS == 'MONITOR') {
+							if ($r->TEST_INIT == '0000-00-00 00:00:00') {
+								echo App::link("rozpocznij", array('task'=>'CRM_TEST', 'function_init'=>'fun_CRM_TEST_EDIT', 'subtask'=>'INIT', 'test_id'=>$r->ID), array('class'=>'btn btn-xs btn-primary'));
+							} else {
+								echo ' ' . App::link("test", array('task'=>'CRM_TEST', 'test_id'=>$r->ID), array('class'=>'btn btn-xs btn-primary'));
+							}
+						} else if ($r->A_STATUS == 'NORMAL') {
+							echo 'Test zakonczono';
+						} else if ($r->A_STATUS == 'OFF_HARD') {
+							// test oceniony
 						} else {
-							echo ' ' . App::link("test", array('task'=>'CRM_TEST', 'test_id'=>$r->ID), array('class'=>'btn-p5'));
+							//echo '{'.$r->A_STATUS.'}';
 						}
-					} else if ($r->A_STATUS == 'NORMAL') {
-						echo 'Test zakonczono';
-					} else if ($r->A_STATUS == 'OFF_HARD') {
-						// test oceniony
-					} else {
-						//echo '{'.$r->A_STATUS.'}';
-					}
-					echo '</td>';
-				echo '</tr>';
-			}
-			echo '</tbody>';
-			echo '</table>';
-		}
-	}
-	else {
-		echo '<p>' . "Brak testów." . '</p>';
-	}
+					?>
+				</td>
+			</tr>
+			<?php endforeach; ?>
+		</tbody>
+	</table>
+<?php
 }
 
 
 function task_CRM_TESTY__ADD_KANDYDAT() {
 	Lib::loadClass('ProcesTestyHelper');
 
-	echo '<h1 class="pathway">';
-		echo App::link("Testy", array('task'=>"CRM_TESTY"));
-		echo " &raquo; ";
-		echo App::link("Dodaj Kandydata i zaloguj się do testów", array('task'=>"CRM_TESTY__ADD_KANDYDAT"));
-	echo '</h1>';
+	?>
+<ol class="breadcrumb">
+  <li><?php echo App::link("Testy", array('task'=>'CRM_TESTY')); ?></li>
+  <li><?php echo App::link("Dodaj Kandydata i zaloguj się do testów", array('task'=>'CRM_TESTY__ADD_KANDYDAT')); ?></li>
+</ol>
+<?php
 
 	if (!User::hasAccess('procesy')) {
 		echo '<p>' . "Brak uprawnień!" . '</p>';
@@ -1018,23 +1020,24 @@ function task_CRM_TESTY__ADD_KANDYDAT() {
 function task_CRM_TESTY__ADD_TEST() {
 	$arg_stanowisko_id = V::get('stanowisko_id', 0, $_GET, 'int');
 
-	echo '<h1 class="pathway">';
-		echo App::link("Testy", array('task'=>"CRM_TESTY"));
-		echo " &raquo; " . App::link("Uruchom nowy test", array('task'=>"CRM_TESTY__ADD_TEST"));
-		if ($arg_stanowisko_id > 0) {
-			echo " &raquo; " . "Testy dla stanowiska [" . $arg_stanowisko_id . "]";
-		}
-	echo '</h1>';
+		?>
+<ol class="breadcrumb">
+  <li><?php echo App::link("Testy", array('task'=>'CRM_TESTY')); ?></li>
+  <li><?php echo App::link("Uruchom nowy test", array('task'=>'CRM_TESTY__ADD_TEST')); ?></li>
+	<?php if ($arg_stanowisko_id > 0) : ?>
+		<li class="active">Testy dla stanowiska [<?php echo $arg_stanowisko_id; ?>]</li>
+	<?php endif; ?>
+</ol>
+<?php
 
 	function this_CRM_TESTY_proces($proces, $stanowisko) {
-
-		echo'<h1 class="pathway">';
-			echo App::link("Testy", array('task'=>App::get_task()));
-			echo' - ';
-			echo App::link("Testy dla stanowiska ".'<span class="green">'.$stanowisko->DESC.'</span>', array('task'=>App::get_task(), 'stanowisko_id'=>$stanowisko->ID));
-			echo' - ';
-			echo "Testy procesu ".'<span class="red">'.$proces->p__ID.'</span>';
-		echo'</h1>';
+		?>
+<ol class="breadcrumb">
+  <li><?php echo App::link("Testy", array('task'=>App::get_task())); ?></li>
+  <li><?php echo App::link("Testy dla stanowiska ".'<span class="green">'.$stanowisko->DESC.'</span>', array('task'=>App::get_task(), 'stanowisko_id'=>$stanowisko->ID)); ?></li>
+  <li class="active">Testy procesu <span class="red"><?php echo $proces->p__ID; ?></span></li>
+</ol>
+<?php
 
 		//echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">'.$proces->p__ID.': ';print_r($proces);echo'</pre>';
 
@@ -1130,49 +1133,45 @@ function task_CRM_TESTY__ADD_TEST() {
 		}
 		uasort($procesy_init, 'this_CRM_TESTY_sort_testy_callback');
 
-		echo '<h3>' . "Stanowisko [" . $stanowisko->ID . "]: " . $stanowisko->DESC . '</h3>';
-		echo '<p>' . "Wybierz proces do przetestowania:" . '</p>';
-		if (empty($procesy_init)) {
-			echo '<div class="box box-red">';
+		$procesInitList = $procesy_init;// TODO
+		echo '<h3>' . "Wybierz proces do przetestowania:" . '</h3>';
+		if (empty($procesInitList)) {
+			echo '<div class="alert alert-warning">';
 				echo "Brak danych";
 			echo '</div>';
 			return;
 		}
-		echo '<style type="text/css">' . "
-.col-btns{text-align:left; vertical-align:top; padding:5px;}
-a.btn-test-teoretyczny {background-color:#FFCA9B;}
-a.btn-test-praktyczny {background-color:#B3EBFB;}
-		" . '</style>';
-		echo '<table border="1" cellspacing="0" cellpadding="0" class="tbl-view">';
-		echo '<thead>';
-		echo '<tr>';
-			echo '<th>' . "PROCES ID" . '</th>';
-			echo '<th style="text-align:left">' . "NAZWA / OPIS" . '</th>';
-			if (V::get('DBG_SORT', 0, $_GET)) echo '<th>SORT</th>';
-		echo '</tr>';
-		echo '</thead>';
-		echo '<tbody>';
-		$t = 0;
-		foreach ($procesy_init as $k_id => $v_proces) {
-			echo '<tr class="row-'.($t = 1 - $t).'">';
-				echo '<th class="col-btns">';
-					echo App::link('<nobr>' . "Start " . $k_id . " (Teoretyczny)" . '</nobr>', array('task'=>App::get_task(), 'function_init'=>'fun_CRM_TESTY_ADD', 'stanowisko_id'=>$stanowisko->ID, 'proces_id'=>$k_id, 'test_type'=>'TEORETYCZNY'), array('class'=>'btn-p5 btn-test-teoretyczny', 'title'=>"Uruchom test teoretyczny dla procesu ".$k_id));
-					echo '<br />';
-					echo '<br />';
-					echo App::link('<nobr>' . "Start " . $k_id . " (Praktyczny)" . '</nobr>', array('task'=>App::get_task(), 'function_init'=>'fun_CRM_TESTY_ADD', 'stanowisko_id'=>$stanowisko->ID, 'proces_id'=>$k_id, 'test_type'=>'PRAKTYCZNY'), array('class'=>'btn-p5 btn-test-praktyczny', 'title'=>"Uruchom test praktyczny dla procesu ".$k_id));
-				echo '</th>';
-				echo '<td>';
-					echo '<p>';
-						echo ' <b>' . $v_proces->DESC . '</b>';
-						echo '<br />';
-						echo '<em>' . $v_proces->OPIS . '</em>';
-					echo '</p>';
-				echo '</td>';
-				if (V::get('DBG_SORT', 0, $_GET)) echo '<td>'.$v_proces->TEST_SORT_PRIO.'</td>';
-			echo '</tr>';
-		}
-		echo '</tbody>';
-		echo '</table>';
+		?>
+		<table class="table table-bordered table-hover">
+			<thead>
+				<tr>
+					<th>Nr procesu</th>
+					<th style="text-align:left">Nazwa / opis</th>
+					<?php if (V::get('DBG_SORT', 0, $_GET)) echo '<th>SORT</th>'; ?>
+				</tr>
+			</thead>
+			<tbody>
+				<?php foreach ($procesInitList as $k_id => $v_proces) : ?>
+				<tr>
+					<td>
+						<a class="btn btn-xs btn-warning"
+							 href="procesy5.php?task=CRM_TESTY__ADD_TEST&function_init=fun_CRM_TESTY_ADD&stanowisko_id=<?php echo $stanowisko->ID; ?>&proces_id=<?php echo $v_proces->ID; ?>&test_type=TEORETYCZNY"
+							 title="Uruchom test teoretyczny dla procesu <?php echo $v_proces->ID; ?>">Start <?php echo $v_proces->ID; ?> (Teoretyczny)</a>
+						<br><br>
+						<a class="btn btn-xs btn-primary"
+							 href="procesy5.php?task=CRM_TESTY__ADD_TEST&function_init=fun_CRM_TESTY_ADD&stanowisko_id=<?php echo $stanowisko->ID; ?>&proces_id=<?php echo $v_proces->ID; ?>&test_type=PRAKTYCZNY"
+							 title="Uruchom test praktyczny dla procesu <?php echo $v_proces->ID; ?>">Start <?php echo $v_proces->ID; ?> (Praktyczny)</a>
+					</td>
+					<td>
+						<b><?php echo $v_proces->DESC; ?></b>
+						<br><em><?php echo $v_proces->OPIS; ?></em>
+					</td>
+					<?php if (V::get('DBG_SORT', 0, $_GET)) echo '<td>'.$v_proces->TEST_SORT_PRIO.'</td>'; ?>
+				</tr>
+				<?php endforeach; ?>
+			</tbody>
+		</table>
+<?php
 	}
 
 	function this_print_tree_rec( $user_menu_tree, &$user_menu, $parent_id = null ) {
@@ -1254,6 +1253,7 @@ a.btn-test-praktyczny {background-color:#B3EBFB;}
 		where
 			z.`TYPE`='STANOWISKO'
 			{$sqlWhereAdd}
+		order by z.`ID` desc
 	";
 	$res = $db->query($sql);
 	while ($r = $db->fetch($res)) {
@@ -1279,19 +1279,22 @@ a.btn-test-praktyczny {background-color:#B3EBFB;}
 		$stanowiskaList[$kNr] = "[{$r->ID}] {$r->DESC} {$r->OPIS}";
 	}
 	?>
-	<p>Wybierz stanowisko do przetestowania:</p>
+	<h3>Wybierz stanowisko do przetestowania:</h3>
 
 	<form class="form-horizontal">
 		<input type="hidden" name="task" value="<?php echo $taskName; ?>" />
 		<div class="form-group">
 			<div class="col-sm-10">
-				<select class="form-control" name="stanowisko_id">
-					<option value=""> [ wybierz ] </option>
+				<select class="form-control"
+								name="stanowisko_id"
+								size="<?php echo (count($stanowiskaList) > 10)? 20 : 10;?>">
 					<?php foreach ($stanowiskaList as $kNr => $stanowiskoLabel) : ?>
 						<option value="<?php echo $kNr; ?>"><?php echo $stanowiskoLabel; ?></option>
 					<?php endforeach; ?>
 				</select>
 			</div>
+		</div>
+		<div class="form-group">
 			<div class="col-sm-2">
 				<input class="btn btn-primary" type="submit" value="Wybierz" />
 			</div>
@@ -1338,13 +1341,21 @@ function task_CRM_TESTY() {
 	}
 	$tasks[] = App::link("Uruchom nowy test", array('task'=>"CRM_TESTY__ADD_TEST"), array('class'=>'btn-p5'));
 
-	echo '<ol>';
-	foreach ($tasks as $v_task_link) {
-		echo '<li>';
-			echo $v_task_link;
-		echo '</li>';
+	$myTestsLink = App::build_http_query(array('task'=>"CRM_TESTY__LIST"));
+	$newTestLink = App::build_http_query(array('task'=>"CRM_TESTY__ADD_TEST"));
+	$addUserLink = null;
+	if (User::hasAccess('procesy')) {
+		$addUserLink = App::build_http_query(array('task'=>"CRM_TESTY__ADD_KANDYDAT"));
 	}
-	echo '</ol>';
+	?>
+	<div class="container" style="text-align:center;padding-top:20px">
+		<a class="btn btn-lg btn-info" href="<?php echo $myTestsLink; ?>">Twoje testy</a>
+		<a class="btn btn-lg btn-primary" href="<?php echo $newTestLink; ?>">Uruchom nowy test</a>
+		<?php if ($addUserLink) : ?>
+			<a class="btn btn-lg btn-danger" href="<?php echo $addUserLink; ?>">Dodaj Kandydata i zaloguj się do testów</a>
+		<?php endif; ?>
+	</div>
+<?php
 }