1<?php 2 3/* 4 * To change this template, choose Tools | Templates 5 * and open the template in the editor. 6 */ 7 8/** 9 * Description of deleteProjectActivityAction 10 * 11 * @author orangehrm 12 */ 13class deleteProjectActivityAction extends baseAdminAction { 14 15 private $projectService; 16 17 public function getProjectService() { 18 if (is_null($this->projectService)) { 19 $this->projectService = new ProjectService(); 20 $this->projectService->setProjectDao(new ProjectDao()); 21 } 22 return $this->projectService; 23 } 24 25 /** 26 * 27 * @param <type> $request 28 */ 29 public function execute($request) { 30 $toBeDeletedActivityIds = $request->getParameter('chkSelectRow'); 31 $projectId = $request->getParameter('projectId'); 32 $form = new DefaultListForm(); 33 $form->bind($request->getParameter($form->getName())); 34 if ($form->isValid()) { 35 if (!empty($toBeDeletedActivityIds)) { 36 $delete = true; 37 foreach ($toBeDeletedActivityIds as $toBeDeletedActivityId) { 38 $deletable = $this->getProjectService()->hasActivityGotTimesheetItems($toBeDeletedActivityId); 39 if ($deletable) { 40 $delete = false; 41 break; 42 } 43 } 44 if ($delete) { 45 foreach ($toBeDeletedActivityIds as $toBeDeletedActivityId) { 46 47 $customer = $this->getProjectService()->deleteProjectActivities($toBeDeletedActivityId); 48 } 49 $this->getUser()->setFlash('success', __(TopLevelMessages::DELETE_SUCCESS)); 50 } else { 51 $this->getUser()->setFlash('error', __('Not Allowed to Delete Project Activites Which Have Time Logged Against')); 52 } 53 } 54 } else { 55 $this->handleBadRequest(); 56 $this->forwardToSecureAction(); 57 } 58 $this->redirect('admin/saveProject?projectId=' . $projectId . '#ProjectActivities'); 59 } 60 61} 62 63?> 64