예제 #1
0
 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;
 }
예제 #2
0
 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');
 }