/** * Delete employee memberships * * @param int $empNumber Employee number * * @return boolean true if successfully deleted, false otherwise */ public function execute($request) { $empNumber = $request->getParameter('empNumber', false); $this->form = new EmployeeMembershipsDeleteForm(array(), array('empNumber' => $empNumber), true); $this->form->bind($request->getParameter($this->form->getName())); $membershipPermissions = $this->getDataGroupPermissions('membership', $empNumber); if ($membershipPermissions->canDelete()) { if ($this->form->isValid()) { if (!$empNumber) { throw new PIMServiceException("No Employee ID given"); } $selectedRecordIds = $request->getParameter('chkmemdel', array()); if (count($selectedRecordIds) > 0) { $membershipDetails = $this->_getSelectedMembershipDetails($request->getParameter('chkmemdel', array())); $empNumber = $membershipDetails[0]; $membershipIds = $membershipDetails[1]; if (!empty($empNumber) && !empty($membershipIds)) { $service = new EmployeeService(); $service->deleteEmployeeMemberships($empNumber, $membershipIds); $this->getUser()->setFlash('memberships.success', __(TopLevelMessages::DELETE_SUCCESS)); } } } } $this->redirect('pim/viewMemberships?empNumber=' . $empNumber); }