Ejemplo n.º 1
0
 public static function editOption($params)
 {
     $resultInfo = array();
     $actionType = BugfreeModel::ACTION_OPEN;
     $oldRecordAttributs = array();
     if (empty($params['id'])) {
         $option = new TestOption();
     } else {
         $option = TestOption::model()->findByPk((int) $params['id']);
         $oldRecordAttributs = $option->attributes;
         $actionType = BugfreeModel::ACTION_EDIT;
         if ($option === null) {
             throw new CHttpException(404, 'The requested page does not exist.');
         }
     }
     $option->attributes = $params;
     if (!$option->save()) {
         $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
         $resultInfo['detail'] = $option->getErrors();
     } else {
         $newRecord = TestOption::model()->findByPk((int) $params['id']);
         $addActionResult = AdminActionService::addActionNotes('test_option', $actionType, $newRecord, $oldRecordAttributs);
         $resultInfo['status'] = CommonService::$ApiResult['SUCCESS'];
         $resultInfo['detail'] = array('id' => $option->id);
     }
     return $resultInfo;
 }
Ejemplo n.º 2
0
 /**
  * Create or update user information
  * @param array() $userInfoArr the user related information
  * @return array() create result. return detail information
  */
 public static function editUser($userInfoArr, $pageActionType)
 {
     $resultInfo = array();
     $actionType = BugfreeModel::ACTION_OPEN;
     $oldRecordAttributs = array();
     if (!empty($userInfoArr['id'])) {
         $user = self::loadModel($userInfoArr['id']);
         if (isset($userInfoArr['realname']) && self::isRealnameExisted($userInfoArr['id'], $userInfoArr['realname'])) {
             $userInfoArr['realname'] = $userInfoArr['realname'] . '[' . $userInfoArr['username'] . ']';
         }
         $oldRecordAttributs = $user->attributes;
         $actionType = BugfreeModel::ACTION_EDIT;
         $user->attributes = $userInfoArr;
         if (!empty($userInfoArr['change_password']) && CommonService::$TrueFalseStatus['TRUE'] == $userInfoArr['change_password']) {
             $user->scenario = 'password';
         }
     } else {
         $user = new TestUser();
         $user->attributes = $userInfoArr;
         if (TestUser::$Authmode['ldap'] == $_POST['TestUser']['authmode']) {
             $ldap = new LdapService(Yii::app()->params->ldap['user'], Yii::app()->params->ldap['pass']);
             if (empty($userInfoArr['username'])) {
                 $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
                 $resultInfo['detail']['id'] = Yii::t('TestUser', 'username can not be blank');
                 return $resultInfo;
             }
             $ldapUserInfo = $ldap->search($userInfoArr['username']);
             if (empty($ldapUserInfo)) {
                 $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
                 $resultInfo['detail']['id'] = Yii::t('TestUser', 'Domain Account not found');
                 return $resultInfo;
             }
             if (self::isRealnameExisted(0, $ldapUserInfo['realname'])) {
                 $ldapUserInfo['realname'] = $ldapUserInfo['realname'] . '[' . $ldapUserInfo['username'] . ']';
             }
             $user->attributes = $ldapUserInfo;
             $user->password = time();
         }
         $user->is_dropped = CommonService::$TrueFalseStatus['FALSE'];
         $user->email_flag = CommonService::$TrueFalseStatus['TRUE'];
         $user->wangwang_flag = CommonService::$TrueFalseStatus['FALSE'];
     }
     if (!self::isUserEditable($user->id, $pageActionType)) {
         $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
         $resultInfo['detail']['id'] = Yii::t('Common', 'Required URL not found or permission denied.');
         return $resultInfo;
     }
     if ($user->save()) {
         $newRecord = self::loadModel($user->id);
         $addActionResult = AdminActionService::addActionNotes('test_user', $actionType, $newRecord, $oldRecordAttributs);
         $resultInfo['status'] = CommonService::$ApiResult['SUCCESS'];
         $resultInfo['detail'] = array('id' => $user->id);
         return $resultInfo;
     } else {
         $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
         $resultInfo['detail'] = $user->getErrors();
     }
     return $resultInfo;
 }
Ejemplo n.º 3
0
 public function actionSearchDetail()
 {
     $returnStr = '';
     if (isset($_GET['id'])) {
         $returnStr = AdminActionService::getDetailContent($_GET['id']);
     }
     echo $returnStr;
 }
Ejemplo n.º 4
0
 public static function disableUserGroup($groupId, $isDropped)
 {
     $resultInfo = array();
     if (!self::isGroupEditable($groupId)) {
         $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
         $resultInfo['detail']['id'] = Yii::t('Common', 'Required URL not found or permission denied.');
         return $resultInfo;
     }
     $group = self::loadModel($groupId);
     $oldRecordAttributs['is_dropped'] = $group->is_dropped;
     $group->is_dropped = $isDropped;
     if (!$group->save()) {
         $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
         $resultInfo['detail'] = $group->getErrors();
     } else {
         $addActionResult = AdminActionService::addActionNotes('user_group', BugfreeModel::ACTION_EDIT, array('is_dropped' => $isDropped, 'id' => $groupId), $oldRecordAttributs);
         $resultInfo['status'] = CommonService::$ApiResult['SUCCESS'];
     }
     return $resultInfo;
 }
Ejemplo n.º 5
0
 /**
  * edit product module
  *
  * @author                                    youzhao.zxw<*****@*****.**>
  * @param   array             $params         module's information
  * @return  array                             module update result
  */
 public static function editProductModule($params)
 {
     $resultInfo = array();
     $parentModule = array();
     $oldFullPathName = '';
     $actionType = BugfreeModel::ACTION_OPEN;
     $oldRecordAttributs = array();
     if (!empty($params['id'])) {
         $productModule = ProductModule::model()->findByPk((int) $params['id']);
         $oldRecordAttributs = $productModule->attributes;
         $actionType = BugfreeModel::ACTION_EDIT;
         $productModule = self::loadModel($params['id']);
         $oldFullPathName = $productModule->full_path_name;
     } else {
         $productModule = new ProductModule();
     }
     $connection = Yii::app()->db;
     $transaction = $connection->beginTransaction();
     try {
         $productModule->attributes = $params;
         if (0 != $productModule->parent_id) {
             $parentModule = ProductModuleService::loadModel((int) $productModule->parent_id);
             if (!empty($parentModule)) {
                 $productModule->grade = $parentModule->grade + 1;
                 $productModule->full_path_name = $parentModule->full_path_name . ProductModule::MODULE_SPLITTER . $params['name'];
             } else {
                 $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
                 $resultInfo['detail'] = array('parent_id' => Yii::t('ProductModule', self::ERROR_PARENT_MODULE_NOTEXIST));
                 return $resultInfo;
             }
         } else {
             $productModule->parent_id = null;
             $productModule->grade = 1;
             $productModule->full_path_name = $params['name'];
         }
         $productModule->scenario = ProductModule::SCENARIO_EDIT;
         if (!$productModule->save()) {
             $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
             $resultInfo['detail'] = $productModule->getErrors();
         } else {
             $newRecord = self::loadModel($productModule->id);
             $addActionResult = AdminActionService::addActionNotes('product_module', $actionType, $newRecord, $oldRecordAttributs);
             if ('' != $oldFullPathName && $oldFullPathName != $newRecord['full_path_name']) {
                 $renameResult = self::updateChildModule($oldFullPathName);
                 if (CommonService::$ApiResult['SUCCESS'] == $renameResult['status']) {
                     $transaction->commit();
                     $resultInfo['status'] = CommonService::$ApiResult['SUCCESS'];
                     $resultInfo['detail'] = array('id' => $productModule->id);
                 } else {
                     $resultInfo = $renameResult;
                 }
             } else {
                 $transaction->commit();
                 $resultInfo['status'] = CommonService::$ApiResult['SUCCESS'];
                 $resultInfo['detail'] = array('id' => $productModule->id);
             }
         }
     } catch (Exception $e) {
         $transaction->rollBack();
         $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
         $resultInfo['detail']['id'] = $e->getMessage();
     }
     return $resultInfo;
 }
Ejemplo n.º 6
0
 public static function editProduct($params)
 {
     $resultInfo = array();
     $connection = Yii::app()->db;
     $transaction = $connection->beginTransaction();
     $actionType = BugfreeModel::ACTION_OPEN;
     $oldRecordAttributs = array();
     if (isset($params['id'])) {
         $product = self::loadModel((int) $params['id']);
         $oldRecordAttributs = $product->attributes;
         $oldRecordAttributs['product_manager'] = $product->product_manager;
         if (!empty($product->group_name)) {
             $oldRecordAttributs['group_name'] = join(',', $product->group_name);
         }
         $actionType = BugfreeModel::ACTION_EDIT;
     } else {
         $product = new Product();
     }
     if (!ProductService::isProductEditable($product['id'])) {
         $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
         $resultInfo['detail']['id'] = Yii::t('Common', 'Required URL not found or permission denied.');
         return $resultInfo;
     }
     try {
         $product->attributes = $params;
         if (!$product->save()) {
             $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
             $resultInfo['detail'] = $product->getErrors();
         } else {
             Yii::app()->db->createCommand()->delete('{{map_product_group}}', 'product_id=:productId', array(':productId' => $product->id));
             if (!empty($params['group_name'])) {
                 foreach ($params['group_name'] as $groupId) {
                     $mapProductGroup = new MapProductGroup();
                     $mapProductGroup->product_id = $product->id;
                     $mapProductGroup->user_group_id = $groupId;
                     $mapProductGroup->save();
                 }
             }
             Yii::app()->db->createCommand()->delete('{{map_product_user}}', 'product_id=:productId', array(':productId' => $product->id));
             if ('' != trim($params['product_manager'])) {
                 $managerNameArr = CommonService::splitStringToArray(",", $params['product_manager']);
                 foreach ($managerNameArr as $managerName) {
                     $userInfo = TestUser::model()->findByAttributes(array('realname' => $managerName, 'is_dropped' => CommonService::$TrueFalseStatus['FALSE']));
                     if ($userInfo !== null) {
                         $mapProductUser = new MapProductUser();
                         $mapProductUser->product_id = $product->id;
                         $mapProductUser->test_user_id = $userInfo->id;
                         $mapProductUser->save();
                     } else {
                         $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
                         $resultInfo['detail'] = array('product_manager' => '[' . $managerName . ']' . Yii::t('TestUser', self::ERROR_USER_NOT_FOUND));
                         return $resultInfo;
                     }
                 }
             }
             $newRecord = self::loadModel($product->id);
             if (!empty($newRecord->group_name)) {
                 $newRecord->group_name = join(',', $newRecord->group_name);
             }
             $addActionResult = AdminActionService::addActionNotes('product', $actionType, $newRecord, $oldRecordAttributs);
             if (!isset($params['id'])) {
                 FieldConfigService::createAddOnTable($product->id);
             }
             $transaction->commit();
             $resultInfo['status'] = CommonService::$ApiResult['SUCCESS'];
             $resultInfo['detail'] = array('id' => $product->id);
         }
         return $resultInfo;
     } catch (Exception $e) {
         $transaction->rollBack();
         $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
         $resultInfo['detail']['id'] = $e->getMessage();
     }
     return $resultInfo;
 }