public function saveCertificateUser(JosCertificateUser $certificate_user) { $data = array('certificate_id' => $certificate_user->getCertificateId(), 'user_id' => $certificate_user->getUserId(), 'note' => $certificate_user->getNote(), 'level' => $certificate_user->getLevel()); $this->tableGateway->insert($data); }
public function editCertificateAction() { $request = $this->getRequest(); if ($request->isPost()) { $post = $request->getPost(); if (isset($post['id'])) { $id = $post['id']; unset($post['id']); // nếu đã đăng nhập $read = $this->getServiceLocator()->get('AuthService')->getStorage()->read(); if (isset($read['username']) and $read['username']) { // tạo điểm truy cập jos_users table $jos_users_table = $this->getServiceLocator()->get('Permission\\Model\\JosUsersTable'); // kiểm tra user đang đăng nhập $user = $jos_users_table->getGiangVienByArrayConditionAndArrayColumns(array('username' => $read['username'])); // kiểm tra user có quyền editAllProfile không $white_lists = $read['white_list']; $edit_all_profile = 0; foreach ($white_lists as $key => $white_list) { if ($white_list['action'] == 'editAllProfile') { $edit_all_profile = 1; } } // nếu id cần sửa bằng với user_id đang đăng nhập hoặc có quyền editAllProfile if ($user and $user[0]['id'] == $id or $edit_all_profile == 1) { // lấy year_id default $jos_year_table = $this->getServiceLocator()->get('NamHoc\\Model\\JosYearTable'); $year = $jos_year_table->getYearByArrayConditionAndArrayColumn(array('is_active' => 1)); if (!$year or !isset($year[0]['year_id'])) { die('Lỗi, Không xác định được năm cần sửa'); } $year_id = $year[0]['year_id']; // điểm truy cập csdl $certificate_table_jos_certificate = $this->getServiceLocator()->get('ChungChiKhac\\Model\\JosCertificateTable'); $certificate_table_jos_certificate_user = $this->getServiceLocator()->get('ChungChiKhac\\Model\\JosCertificateUserTable'); // lấy tất cả chứng chỉ trong năm đang active $certificate_lists = $certificate_table_jos_certificate->getCertificateByYearActive(); // tạo form certificate $certificate_edit_form = new EditCertificateForm($this->getServiceLocator(), $certificate_lists); $certificate_edit_form->setData($post); if ($certificate_edit_form->isValid()) { $error = ''; foreach ($certificate_lists as $key => $certificate_list) { // xóa bỏ dữ liệu $certificate_table_jos_certificate_user->deleteCertificateUser(array('certificate_id' => $certificate_list['value_id'], 'user_id' => $id)); $certificate_user_new = new JosCertificateUser(); if ($certificate_list['name'] == 'Ngoại ngữ') { $certificate_user_new->setCertificateId($certificate_list['value_id']); $certificate_user_new->setUserId($id); $certificate_level = ''; if (isset($post['certificate_level_' . $certificate_list['value_id']])) { $certificate_level = $post['certificate_level_' . $certificate_list['value_id']]; } $certificate_user_new->setLevel($certificate_level); $certificate_note = ''; if (isset($post['certificate_loai_ngoai_ngu_' . $certificate_list['value_id']])) { $certificate_note = $post['certificate_loai_ngoai_ngu_' . $certificate_list['value_id']]; } $certificate_user_new->setNote($certificate_note); } else { $certificate_user_new->setCertificateId($certificate_list['value_id']); $certificate_user_new->setUserId($id); $certificate_level = ''; $certificate_user_new->setLevel($certificate_level); $certificate_note = 0; if (isset($post['certificate_check_' . $certificate_list['value_id']]) and isset($post['certificate_note_' . $certificate_list['value_id']]) and $post['certificate_check_' . $certificate_list['value_id']] == 1) { $certificate_note = $post['certificate_note_' . $certificate_list['value_id']]; } $certificate_user_new->setNote($certificate_note); } $certificate_table_jos_certificate_user->saveCertificateUser($certificate_user_new); } // cập nhật thành công if (!$error) { $this->flashMessenger()->addSuccessMessage('Cập nhật thành công!'); } else { $error = 'dữ liệu cột: ' . $error . ' nhập không đúng. Vui lòng kiểm tra lại!'; $this->flashMessenger()->addErrorMessage($error); } return $this->redirect()->toRoute('application/crud', array('action' => 'index', 'id' => $id)); } else { die(var_dump($certificate_edit_form->getMessages())); } } } } if (isset($id)) { $this->flashMessenger()->addErrorMessage('Bạn không có quyền truy cập. Vui lòng kiểm tra lại!'); return $this->redirect()->toRoute('application/crud', array('action' => 'index', 'id' => $id)); } } $this->flashMessenger()->addErrorMessage('Bạn không có quyền truy cập. Vui lòng kiểm tra lại!'); return $this->redirect()->toRoute('application/crud', array('action' => 'index')); }