/** * 处理审批流程 */ public function reviewAction() { $tuduId = $this->_request->getPost('tid'); $isAgree = (bool) $this->_request->getPost('agree'); $content = $this->_request->getPost('content'); $params = array('orgid' => $this->_user->orgId, 'boardid' => '^app-attend', 'poster' => $this->_user->trueName, 'posterinfo' => $this->_user->posotion, 'email' => $this->_user->userName, 'tuduid' => $tuduId, 'agree' => $isAgree, 'content' => $content, 'uniqueid' => $this->_user->uniqueId); $tudu = new Model_Tudu_Tudu($params); $tudu->setExtension(new Model_App_Attend_Tudu_Apply()); $tudu->setExtension(new Model_Tudu_Extension_Flow()); $tudu->setAttributes(array('operation' => 'review')); try { $model = new Model_Tudu_Compose_Review(); $model->execute('compose', array(&$tudu)); $config = $this->_this->bootstrap->getOption('httpsqs'); $modelSend = new Model_Tudu_Send_Common(array('httpsqs' => $config)); $modelSend->send(&$tudu); } catch (Model_Tudu_Exception $e) { $message = $this->lang['review_failure']; /*switch ($e->getCode()) { case Model_App_Attend_Exception::APPLY_MISSING_CATEGORYID: $message = $this->lang['invalid_categoryid']; break ; case Model_App_Attend_Exception::APPLY_INVALID_ENDTIME: $message = $this->lang['invalid_endtime']; break ; case Model_App_Attend_Exception::APPLY_INVALID_STARTTIME: $message = $this->lang['invalid_starttime']; break ; case Model_App_Attend_Exception::CATEGORY_NOT_EXISTS: $this->lang['category_not_exists']; break; }*/ return $this->json(false, $message); } return $this->_this->json(true, $this->lang['review_apply_success']); }
/** * * @param array $params * @param string $suffix */ private function _prepareVoteParams(Model_Tudu_Tudu &$tudu, array $params, $suffix = '') { $voteMember = 'votemember' . $suffix; if (!empty($params[$voteMember]) && is_array($params[$voteMember])) { $vote = new Model_Tudu_Extension_Vote(); foreach ($params[$voteMember] as $item) { $p = array('title' => $params['title-' . $item . $suffix], 'maxchoices' => (int) $params['maxchoices-' . $item . $suffix], 'visible' => !empty($params['visible-' . $item . $suffix]) ? (int) $params['visible-' . $item . $suffix] : 0, 'anonymous' => !empty($params['anonymous-' . $item . $suffix]) ? (int) $params['anonymous-' . $item . $suffix] : 0, 'privacy' => !empty($params['privacy-' . $item . $suffix]) ? (int) $params['privacy-' . $item . $suffix] : 0, 'isreset' => !empty($params['isreset-' . $item . $suffix]) ? (int) $params['isreset-' . $item . $suffix] : 0, 'ordernum' => $params['voteorder-' . $item . $suffix], 'expiretime' => !empty($params['endtime']) ? strtotime($params['endtime']) : null); if (isset($params['voteid-' . $item . $suffix])) { $p['voteid'] = $params['voteid-' . $item . $suffix]; } $voteId = $vote->addVote($p); $optionMember = 'optionid-' . $item . $suffix; $newOptionMember = 'newoption-' . $item . $suffix; if (!empty($params[$optionMember]) && is_array($params[$optionMember])) { foreach ($params[$optionMember] as $option) { $opt = array('optionid' => $option, 'text' => $params['text-' . $item . '-' . $option . $suffix]); if (isset($params['ordernum-' . $item . '-' . $option . $suffix])) { $opt['ordernum'] = (int) $params['ordernum-' . $item . '-' . $option . $suffix]; } $vote->addOption($voteId, $opt); } } if (!empty($params[$newOptionMember]) && is_array($params[$newOptionMember])) { foreach ($params[$newOptionMember] as $option) { $opt = array('text' => $params['text-' . $item . '-' . $option . $suffix], 'ordernum' => (int) $params['ordernum-' . $item . '-' . $option . $suffix]); $vote->addOption($voteId, $opt); } } } $tudu->setExtension($vote); } }