Пример #1
0
 public function init()
 {
     $this->setName('f2')->setMethod('post');
     $nams = Default_Model_Constraints::nam();
     $namOption = array("multiOptions" => $nams);
     $nam = new Zend_Form_Element_Select('nam', $namOption);
     $nam->setValue(date('Y'))->setLabel('Năm (*)')->setDecorators(array('ViewHelper', 'Errors', array(array('data' => 'HtmlTag'), array('tag' => 'td', 'style' => 'width: 90%')), array('Label', array('tag' => 'td')), array(array('row' => 'HtmlTag'), array('tag' => 'tr'))))->setAttribs(array('id' => 'nam'));
     $bizHDD = new Default_Model_Hdd();
     $hdds = $bizHDD->getDSHDByNam(date('Y'));
     if ($hdds == null) {
         $hdsOptions = array("multiOptions" => array('-1' => '== Chưa thành lập =='));
     } else {
         $hdds = array('0' => '== Tất cả ==') + $hdds;
         $hddsOptions = array("multiOptions" => $hdds);
     }
     $noi_nhan = new Zend_Form_Element_Select('noi_nhan', $hddsOptions);
     $noi_nhan->setRequired(true)->setLabel('Hội đồng')->setValue('0')->setDecorators(array('ViewHelper', 'Errors', array(array('data' => 'HtmlTag'), array('tag' => 'td')), array('Label', array('tag' => 'td')), array(array('row' => 'HtmlTag'), array('tag' => 'tr'))))->setAttribs(array('id' => 'noi_nhan'))->setRegisterInArrayValidator(false);
     $tieu_de = new Zend_Form_Element_Text('tieu_de');
     $tieu_de->setLabel('Tiêu đề (*)')->setRequired(true)->addFilter('StripTags')->addFilter('StringTrim')->addValidator('NotEmpty')->setDecorators(array('ViewHelper', 'Errors', array(array('data' => 'HtmlTag'), array('tag' => 'td')), array('Label', array('tag' => 'td')), array(array('row' => 'HtmlTag'), array('tag' => 'tr'))))->setAttrib('class', 'text-input large-input');
     $noi_dung = new Zend_Form_Element_Textarea('noi_dung');
     $noi_dung->setLabel('Nội dung (*)')->setRequired(true)->addValidator('NotEmpty')->setDecorators(array('ViewHelper', 'Errors', array(array('data' => 'HtmlTag'), array('tag' => 'td')), array('Label', array('tag' => 'td')), array(array('row' => 'HtmlTag'), array('tag' => 'tr'))))->setAttribs(array('id' => 'noi_dung', 'class' => 'text-input textarea'));
     $submit = new Zend_Form_Element_Submit('submit');
     $submit->setDecorators(array('ViewHelper', array(array('data' => 'HtmlTag'), array('tag' => 'span')), array(array('row' => 'HtmlTag'), array('tag' => 'span'))))->setAttribs(array('class' => 'button'));
     $url = new Zend_View_Helper_Url();
     $link = $url->url(array('module' => 'admin', 'controller' => 'hoi-dong', 'action' => 'ds-mail-tb'), null, true);
     $cancel = new Zend_Form_Element_Button('cancel');
     $cancel->setDecorators(array('ViewHelper', array(array('data' => 'HtmlTag'), array('tag' => 'span')), array(array('row' => 'HtmlTag'), array('tag' => 'span'))))->setAttribs(array('class' => 'button', 'onclick' => 'window.location.href="' . $link . '"'));
     $this->addElements(array($nam, $noi_nhan, $tieu_de, $noi_dung, $submit, $cancel));
     $this->addDisplayGroup(array('submit', 'cancel'), 'btn_submit', array('decorators' => array('FormElements', array(array('data' => 'HtmlTag'), array('tag' => 'td', 'colspan' => 2)), array(array('row' => 'HtmlTag'), array('tag' => 'td')))));
     $this->setDecorators(array('FormElements', array('HtmlTag', array('tag' => 'table')), 'Form'));
 }
Пример #2
0
 public function suaHddAction()
 {
     $form = new Admin_Form_HDD();
     $form->removeElement('submitCon');
     $form->submitExit->setLabel('Lưu');
     $form->cancel->setLabel('Không lưu');
     $this->view->form = $form;
     if ($this->getRequest()->isPost()) {
         $form->preValidation($_POST);
         $formData = $this->getRequest()->getPost();
         foreach ($formData as $k => $v) {
             if (strpos($k, 'thanh_vien_') !== false && $v == '0') {
                 $formData[$k] = null;
             }
         }
         if ($form->isValid($formData)) {
             if (!Default_Model_Functions::kiem_tra_ma($form->getValue('ma'), 'HDD', true)) {
                 $_SESSION['msg'] = 'Lỗi !. Mã hội đồng duyệt không đúng định dạng, vui lòng kiểm tra lại .';
                 $_SESSION['type_msg'] = 'error';
                 $this->_redirect('/admin/hoi-dong/danh-sach-hdd?' . $_SESSION['filterHDD']);
             }
             if ($this->hd_duyet->kiem_tra_id_ma($form->getValue('id'), $form->getValue('ma'))) {
                 $_SESSION['msg'] = 'Lỗi !. Mã hội đồng duyệt đã tồn tại, vui lòng kiểm tra lại .';
                 $_SESSION['type_msg'] = 'error';
                 $this->_redirect('/admin/hoi-dong/danh-sach-hdd?' . $_SESSION['filterHDD']);
             }
             $db = Zend_Registry::get('connectDB');
             $db->beginTransaction();
             try {
                 $hdd = new Default_Model_Hdd();
                 $id = $form->getValue('id');
                 $hdd->setId($id)->setMa($form->getValue('ma'))->setNgayThanhLap(date('Y-m-d', strtotime($form->getValue('ngay_thanh_lap'))))->setGhiChu($form->getValue('ghi_chu'));
                 $hdd->sua();
                 //cat nhat thanh vien hoi dong
                 $pc_duyet = new Default_Model_Pcd();
                 $thanhViens = array();
                 for ($i = 0; $i <= 5; $i++) {
                     //kiem tra co chon giang vien
                     if ($form->getValue('thanh_vien_' . $i) != 0) {
                         if ($i == 0) {
                             $thanhViens[] = array('ma_giang_vien' => $form->getValue('thanh_vien_' . $i), 'chuc_danh' => '0');
                         } else {
                             if ($i == 5) {
                                 $thanhViens[] = array('ma_giang_vien' => $form->getValue('thanh_vien_' . $i), 'chuc_danh' => '2');
                             } else {
                                 $thanhViens[] = array('ma_giang_vien' => $form->getValue('thanh_vien_' . $i), 'chuc_danh' => '1');
                             }
                         }
                     }
                 }
                 $pc_duyet->capNhatTV($id, $thanhViens);
                 //cat nhat danh sach de tai
                 $deTais = array();
                 if (isset($_POST['item_selected'])) {
                     if (isset($_POST['item'])) {
                         $deTais = array_merge($_POST['item_selected'], $_POST['item']);
                     } else {
                         $deTais = $_POST['item_selected'];
                     }
                 } else {
                     if (isset($_POST['item'])) {
                         $deTais = $_POST['item'];
                     }
                 }
                 $de_tai = new Default_Model_DeTai();
                 $de_tai->clearHdd($id);
                 if ($deTais != null) {
                     foreach ($deTais as $ma_de_tai) {
                         $de_tai->capNhatHdd($ma_de_tai, $id);
                     }
                 }
                 $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/hoi-dong/danh-sach-hdd?' . $_SESSION['filterHDD']);
             }
             $_SESSION['msg'] = 'Thành công !. Dữ liệu đã được cập nhật .';
             $_SESSION['type_msg'] = 'success';
             $this->_redirect('/admin/hoi-dong/danh-sach-hdd?' . $_SESSION['filterHDD']);
         } else {
             $form->populate($formData);
         }
     } else {
         $id = $this->_getParam('id');
         if (!empty($id)) {
             $data = $this->hd_duyet->getHDD($id);
             if ($data != null) {
                 $data = $this->hd_duyet->HDDToArray($data);
                 $data['ma_linh_vuc'] = $this->hd_duyet->getLinhVucByHD($data['id']);
                 $data['nam'] = substr($data['ma'], 3, 4);
                 //lay danh sach giang vien trong hoi dong
                 $thanhViens = $this->pc_duyet->getDSGVByHDD($id);
                 $i = 0;
                 foreach ($thanhViens as $thanh_vien) {
                     $dv = 'don_vi_' . $i;
                     $tv = 'thanh_vien_' . $i;
                     $data[$dv] = $thanh_vien['ma_don_vi'];
                     $giang_vien = new Default_Model_GiangVien();
                     $gvOptions = $giang_vien->getDSGVByDV($thanh_vien['ma_don_vi']);
                     $form->{$tv}->addMultiOptions($gvOptions)->setValue($thanh_vien['ma_giang_vien']);
                     $i++;
                 }
                 $form->populate($data);
             } else {
                 $_SESSION['msg'] = 'Lỗi !. Mã hội đồng duyệt không tồn tại .';
                 $_SESSION['type_msg'] = 'error';
                 $this->_redirect('/admin/hoi-dong/danh-sach-hdd?' . $_SESSION['filterHDD']);
             }
         } else {
             $this->_redirect('/admin/hoi-dong/danh-sach-hdd?' . $_SESSION['filterHDD']);
         }
     }
 }
Пример #3
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;
 }
Пример #4
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');
 }