public function executeEdit() { $group_id = $this->getContext()->getUser()->getAttribute('group_id', null, 'bo'); $usertype = $this->getContext()->getUser()->getAttribute('usertype', null, 'bo'); $jobtemplate = $this->getContext()->getUser()->getAttribute('job_template_id', null, 'bo'); if ($jobtemplate == 1) { $c = new Criteria(); $c->add(JobPeer::CODE, $this->getModuleName()); $job = JobPeer::doSelectOne($c); $acl = AclPeer::retrieveByPK($group_id, $job->getId()); if (!$acl) { $this->forward('default', 'error404'); } $this->can_add = $acl->getAddPriv() == 1; $this->can_edit = $acl->getEditPriv() == 1; $this->can_remove = $acl->getRemovePriv() == 1; $byEmployee = false; } else { $c = new Criteria(); $c->add(JobPeer::CODE, 'employee_absence_l'); $job = JobPeer::doSelectOne($c); $acl = AclPeer::retrieveByPK($group_id, $job->getId()); if (!$acl) { $this->forward('default', 'error404'); } $this->can_add = $acl->getAddPriv() == 1; $this->can_edit = $acl->getEditPriv() == 1; $this->can_remove = $acl->getRemovePriv() == 1; $byEmployee = true; } #$employee_absence = EmployeeAbsencePeer::retrieveByPk($this->getRequestParameter('id')); #$this->forward404Unless($employee_absence); $cw = new Criteria(); $cw->add(EmployeeAbsencePeer::ID, $this->getRequestParameter('id')); $employee_absence = EmployeeAbsencePeer::doSelectOne($cw); $actions = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value"))); if ($acl->getRemovePriv()) { array_push($actions, array('name' => 'delete', 'url' => 'employee_absence/delete?id=' . $employee_absence->getId(), 'color' => 'red')); } array_push($actions, array('name' => 'cancel', 'url' => 'employee_absence/list?employee_id=' . $employee_absence->getEmployeeId(), 'color' => 'white')); $this->subtitle = $employee_absence->toString() . ' - id:' . $employee_absence->getId(); $this->type = 'edit'; $this->employee_absence = $employee_absence; $this->actions = $actions; $employee = $employee_absence->getEmployee(); if ($byEmployee == false) { $actions2 = array(array('name' => '<span>Catatan Kepegawaian</span>', 'url' => 'employee_list/list', 'color' => 'sky')); array_push($actions2, array('name' => '<span>Mutasi Jabatan</span>', 'url' => 'employee_job_history/list?employee_id=' . $employee->getId(), 'color' => 'sky')); array_push($actions2, array('name' => '<span>Absensi Pegawai</span>', 'url' => 'employee_absence/list?employee_id=' . $employee->getId(), 'color' => 'sun', 'type' => 'direct')); array_push($actions2, array('name' => '<span>Administrasi Cuti</span>', 'url' => 'employee_leave/list?employee_id=' . $employee->getId(), 'color' => 'sky')); array_push($actions2, array('name' => '<span>Administrasi Izin</span>', 'url' => 'employee_permit/list?employee_id=' . $employee->getId(), 'color' => 'sky')); array_push($actions2, array('name' => '<span>Administrasi Pengobatan</span>', 'url' => 'employee_medical/list?employee_id=' . $employee->getId(), 'color' => 'sky')); array_push($actions2, array('name' => '<span>Gaji Pegawai</span>', 'url' => 'employee_salary/list?employee_id=' . $employee->getId(), 'color' => 'sky')); $this->actions2 = $actions2; } $this->byEmployee = $byEmployee; }