Selaa lähdekoodia

#40 ProcesMenu Procesy dla aktualnej tabeli

Piotr Labudda 11 vuotta sitten
vanhempi
commit
9d70ca38a5
3 muutettua tiedostoa jossa 45 lisäystä ja 5 poistoa
  1. 7 2
      SE/se-lib/ProcesMenu.php
  2. 12 3
      SE/se-lib/UserAcl.php
  3. 26 0
      SE/superedit-PROCES_MENU.php

+ 7 - 2
SE/se-lib/ProcesMenu.php

@@ -369,6 +369,11 @@ class ProcesMenu {
 		$treeProcesyFilter = FilterFactory::build('CRM_PROCES');
 		$lastProcesyFiltrIds = $treeProcesyFilter->get_arg('filtr_id');
 
+		$menuProcesViewedTblId = 0;
+		if ('VIEWTABLE_AJAX' == V::get('MENU_INIT', '', $_REQUEST)) {
+			$menuProcesViewedTblId = V::get('ZASOB_ID', 0, $_REQUEST, 'int');
+		}
+
 		?>
 <div id="SE-menu" class="navbar navbar-inverse" style="position: static;">
 	<div class="navbar-inner">
@@ -436,9 +441,9 @@ class ProcesMenu {
 									<a href="procesy5.php?task=CRM_PROCES<?php echo "&filtr_id={$userProcesIdsCSV}&filtr_ids=%2B&filtr_ob=%2B&filtr_img=%2B";  ?>" title="Moje Procesy">Moje Procesy</a>
 								</li>
 							<?php endif; ?>
-							<?php if (0) : // TODO: 'VIEWTABLE_AJAX' == V::get('MENU_INIT', '', $_REQUEST)) : ?>
+							<?php if ($menuProcesViewedTblId > 0) : ?>
 								<li>
-									<a href="procesy5.php?task=CRM_PROCES<?php if(!empty($_REQUEST['ZASOB_ID'])) echo "&filtr_id={$_REQUEST['ZASOB_ID']}&filtr_ids=%2B&filtr_ob=%2B";  ?>" title="Struktura aktualnie przeglądanej tabeli">Struktura aktualnie przeglądanej tabeli</a>
+									<a href="index.php?FUNCTION_INIT=PROCES_MENU&HEADER_NOT_INIT=YES&_task=PROCES_FOR_TABLE&tblId=<?php echo $menuProcesViewedTblId; ?>">Procesy dla aktualnie przeglądanej tabeli</a>
 								</li>
 							<?php endif; ?>
 							<li>

+ 12 - 3
SE/se-lib/UserAcl.php

@@ -159,9 +159,18 @@ class UserAcl {
 		return $usedProcesListIds;
 	}
 
-	public function getUsedProcesInitIds() {// function admin_fetch_CRM_PROCES_USERA_UZYTY_MAP_PROCES_INIT() {
-		$usedProcesInitList = $this->getUsedProcesInitList();
-		return array_keys($usedProcesInitList);
+	public function getUsedProcesInitIds($zasobId = 0) {// function admin_fetch_CRM_PROCES_USERA_UZYTY_MAP_PROCES_INIT() {
+		if ($zasobId > 0) {
+			$pInitListRaw = $this->getProcesInitList($zasobId);
+			if (!empty($pInitListRaw)) {
+				$pInitListRaw = array_values($pInitListRaw);
+				$pInitListRaw = array_unique($pInitListRaw);
+			}
+			return $pInitListRaw;
+		} else {
+			$usedProcesInitList = $this->getUsedProcesInitList();
+			return array_keys($usedProcesInitList);
+		}
 	}
 
 	public function getUsedProcesInitList() {

+ 26 - 0
SE/superedit-PROCES_MENU.php

@@ -99,5 +99,31 @@ function PROCES_MENU() {
 			}
 			exit;
 		}
+		case 'PROCES_FOR_TABLE': {
+			$tblId = V::get('tblId', 0, $_REQUEST, 'int');
+			$userAcl = User::getAcl();
+			$usedProcesInitIds = $userAcl->getUsedProcesInitIds($tblId);
+			//print_r($usedProcesInitIds);
+			$userProcesIdsCSV = implode(",", $usedProcesInitIds);
+			$url = $_SERVER['SCRIPT_URI'];
+			$url = substr($url, 0, strrpos($url, '/'));
+			$url .= "/procesy5.php?task=CRM_PROCES&filtr_id={$userProcesIdsCSV}&filtr_ids=%2B&filtr_ob=%2B&filtr_img=%2B";
+			//echo $url; exit;
+			if (!headers_sent()) {
+				header('HTTP/1.1 303 See Other');
+				header('Location: '.$url);
+			} else {
+				?>
+				<script type="text/javascript">
+	window.location.href='<?php echo $url; ?>';
+				</script>
+				<noscript>
+					<meta http-equiv="refresh" content="0;url=<?php echo $url; ?>" />
+				</noscript>
+				<p><a href="<?php echo $url; ?>">dalej</a></p>
+				<?php
+			}
+			exit;
+		}
 	}
 }