diff --git a/include/utils/VtlibUtils.php b/include/utils/VtlibUtils.php
index 90a5e8cd40ac597ca1f13ebb6d9ea3ec1167eca4..91c611520689bd6db3ff23e6fc71550fe108ce9d 100644
--- a/include/utils/VtlibUtils.php
+++ b/include/utils/VtlibUtils.php
@@ -151,46 +151,46 @@ function vtlib_toggleModuleAccess($modules, $enable_disable) {
 	
 	// Checks if the user is admin or not
 	$isAdmin = is_admin($current_user);
-	if($isAdmin == true) {
-		if(is_string($modules)) $modules = array($modules);
-		$event_type = false;
-
-		if($enable_disable === true) {
-			$enable_disable = 0;
-			$event_type = Vtiger_Module::EVENT_MODULE_ENABLED;
-		} else if($enable_disable === false) {
-			$enable_disable = 1;
-			$event_type = Vtiger_Module::EVENT_MODULE_DISABLED;
-			//Update default landing page to dashboard if module is disabled.
-			$adb->pquery('UPDATE vtiger_users SET defaultlandingpage = ? WHERE defaultlandingpage IN(' . generateQuestionMarks($modules) . ')', array_merge(array('Home'), $modules));
-		}
+	if(!$isAdmin) {
+		throw new AppException('Permission denied! Only admin users can toggle modules');
+	}
 	
-		$checkResult = $adb->pquery('SELECT name FROM vtiger_tab WHERE name IN ('. generateQuestionMarks($modules) .')', array($modules));
-		$rows = $adb->num_rows($checkResult);
-		for($i=0; $i<$rows; $i++) {
-			$existingModules[] = $adb->query_result($checkResult, $i, 'name');
-		}
+	if(is_string($modules)) $modules = array($modules);
+	$event_type = false;
+
+	if($enable_disable === true) {
+		$enable_disable = 0;
+		$event_type = Vtiger_Module::EVENT_MODULE_ENABLED;
+	} else if($enable_disable === false) {
+		$enable_disable = 1;
+		$event_type = Vtiger_Module::EVENT_MODULE_DISABLED;
+		//Update default landing page to dashboard if module is disabled.
+		$adb->pquery('UPDATE vtiger_users SET defaultlandingpage = ? WHERE defaultlandingpage IN(' . generateQuestionMarks($modules) . ')', array_merge(array('Home'), $modules));
+	}
 
-		foreach($modules as $module) {
-			if (in_array($module, $existingModules)) { // check if module exists then only update and trigger events
-				$adb->pquery("UPDATE vtiger_tab set presence = ? WHERE name = ?", array($enable_disable, $module));
-				$__cache_module_activeinfo[$module] = $enable_disable;
-				Vtiger_Module::fireEvent($module, $event_type);
-				Vtiger_Cache::flushModuleCache($module);
-			}
+	$checkResult = $adb->pquery('SELECT name FROM vtiger_tab WHERE name IN ('. generateQuestionMarks($modules) .')', array($modules));
+	$rows = $adb->num_rows($checkResult);
+	for($i=0; $i<$rows; $i++) {
+		$existingModules[] = $adb->query_result($checkResult, $i, 'name');
+	}
+
+	foreach($modules as $module) {
+		if (in_array($module, $existingModules)) { // check if module exists then only update and trigger events
+			$adb->pquery("UPDATE vtiger_tab set presence = ? WHERE name = ?", array($enable_disable, $module));
+			$__cache_module_activeinfo[$module] = $enable_disable;
+			Vtiger_Module::fireEvent($module, $event_type);
+			Vtiger_Cache::flushModuleCache($module);
 		}
+	}
 
-		create_tab_data_file();
-		create_parenttab_data_file();
+	create_tab_data_file();
+	create_parenttab_data_file();
 
-		// UserPrivilege file needs to be regenerated if module state is changed from
-		// vtiger 5.1.0 onwards
-		global $vtiger_current_version;
-		if(version_compare($vtiger_current_version, '5.0.4', '>')) {
-			vtlib_RecreateUserPrivilegeFiles();
-		}
-	} else {
-		throw new Exception ("Permission denied, only admin users can toggle module access");
+	// UserPrivilege file needs to be regenerated if module state is changed from
+	// vtiger 5.1.0 onwards
+	global $vtiger_current_version;
+	if(version_compare($vtiger_current_version, '5.0.4', '>')) {
+		vtlib_RecreateUserPrivilegeFiles();
 	}
 }
 
diff --git a/modules/Migration/actions/DisableModules.php b/modules/Migration/actions/DisableModules.php
index 978ee1c214d9605fab0bfa9f9450324e062eec1e..6449878c2bdda91ed541bd8c6ea39c273d461311 100644
--- a/modules/Migration/actions/DisableModules.php
+++ b/modules/Migration/actions/DisableModules.php
@@ -11,14 +11,12 @@
 class Migration_DisableModules_Action extends Vtiger_Action_Controller {
 	
 	public function checkPermission(\Vtiger_Request $request) {
-		global $current_user;
-		$isAdmin = is_admin($current_user);
-		if ($isAdmin == true) {
-			return true;
-		} else {
-			throw new Exception('Permission Denied! Only admins can access');
+		parent::checkPermission($request);
+		$currentUserModel = Users_Record_Model::getCurrentUserModel();
+		if(!$currentUserModel->isAdminUser()) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED', 'Vtiger'));
 		}
-		return parent::checkPermission($request);
+        return true;
 	}
 
 	public function process(Vtiger_Request $request) {
diff --git a/modules/Migration/actions/Extract.php b/modules/Migration/actions/Extract.php
index 6c3ef2cbf6efb450d72263a5f6bbc2bd3f23c859..b9c0bf0fd61dbf5f60b9753804c9a152aec63c23 100644
--- a/modules/Migration/actions/Extract.php
+++ b/modules/Migration/actions/Extract.php
@@ -24,7 +24,7 @@ class Migration_Extract_Action extends Vtiger_Action_Controller {
 		$userid = $user->retrieve_user_id($userName);
 		$userRecordModel = Users_Privileges_Model::getInstanceById($userid, 'Users');
 		if ($user->doLogin($password)) {
-			if($userRecordModel->get('is_admin') == 'on') {
+			if($userRecordModel->isAdminUser()) {
 				$zip = new ZipArchive();
 				$fileName = 'vtiger8.zip';
 				if ($zip->open($fileName)) {
diff --git a/modules/Migration/views/Index.php b/modules/Migration/views/Index.php
index d103c05996fe6d25c0be94cac2cc6b42cbbd7867..3093fda7f69732a4ddf315a59a050196d59a1c9d 100644
--- a/modules/Migration/views/Index.php
+++ b/modules/Migration/views/Index.php
@@ -18,13 +18,12 @@ class Migration_Index_View extends Vtiger_View_Controller {
 	}
 
 	public function checkPermission(Vtiger_Request $request){
-		global $current_user;
-		$isAdmin = is_admin($current_user);
-		if ($isAdmin == true) {
-			return true;
-		} else {
-			throw new Exception('ADMIN USERS CAN ONLY ACCESS');
+		parent::checkPermission($request);
+		$currentUserModel = Users_Record_Model::getCurrentUserModel();
+		if(!$currentUserModel->isAdminUser()) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED', 'Vtiger'));
 		}
+        return true;
 	}
 
 	public function process(Vtiger_Request $request) {