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; }
/** * 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; }
/** * 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; }
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; }
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; }