/**
  * 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);
 }