فهرست منبع

Fix reload perms - reload all perms and user acl

Piotr Labudda 10 سال پیش
والد
کامیت
544083a696
4فایلهای تغییر یافته به همراه67 افزوده شده و 10 حذف شده
  1. 1 1
      SE/se-lib/ProcesMenu.php
  2. 5 5
      SE/se-lib/Route/FixCrmProcesInitIdx.php
  3. 36 0
      SE/se-lib/Route/Users.php
  4. 25 4
      SE/se-lib/User.php

+ 1 - 1
SE/se-lib/ProcesMenu.php

@@ -766,7 +766,7 @@ jQuery(document).ready(function() {
 							<?php endif; ?>
 
 							<li><a href="procesy5.php?task=USER" title="<?php echo User::getName(); ?>"><i class="glyphicon glyphicon-user"></i> Profil</a></li>
-							<li><a href="index.php?LOGIN=PERMS_RELOAD" title="Przeładuj uprawnienia"><i class="glyphicon glyphicon-refresh"></i> Przeładuj uprawnienia</a></li>
+							<li><a href="index.php?_route=Users&_task=reloadPerms" title="Przeładuj uprawnienia"><i class="glyphicon glyphicon-refresh"></i> Przeładuj uprawnienia</a></li>
 							<?php if (User::isAdmin()) : ?>
 								<li class="divider"></li>
 								<?php if (!$typeSpecialUserId) : ?>

+ 5 - 5
SE/se-lib/Route/FixCrmProcesInitIdx.php

@@ -85,7 +85,7 @@ jQuery(document).ready(function () {
 		$dbgExecTime->log('start');
 
 		try {
-			$this->_callProcedure();
+			$this->callProcedure();
 		} catch (Exception $e) {
 			?>
 			<div class="container">
@@ -118,11 +118,11 @@ jQuery(document).ready(function () {
 	}
 
 	public function runApiAction() {
-		$this->_callProcedure();
+		$this->callProcedure();
 		die('Zaktualizowano uprawnienia');
 	}
 
-	private function _callProcedure() {
+	public function callProcedure() {
 		$sql = "call `update_proces_init_idx_rec`();";
 		$db = DB::getDB();
 		if ($db->has_errors()) {
@@ -1197,7 +1197,7 @@ DELETE FROM `CRM_CONFIG` where `CONF_KEY`='tbl_indexer_CRM_PROCES_last_exec_lock
 				throw new Exception("DB Errors at sql '{$sqlName}': " . implode("\n<br>", $db->get_errors()));
 			}
 		}
-		$this->_callProcedure();
+		$this->callProcedure();
 	}
 
 	/*
@@ -1231,7 +1231,7 @@ DELETE FROM `CRM_CONFIG` where `CONF_KEY`='tbl_indexer_CRM_PROCES_last_exec_lock
 		switch ($msg) {
 			case 'Update perms': {
 				$execNotes .= 'Wymagana aktualizacja uprawnień';
-				$this->_callProcedure();
+				$this->callProcedure();
 				$execNotes .= ' done';
 				break;
 			}

+ 36 - 0
SE/se-lib/Route/Users.php

@@ -63,6 +63,42 @@ class Route_Users extends RouteBase {
 <?php
 	}
 
+	public function reloadPermsAction() {
+		try {
+			$dbgExecTime = new DebugExecutionTime();
+			$dbgExecTime->activate();
+			$dbgExecTime->log('start');
+
+			$routeFixCrmProcesInitIdx = Router::getRoute('FixCrmProcesInitIdx');
+			if ($routeFixCrmProcesInitIdx) {
+				$routeFixCrmProcesInitIdx->runMethod('callProcedure');
+			}
+
+			$dbgExecTime->log('FixCrmProcesInitIdx::callProcedure');
+			$fixAllPermsExecTime = $dbgExecTime->getLastExecTime();
+
+			User::reloadAcl();
+
+			$dbgExecTime->log('User::reloadAcl');
+			$fixUserPermsExecTime = $dbgExecTime->getLastExecTime();
+
+		} catch (Exception $e) {
+			$data['errors'][] = $e->getMessage();
+		}
+
+		SE_Layout::gora();
+		SE_Layout::menu();
+		?>
+		<div class="container">
+			<div class="alert alert-success" title="<?php echo number_format($fixAllPermsExecTime, 4); ?> s / <?php echo number_format($fixUserPermsExecTime, 4); ?> s">
+				Zaktualizowano uprawnienia
+			</div>
+		</div>
+		<?php
+		SE_Layout::loadTemplate('defaultPage', $data);
+		SE_Layout::dol();
+	}
+
 	public function nestedGroupsAction() {
 		SE_Layout::gora();
 		SE_Layout::menu();

+ 25 - 4
SE/se-lib/User.php

@@ -1,10 +1,8 @@
 <?php
 
-
-require_once dirname(__FILE__) . '/' . 'Lib.php';
-Lib::loadClass('V');
 Lib::loadClass('UserProfile');
-
+Lib::loadClass('Router');
+Lib::loadClass('DebugExecutionTime');
 
 class User {
 
@@ -253,13 +251,36 @@ class User {
 			case 'PERMS_RELOAD':
 				if (User::logged()) {
 					try {
+						$dbgExecTime = new DebugExecutionTime();
+						$dbgExecTime->activate();
+						$dbgExecTime->log('start');
+
+						$routeFixCrmProcesInitIdx = Router::getRoute('FixCrmProcesInitIdx');
+						if ($routeFixCrmProcesInitIdx) {
+							$routeFixCrmProcesInitIdx->runMethod('callProcedure');
+						}
+
+						$dbgExecTime->log('FixCrmProcesInitIdx::callProcedure');
+						$fixAllPermsExecTime = $dbgExecTime->getLastExecTime();
+
 						User::reloadAcl();
+
+						$dbgExecTime->log('User::reloadAcl');
+						$fixUserPermsExecTime = $dbgExecTime->getLastExecTime();
+
 					} catch (Exception $e) {
 						$data['errors'][] = $e->getMessage();
 					}
 
 					SE_Layout::gora();
 					SE_Layout::menu();
+					?>
+					<div class="container">
+						<div class="alert alert-success" title="<?php echo number_format($fixAllPermsExecTime, 4); ?> s / <?php echo number_format($fixUserPermsExecTime, 4); ?> s">
+							Zaktualizowano uprawnienia
+						</div>
+					</div>
+					<?php
 					SE_Layout::loadTemplate('defaultPage', $data);
 					SE_Layout::dol();
 					exit;