Ejemplo n.º 1
0
 /**
  * Delete the order
  * @param int $id		Order ID.
  * @return Sale\Result
  * @throws \Bitrix\Main\ArgumentNullException
  */
 public static function delete($id)
 {
     $result = new Sale\Result();
     if (intval($id) <= 0) {
         $result->addError(new Sale\ResultError(Main\Localization\Loc::getMessage('SALE_COMPATIBLE_ORDER_ID_NOT_FOUND'), 'SALE_COMPATIBLE_ORDER_ID_NOT_FOUND'));
         return $result;
     }
     $r = Sale\Order::delete($id);
     if (!$r->isSuccess()) {
         $result->addErrors($r->getErrors());
     }
     return $result;
 }
Ejemplo n.º 2
0
 /**
  * Delete the order
  * @param int $id		Order ID.
  * @return Sale\Result
  * @throws \Bitrix\Main\ArgumentNullException
  */
 public static function delete($id)
 {
     $result = new Sale\Result();
     if (intval($id) <= 0) {
         $result->addError(new Sale\ResultError(Main\Localization\Loc::getMessage('SALE_COMPATIBLE_ORDER_ID_NOT_FOUND'), 'SALE_COMPATIBLE_ORDER_ID_NOT_FOUND'));
         return $result;
     }
     /** @var Sale\Order $order */
     if (!($order = Sale\Order::load($id))) {
         $result->addError(new Sale\ResultError(Loc::getMessage('SALE_ORDER_ENTITY_NOT_FOUND'), 'SALE_ORDER_ENTITY_NOT_FOUND'));
         return $result;
     }
     /** @var Sale\PaymentCollection $paymentCollection */
     if ($paymentCollection = $order->getPaymentCollection()) {
         /** @var Sale\Payment $payment */
         foreach ($paymentCollection as $payment) {
             if ($payment->isPaid()) {
                 $payment->setPaid('N');
             }
         }
         /** @var Sale\Result $r */
         $r = $order->save();
         if (!$r->isSuccess()) {
             return $r;
         }
     }
     /** @var Sale\Result $r */
     $r = Sale\Order::delete($id);
     if (!$r->isSuccess()) {
         $result->addErrors($r->getErrors());
     }
     return $result;
 }
Ejemplo n.º 3
0
     continue;
 }
 if (CSaleOrder::IsLocked($ID, $lockedBY, $dateLock) && $_REQUEST['action'] != "unlock") {
     $lAdmin->AddGroupError(str_replace("#DATE#", "{$dateLock}", str_replace("#ID#", "{$lockedBY}", Loc::getMessage("SOE_ORDER_LOCKED"))), $ID);
 } else {
     switch ($_REQUEST['action']) {
         case "delete":
             if (!($saleOrder = \Bitrix\Sale\Order::load($ID))) {
                 $lAdmin->AddGroupError(Loc::getMessage("SALE_DELETE_ERROR_CANT_FIND", array("#ID#" => $ID)));
                 break;
             }
             if (!CSaleOrder::CanUserDeleteOrder($ID, $arUserGroups, $intUserID)) {
                 $lAdmin->AddGroupError(Loc::getMessage("SO_NO_PERMS2DEL", array("#ID#" => $ID)), $ID);
                 break;
             }
             $res = \Bitrix\Sale\Order::delete($ID);
             if (!$res->isSuccess()) {
                 $lAdmin->AddGroupError(implode("<br>\n", $res->getErrorMessages()));
             }
             break;
         case "unlock":
             CSaleOrder::UnLock($ID);
             break;
         case "cancel":
             if (!CSaleOrder::CanUserCancelOrder($ID, $arUserGroups, $intUserID)) {
                 $lAdmin->AddGroupError(Loc::getMessage("SOA_PERMS_CANCEL_GROUP", array("#ID#" => $ID)), $ID);
                 break;
             }
             /** @var \Bitrix\Sale\Order $saleOrder */
             if (!($saleOrder = \Bitrix\Sale\Order::load($ID))) {
                 $lAdmin->AddGroupError(Loc::getMessage("SO_NO_ORDER", array("#ID#" => $ID)), $ID);