Ejemplo n.º 1
0
 /**
  * Function to delete membership Types 
  * 
  * @param int $membershipStatusId
  * @static
  */
 static function del($membershipStatusId)
 {
     //check dependencies
     //checking if any membership status is present in some other table
     $check = false;
     $dependancy = array('Membership', 'MembershipLog');
     foreach ($dependancy as $name) {
         require_once str_replace('_', DIRECTORY_SEPARATOR, "CRM_Member_BAO_" . $name) . ".php";
         eval('$dao = new CRM_Member_BAO_' . $name . '();');
         $dao->status_id = $membershipStatusId;
         if ($dao->find(true)) {
             $check = true;
         }
     }
     if ($check) {
         $session = CRM_Core_Session::singleton();
         CRM_Core_Session::setStatus(ts('This membership status cannot be deleted'));
         return CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/admin/member/membershipStatus', "reset=1"));
     }
     //delete from membership Type table
     require_once 'CRM/Member/DAO/MembershipStatus.php';
     $membershipStatus = new CRM_Member_DAO_MembershipStatus();
     $membershipStatus->id = $membershipStatusId;
     $membershipStatus->delete();
     $membershipStatus->free();
 }
Ejemplo n.º 2
0
 /**
  * Delete membership Types.
  *
  * @param int $membershipStatusId
  *
  * @throws CRM_Core_Exception
  */
 public static function del($membershipStatusId)
 {
     //check dependencies
     //checking if membership status is present in some other table
     $check = FALSE;
     $dependency = array('Membership', 'MembershipLog');
     foreach ($dependency as $name) {
         $baoString = 'CRM_Member_BAO_' . $name;
         $dao = new $baoString();
         $dao->status_id = $membershipStatusId;
         if ($dao->find(TRUE)) {
             throw new CRM_Core_Exception(ts('This membership status cannot be deleted as memberships exist with this status'));
         }
     }
     CRM_Utils_Weight::delWeight('CRM_Member_DAO_MembershipStatus', $membershipStatusId);
     //delete from membership Type table
     $membershipStatus = new CRM_Member_DAO_MembershipStatus();
     $membershipStatus->id = $membershipStatusId;
     $membershipStatus->delete();
     $membershipStatus->free();
 }
 /**
  * Function to delete membership Types
  *
  * @param int $membershipStatusId
  * @param
  * @static
  */
 static function del($membershipStatusId, $skipRedirect = FALSE)
 {
     //check dependencies
     //checking if membership status is present in some other table
     $check = FALSE;
     $dependancy = array('Membership', 'MembershipLog');
     foreach ($dependancy as $name) {
         require_once str_replace('_', DIRECTORY_SEPARATOR, "CRM_Member_BAO_" . $name) . ".php";
         eval('$dao = new CRM_Member_BAO_' . $name . '();');
         $dao->status_id = $membershipStatusId;
         if ($dao->find(TRUE)) {
             $check = TRUE;
         }
     }
     if ($check) {
         if (!$skipRedirect) {
             $session = CRM_Core_Session::singleton();
             CRM_Core_Session::setStatus(ts('This membership status cannot be deleted'));
             return CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/admin/member/membershipStatus', "reset=1"));
         }
         // Return the error message to the api
         $error = array();
         $error['is_error'] = 1;
         //don't translate as api error message are not translated
         $error['error_message'] = 'The membership status cannot be deleted as memberships of this status exist';
         return $error;
     }
     //delete from membership Type table
     $membershipStatus = new CRM_Member_DAO_MembershipStatus();
     $membershipStatus->id = $membershipStatusId;
     $membershipStatus->delete();
     $membershipStatus->free();
 }