public function getAll() { $mailTBs = $this->mail_tb->getAll(); $dsMailTBs = array(); foreach ($mailTBs as $mail_tb) { if ($mail_tb['noi_nhan'] == '0') { $noi_nhan = 'Đề tài sắp duyệt'; } else { $bizDeTai = new Default_Model_DeTai(); $bizHDD = new Default_Model_Hdd(); if ($mail_tb['loai'] == '1') { $hdd = $bizHDD->getHDD($mail_tb['noi_nhan']); $noi_nhan = $hdd['ma']; } else { if ($mail_tb['loai'] == '2') { $de_tai = $bizDeTai->getDeTai($mail_tb['noi_nhan']); $noi_nhan = $de_tai['ma']; } } } $dsMailTBs[] = array('id' => $mail_tb['id'], 'tieu_de' => $mail_tb['tieu_de'], 'ngay_goi' => date('H:i d/m/Y', strtotime($mail_tb['ngay_goi'])), 'loai' => $mail_tb['loai'], 'noi_nhan' => $noi_nhan); } return $dsMailTBs; }
public function suaAction() { $de_tai_id = $this->_getParam('id'); $de_tai = Khcn_Api::_()->getItem('default_de_tai', $de_tai_id); $tableDK = Khcn_Api::_()->getDbTable('dang_ky', 'default'); $form = new Admin_Form_DeTai(); $form->removeElement('submitCon'); $form->submitExit->setLabel('Lưu'); $form->cancel->setLabel('Không lưu'); $this->view->form = $form; if (!$this->getRequest()->isPost()) { //populate chủ nhiệm $giang_vien = new Default_Model_GiangVien(); $gvOptions = $giang_vien->getDSGVByDV($de_tai->ma_don_vi); $chu_nhiem = $this->dang_ky->getMaChuNhiemByDT($de_tai_id); $form->chu_nhiem->setMultiOptions($gvOptions)->setValue($chu_nhiem); //populate thành viên $thanhViens = $this->dang_ky->getDSTVByDT($de_tai_id); $code = count($thanhViens); $form->code->setValue($code); $don_vi = new Default_Model_DonVi(); $donVis = $don_vi->getDSDV(); unset($donVis['1']); $dvOptions = array("multiOptions" => $donVis); $i = 0; foreach ($thanhViens as $thanh_vien) { $don_vi = new Zend_Form_Element_Select('don_vi_' . $i, $dvOptions); $don_vi->setValue($thanh_vien['ma_don_vi'])->setDecorators(Khcn_Form_Decorator_Select::getDecorator())->setAttribs(array('class' => 'text-input', 'id' => 'don_vi_' . $i, 'onchange' => 'change(this,' . $i . ')')); $giang_vien = new Default_Model_GiangVien(); $gvOptions = array("multiOptions" => $giang_vien->getDSGVByDV($thanh_vien['ma_don_vi'])); $ma_giang_vien = $thanh_vien['ma_giang_vien']; $thanh_vien = new Zend_Form_Element_Select('thanh_vien_' . $i, $gvOptions); $thanh_vien->setRequired(true)->setValue($ma_giang_vien)->setDecorators(Khcn_Form_Decorator_Select::getDecorator())->setAttribs(array('class' => 'text-input', 'id' => 'thanh_vien_' . $i))->setRegisterInArrayValidator(false); $form->addElements(array($don_vi, $thanh_vien)); $form->addDisplayGroup(array('don_vi_' . $i, 'thanh_vien_' . $i), 'dk_tv_' . $i, array('order' => $i + 6, 'legend' => 'Thành viên', 'decorators' => array('FormElements', 'Fieldset', array(array('data' => 'HtmlTag'), array('tag' => 'td')), array(array('row' => 'HtmlTag'), array('tag' => 'td')), array('HtmlTag', array('tag' => 'tr', 'id' => 'dk_tv_' . $i))))); $i++; } $url = new Zend_View_Helper_Url(); if ($de_tai->ma_hd_duyet != null) { $hd_duyet = new Default_Model_Hdd(); $hdd = $hd_duyet->getHDD($de_tai->ma_hd_duyet); $link = $url->url(array('module' => 'admin', 'controller' => 'hoi-dong', 'action' => 'sua-hdd', 'id' => $de_tai->ma_hd_duyet), null, true); $element = new Zend_Form_Element_Text('hdd'); $element->setLabel('Hội đồng duyệt')->setValue($hdd['ma'])->setDescription('<a href="' . $link . '">Xem hội đồng duyệt</a>')->setDecorators(array('ViewHelper', array('Description', array('tag' => 'span', 'escape' => false)), array(array('data' => 'HtmlTag'), array('tag' => 'td')), array('Label', array('tag' => 'td')), array(array('row' => 'HtmlTag'), array('tag' => 'tr'))))->setAttribs(array('class' => 'text-input', 'disabled' => 'disabled'))->setOrder(100); $form->addElement($element); } // Popuate Bo Mon if (!empty($de_tai->bo_mon_id)) { $boMons = Khcn_Api::_()->getDbTable('bo_mon', 'default')->getBoMonByDonViAssoc($de_tai->ma_don_vi); $form->bo_mon_id->setMultiOptions($boMons)->setValue($de_tai->bo_mon_id); } $form->populate($de_tai->toArray()); return; } $form->preValidation($_POST); if (!$form->isValid($this->getRequest()->getPost())) { return; } $ma = trim($form->getValue('ma')); if (!empty($ma)) { if (!Default_Model_Functions::kiem_tra_ma($ma, null, true, 2)) { $_SESSION['msg'] = 'Lỗi !. Mã đề tài không đúng định dạng, vui lòng kiểm tra lại .'; $_SESSION['type_msg'] = 'error'; $this->_redirect('/admin/de-tai'); } if ($this->de_tai->kiem_tra_id_ma($de_tai_id, $ma)) { $_SESSION['msg'] = 'Lỗi !. Mã đề tài đã tồn tại, vui lòng kiểm tra lại .'; $_SESSION['type_msg'] = 'error'; $this->_redirect('/admin/de-tai'); } } $db = Zend_Registry::get('connectDB'); $db->beginTransaction(); try { if ($form->file_tom_tat->getFileName(null, false) != null) { //determine filename and extension $info = pathinfo($form->file_tom_tat->getFileName(null, false)); $filename = $info['filename']; $ext = $info['extension'] ? "." . $info['extension'] : ""; //filter for renaming.. prepend with current time $file_tom_tat = time() . '_' . Default_Model_Functions::convert_vi_to_en($filename) . $ext; $form->file_tom_tat->addFilter(new Zend_Filter_File_Rename(array("target" => $file_tom_tat, "overwrite" => true))); $form->getValue('file_tom_tat'); $de_tai->file_tom_tat = $file_tom_tat; } $values = $form->getValues(); if (empty($values['file_tom_tat'])) { unset($values['file_tom_tat']); } if (empty($values['ngay_gia_han'])) { $values['ngay_gia_han'] = new Zend_Db_Expr('NULL'); } $values['ma'] = $ma; $values['kinh_phi'] = $values['kinh_phi'] != '' ? str_ireplace(',', '', $values['kinh_phi']) : 0; $de_tai->setFromArray($values); $de_tai->save(); $thanhViens = array(); $thanhViens[] = array('giang_vien_id' => $values['chu_nhiem'], 'nhiem_vu' => 1); for ($i = 0; $i < $values['code']; $i++) { $thanhViens[] = array('giang_vien_id' => $values['thanh_vien_' . $i], 'nhiem_vu' => 0); } $tableDK->setChucVu($de_tai_id, $thanhViens); $db->commit(); } catch (Zend_Db_Exception $e) { $db->rollBack(); $_SESSION['msg'] = 'Lỗi !. Đã có lỗi trong quá trình xử lý, vui lòng thử lại .'; $_SESSION['type_msg'] = 'error'; $this->_redirect('/admin/de-tai'); } $_SESSION['msg'] = 'Thành công !. Dữ liệu đã được cập nhật .'; $_SESSION['type_msg'] = 'success'; $this->_redirect('/admin/de-tai'); }