From 02d49834cb0d8936dc49352b3968c3baf6da3232 Mon Sep 17 00:00:00 2001
From: root <root@iZ23bpwwq5sZ.(none)>
Date: Thu, 03 Aug 2017 14:59:11 +0800
Subject: [PATCH] update

---
 application/modules/Module/controllers/Manager.php |   68 +++++++++++++++++++++------------
 1 files changed, 43 insertions(+), 25 deletions(-)

diff --git a/application/modules/Module/controllers/Manager.php b/application/modules/Module/controllers/Manager.php
index e8d70fa..b948549 100644
--- a/application/modules/Module/controllers/Manager.php
+++ b/application/modules/Module/controllers/Manager.php
@@ -30,19 +30,27 @@
 			$data['action'] = $this->getRequest()->getPost('action');
 			$data['parent'] = $this->getRequest()->getPost('parent');
 			$data['name'] = $this->getRequest()->getPost('name');
-			$parent_module = $this->module_service->getModuleInfo(array('_id' => $data['parent']));
-			if($parent_module){
-				if($parent['level'] <= 2 ){
-					$data['level'] = $parent['level'] + 1;
+			if($data['parent'] != 0){
+				$parent_module = $this->module_service->getModuleInfo(array('_id' => $data['parent']));
+				if($parent_module){
+					$data['is_module'] = false;
+					if($parent['level'] <= 2 ){
+						$data['level'] = $parent['level'] + 1;
+					}
+					else{
+						exit($this->showError('���������������������������', 400, true));	
+					}
 				}
 				else{
-					exit($this->showError('���������������������������', 400, true));	
+					exit($this->showError('���������������������������������������', 400, true));
 				}
 			}
 			else{
-				exit($this->showError('���������������������������������������', 400, true));
+				$data['level'] = 1;
+				$data['is_module'] = true;
 			}
 			if($this->module_service->add($data)){
+				Util::updateModules();
 				exit($this->showSuccess('������������������', true));
 			}
 			else{
@@ -54,29 +62,39 @@
 	public function EditAction($id){
 		$module = $this->module_service->getModuleInfo(array('_id' => $id));
 		if($module){
-			$data['module'] = $this->getRequest()->getPost('module');
-			$data['controller'] = $this->getRequest()->getPost('controller');
-			$data['action'] = $this->getRequest()->getPost('action');
-			$data['parent'] = $this->getRequest()->getPost('parent');
-			$data['name'] = $this->getRequest()->getPost('name');
-			$parent_module = $this->module_service->getModuleInfo(array('_id' => $data['parent']));
-			if($parent_module){
-				if($parent['level'] <= 2 ){
-					$data['level'] = $parent['level'] + 1;
+			if($this->getRequest()->isXmlHttpRequest()){
+				$data['module'] = $this->getRequest()->getPost('module');
+				$data['controller'] = $this->getRequest()->getPost('controller');
+				$data['action'] = $this->getRequest()->getPost('action');
+				$data['parent'] = $this->getRequest()->getPost('parent');
+				$data['name'] = $this->getRequest()->getPost('name');
+				if($data['parent']){
+					$parent_module = $this->module_service->getModuleInfo(array('_id' => $data['parent']));
+					if($parent_module){
+						if($parent['level'] <= 2 ){
+							$data['level'] = $parent['level'] + 1;
+						}
+						else{
+							exit($this->showError('���������������������������', 400, true));	
+						}
+					}
+					else{
+						exit($this->showError('���������������������������������������', 400, true));
+					}
 				}
 				else{
-					exit($this->showError('���������������������������', 400, true));	
+					$data['level'] = 1;
+					$data['is_module'] = true;
+				}	
+				if($this->module_service->update($data, array('_id' => $module['_id']))){
+					Util::updateModules();
+					exit($this->showSuccess('������������������', true));
+				}
+				else{
+					exit($this->showError($this->module_service->error, 400, true));
 				}
 			}
-			else{
-				exit($this->showError('���������������������������������������', 400, true));
-			}
-			if($this->module_service->update($data)){
-				exit($this->showSuccess('������������������', true));
-			}
-			else{
-				exit($this->showError($this->module_service->error, 400, true));
-			}
+			$this->getView()->assign('module', $module);
 		}
 		else{
 			$this->redirect('/error/show/type/no_data');

--
Gitblit v1.8.0