/**
  * some modifiers can be hidden after an ajax update (e.g. if someone enters a discount coupon and it does not exist).
  * There might be instances where ShowInTable (the starting point) is TRUE and HideInAjaxUpdate return false.
  *@return Boolean
  **/
 public function HideInAjaxUpdate()
 {
     if (parent::HideInAjaxUpdate()) {
         return true;
     }
     if ($this->OrderFor) {
         return false;
     }
     return true;
 }
 /**
  * some modifiers can be hidden after an ajax update (e.g. if someone enters a discount coupon and it does not exist).
  * There might be instances where ShowInTable (the starting point) is TRUE and HideInAjaxUpdate return false.
  * @return Boolean
  **/
 public function HideInAjaxUpdate()
 {
     //we check if the parent wants to hide it...
     //we need to do this first in case it is being removed.
     if (parent::HideInAjaxUpdate()) {
         return true;
     }
     // we do NOT hide it if values have been entered
     if ($this->CouponCodeEntered) {
         return false;
     }
     return true;
 }
 /**
  * some modifiers can be hidden after an ajax update (e.g. if someone enters a discount coupon and it does not exist).
  * There might be instances where ShowInTable (the starting point) is TRUE and HideInAjaxUpdate return false.
  *@return Boolean
  **/
 public function HideInAjaxUpdate()
 {
     //we check if the parent wants to hide it...
     //we need to do this first in case it is being removed.
     if (parent::HideInAjaxUpdate()) {
         return true;
     }
     // we do NOT hide it if values have been entered
     if ($this->hasDonation() || $this->ShowFormInEditableOrderTable()) {
         return false;
     }
     return true;
 }