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')); }
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']); } } }
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'); }