public function removeDo() { /* * Loading libraries and helpers */ $this->load->library(array('rb', 'form_validation', 'session')); /* * Getting post variables */ $id = $this->input->post('id'); /* * Validation rules */ $this->form_validation->set_rules('id', 'ID', 'required'); /* * Normally, user wiil never see what makes this true, just for security issues */ if (!$this->form_validation->run()) { echo "Você não preencheu os campos corretamente.<br>"; echo validation_errors(); exit; } /* * User has auth to do this? */ if (!parent::_hasAuth('remove_ic', $this->session->userdata('user_ic'))) { echo "Você não tem permissão para realizar este procedimento."; exit; } /* * Retrieve IC */ $g = R::findOne('ic', 'id=? AND active!="no" ', array($id)); /* * Verifying if ic exists */ if ($g == NULL) { $this->session->set_flashdata('error', 'O Centro de Informação solicitado para remoção não existe.'); redirect('dashboard/ic'); } /* * Can user access this IC? */ $tmp = R::findOne('ic', 'id=?', array($this->session->userdata('user_ic'))); if ($tmp->master != 'yes') { if ($this->session->userdata('user_ic') != $id) { $this->session->set_flashdata('error', 'Você não tem autorização realizar esta ação neste Centro de Informação'); redirect('dashboard/ic'); exit; } } /* * If it's a master IC, can't be removed */ if ($g->master == "yes") { $this->session->set_flashdata('error', 'Não é possível remover o centro de informação principal.'); redirect('dashboard/ic'); exit; } $g->active = 'no'; R::store($g); /* * Generating and creating log */ $g->user; $aprex = json_encode($g->export()); parent::_createLog('remove_ic', '', $aprex); /* * Success message */ $this->session->set_flashdata('success', 'Centro de Informação removido com sucesso.'); redirect('dashboard/ic'); }
private function _changeRequestStatus($type, $request, $ic, $user, $extraFields = array()) { /* * Loading Libraries and Helpers */ $this->load->library(array('rb')); $this->load->helper(array('date')); /* * Creating Status */ $status = R::dispense('status'); $status->current = 'Y'; $status->createdAt = mdate('%Y-%m-%d %H:%i:%s'); $status->request = $request; $status->ic = $ic; $status->user = $user; // Adding extra fields for bean foreach ($extraFields as $key => $ef) { $status[$key] = $ef; } if ($type == 'request_created') { $status->type = 'request_created'; } elseif ($type == 'request_moved' || $type == 'request_replied' || $type == 'request_extended') { /* * Removing 'current' from previous statuses */ $statuses = R::find('status', ' request_id = ? AND current="Y" ', array($request->id)); foreach ($statuses as $s) { $s->current = 'N'; R::store($s); } if ($type == 'request_moved') { $status->type = 'request_moved'; } elseif ($type == 'request_replied') { $status->type = 'request_replied'; } elseif ($type == 'request_extended') { $status->type = 'request_extended'; } } else { return false; } R::store($status); /* * Generating and creating log */ $status->ic; $status->request; $status->user; $aprex = json_encode($status->export()); parent::_createLog('new_status_request', '', $aprex); /* * Send email */ if ($status->type != 'request_created') { $msg = '<h1>A sua solicitação ' . $status->request->protocol . ' teve o status alterado</h1>'; $msg .= '<p> <b>Descrição: </b> ' . status_text($status->type) . ' </p>'; if ($status->type == 'request_moved') { $msg .= '<p> A solicitação foi redirecionada para ' . $status->ic->name . ' por meio da seguinte justificativa: ' . $status->response . ' </p>'; /* * Email for Responsible User of Information Center */ /*parent::_sendEmail( $status->request->userEmail, 'Solicitação - Novo Status', $msg );*/ } elseif ($status->type == 'request_replied') { $msg .= '<p> A sua solicitação foi respondida.</p>'; $msg .= '<p> <b>Resposta:</b> ' . $status->response . '</p>'; if ($status->attach1 != null || $status->attach2 != null || $status->attach3 != null) { $msg .= '<p>Também foram adicionados anexos, complementando a resposta. </p>'; } } elseif ($status->type == 'request_extended') { $msg .= '<p>O prazo da solicitação foi extendido em ' . $this->config->item('deadline_extend') . ' dias pela seguinte justificativa: ' . $status->response . '</p>'; } parent::_sendEmail($status->request->userEmail, 'Solicitação - Novo Status', $msg); } return true; }
public function removeDo() { /* * Loading libraries and helpers */ $this->load->library(array('rb', 'form_validation', 'session')); /* * User is logged ? */ if (!parent::_isLogged()) { redirect('dashboard'); exit; } /* * Getting post data */ $id = $this->input->post('id'); /* * Setting form validation rules */ $this->form_validation->set_rules('id', 'ID', 'required'); /* * Normally, user wiil never see what makes this true, just for security issues */ if (!$this->form_validation->run()) { echo "Você não preencheu os campos corretamente.<br>"; echo validation_errors(); exit; } /* * User has auth to do this? */ if (!parent::_hasAuth('remove_user', $this->session->userdata('user_ic'))) { $this->session->set_flashdata('error', 'Você não tem permissão para realizar este procedimento.'); redirect('dashboard/user'); exit; } /* * Loading User */ $user = R::findOne('user', 'id=? AND active!="no" ', array($id)); /* * Verifying if User exists */ if ($user == NULL) { $this->session->set_flashdata('error', 'O usuário solicitado para exclusão não existe.'); redirect('dashboard/user'); exit; } /* * Removing User */ $user->active = 'no'; R::store($user); /* * Generating and creating log */ $user->sharedAuthList; $aprex = json_encode($user->export()); parent::_createLog('remove_user', '', $aprex); /* * Verifying if User exists */ $this->session->set_flashdata('success', 'O usuário foi removido com sucesso.'); redirect('dashboard/user'); }
public function removeDo() { /* * Loading libraries and helpers */ $this->load->library(array('rb', 'form_validation', 'session')); /* * Getting post variables */ $id = $this->input->post('id'); /* * Validation rules */ $this->form_validation->set_rules('id', 'ID', 'required'); /* * Normally, user wiil never see what makes this true, just for security issues */ if (!$this->form_validation->run()) { echo "Você não preencheu os campos corretamente.<br>"; echo validation_errors(); exit; } /* * User has auth to do this? */ if (!parent::_hasAuth('remove_group', $this->session->userdata('user_ic'))) { echo "Você não tem permissão para realizar este procedimento."; exit; } /* * Retrieving group */ $g = R::findOne('group', 'id=? AND active!="no" ', array($id)); /* * Verifying if group exists */ if ($g == NULL) { $this->session->set_flashdata('error', 'O grupo solicitado para remoção não existe.'); redirect('dashboard/group'); } /* * Removing group */ $g->active = 'no'; R::store($g); /* * Generating and creating log */ $attch = R::exportAll($g->sharedAuthList); $aprex = json_encode($g->export()); parent::_createLog('remove_group', '', $aprex); /* * Success message */ $this->session->set_flashdata('success', 'Grupo removido com sucesso.'); redirect('dashboard/group'); }