Example #1
0
 /**
  * 创建群组
  *
  * @param array $params
  */
 public function create(array $params)
 {
     // 组织ID必须有
     if (empty($params['orgid'])) {
         require_once 'Model/User/Exception.php';
         throw new Model_User_Exception('Missing or invalid value of parameter "orgid"', self::CODE_INVALID_ORGID);
     }
     // 群组名称,必须有
     if (empty($params['groupname'])) {
         require_once 'Model/User/Exception.php';
         throw new Model_User_Exception('Missing or invalid value of parameter "groupname"', self::CODE_INVALID_GROUPNAME);
     }
     /* @var $daoGroup Dao_Md_User_Group */
     $daoGroup = Tudu_Dao_Manager::getDao('Dao_Md_User_Group', Tudu_Dao_Manager::DB_MD);
     $orgId = $params['orgid'];
     $groupName = $params['groupname'];
     $groupId = !empty($params['groupid']) ? $params['groupid'] : Dao_Md_User_Group::getGroupId($orgId, $groupName);
     $orderNum = $daoGroup->getGroupMaxOrderNum(array('orgid' => $orgId));
     // 创建群组
     $ret = $daoGroup->createGroup(array('orgid' => $orgId, 'groupname' => $groupName, 'groupid' => $groupId, 'ordernum' => $orderNum + 1));
     if (!$ret) {
         require_once 'Model/User/Exception.php';
         throw new Model_User_Exception('Create user group failed', self::CODE_SAVE_FAILED);
     }
     return true;
 }
Example #2
0
 /**
  * 创建群组
  */
 public function createAction()
 {
     $groupName = trim($this->_request->getPost('groupname'));
     $userIds = null;
     if (null != $this->_request->getPost('userid')) {
         $userIds = explode(',', trim($this->_request->getPost('userid')));
     }
     if (!$groupName) {
         return $this->json(false, $this->lang['invalid_params_groupname']);
     }
     /* @var $modelGroup Model_User_Group*/
     $modelGroup = Tudu_Model::factory('Model_User_Group');
     try {
         $groupId = Dao_Md_User_Group::getGroupId($this->_orgId, $groupName);
         // 添加用户操作
         if (!empty($userIds)) {
             $modelGroup->addAction('create', array($modelGroup, 'addMembers'), 1, array($this->_orgId, $groupId, $userIds), false);
         }
         $modelGroup->doCreate(array('orgid' => $this->_orgId, 'groupid' => $groupId, 'groupname' => $groupName));
     } catch (Model_User_Exception $e) {
         switch ($e->getCode()) {
             case Model_User_Group::CODE_INVALID_ORGID:
                 $message = '缺少参数[orgid]';
                 break;
             case Model_User_Group::CODE_INVALID_GROUPNAME:
                 $message = $this->lang['invalid_params_groupname'];
                 break;
             case Model_User_Group::CODE_SAVE_FAILED:
             case Model_User_Group::CODE_GROUP_NOTEXISTS:
                 $message = $this->lang['group_create_failure'];
                 break;
         }
         return $this->json(false, $message);
     }
     /* @var $daoOrg Dao_Md_Org_Org */
     $daoOrg = $this->getDao('Dao_Md_Org_Org');
     $message = $this->lang['group_create_success'];
     if (isset($userIds)) {
         foreach ($userIds as $userId) {
             $this->_clearUserCache($userId . '@' . $this->_orgId);
         }
         //$this->_createLog('group', 'create', null, $groupId, array('groupname' => $groupName));
         //return $this->json(true, '已成功创建并添加到新群组', $groupId);
         $message = '已成功创建并添加到新群组';
     }
     $this->_createLog('group', 'create', null, $groupId, array('groupname' => $groupName));
     $this->setUpdateCastTime();
     return $this->json(true, $message, $groupId);
 }
Example #3
0
 /**
  *
  * @param array $params
  */
 public function createGroup(array &$params)
 {
     /* @var $daoGroup Dao_Md_User_Group */
     $daoGroup = Tudu_Dao_Manager::getDao('Dao_Md_User_Group', Tudu_Dao_Manager::DB_MD);
     $groups = !empty($params['groupid']) ? $params['groupid'] : array();
     // 新建群组
     if (!empty($params['newgroup']) && is_array($params['newgroup'])) {
         $groupIndexes = $params['newgroup'];
         foreach ($groupIndexes as $index) {
             $groupName = $params['groupname-' . $index];
             // 没有群组名称,跳过
             if (empty($groupName)) {
                 continue;
             }
             $groupId = Dao_Md_User_Group::getGroupId($params['orgid'], $groupName);
             $orderNum = $daoGroup->getGroupMaxOrderNum(array('orgid' => $params['orgid']));
             $groupParams = array('orgid' => $params['orgid'], 'groupid' => $groupId, 'groupname' => $groupName, 'ordernum' => $orderNum + 1);
             if ($daoGroup->createGroup($groupParams)) {
                 $groups[] = $groupId;
                 $this->_createLog(Dao_Md_Log_Oplog::MODULE_GROUP, Dao_Md_Log_Oplog::OPERATION_CREATE, null, $groupId, array('groupname' => $groupName));
             }
             unset($params['groupname-' . $index]);
         }
         $params['groupid'] = $groups;
         unset($params['newgroup']);
     }
 }