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