Exemple #1
0
 public static function prepareData(Order $order)
 {
     $result = array("USER_ID" => $order->getUserId(), "PERSON_TYPE_ID" => $order->getPersonTypeId(), "BUYER_USER_NAME" => OrderEdit::getUserName($order->getUserId()), "USER_DESCRIPTION" => $order->getField("USER_DESCRIPTION"));
     return $result;
 }
Exemple #2
0
 protected function getDemandedFields(array $demandedFields, array $incomingFields, \Bitrix\Sale\Order $order = null)
 {
     $result = array();
     $userId = isset($incomingFields["USER_ID"]) && intval($incomingFields["USER_ID"]) > 0 ? intval($incomingFields["USER_ID"]) : 0;
     $currency = isset($incomingFields["CURRENCY"]) ? trim($incomingFields["CURRENCY"]) : "";
     $personTypeId = isset($incomingFields['PERSON_TYPE_ID']) ? intval($incomingFields['PERSON_TYPE_ID']) : 0;
     $orderId = isset($incomingFields["ID"]) ? intval($incomingFields["ID"]) : 0;
     if ($order === null && intval($orderId) > 0) {
         $order = \Bitrix\Sale\Order::load($orderId);
     }
     foreach ($demandedFields as $demandedField) {
         switch ($demandedField) {
             case "BUYER_USER_NAME":
                 $result["BUYER_USER_NAME"] = intval($userId) > 0 ? \Bitrix\Sale\Helpers\Admin\OrderEdit::getUserName(intval($userId)) : "";
                 break;
             case "PROPERTIES":
                 $profileId = isset($incomingFields["BUYER_PROFILE_ID"]) ? intval($incomingFields["BUYER_PROFILE_ID"]) : 0;
                 $result["PROPERTIES"] = \Bitrix\Sale\Helpers\Admin\Blocks\OrderBuyer::getProfileParams($userId, $profileId);
                 break;
             case "BUYER_PROFILES_LIST":
                 if (intval($personTypeId) <= 0) {
                     throw new \Bitrix\Main\ArgumentNullException("personTypeId");
                 }
                 $result["BUYER_PROFILES_LIST"] = \Bitrix\Sale\Helpers\Admin\Blocks\OrderBuyer::getBuyerProfilesList($userId, $personTypeId);
                 break;
             case "BUYER_PROFILES_DATA":
                 $result["BUYER_PROFILES_DATA"] = \Bitrix\Sale\Helpers\Admin\Blocks\OrderBuyer::getUserProfiles($userId);
                 break;
             case "BUYER_BUDGET":
                 $res = \CSaleUserAccount::getList(array(), array('USER_ID' => $userId, 'CURRENCY' => $currency, 'LOCKED' => 'N'), false, false, array('CURRENT_BUDGET'));
                 if ($userAccount = $res->Fetch()) {
                     $result["BUYER_BUDGET"] = $userAccount['CURRENT_BUDGET'];
                 } else {
                     $result["BUYER_BUDGET"] = 0;
                 }
                 break;
             case "PROPERTIES_ARRAY":
                 if (!$order) {
                     throw new \Bitrix\Main\SystemException("Can't init order");
                 }
                 if (intval($personTypeId) <= 0) {
                     throw new \Bitrix\Main\ArgumentNullException("personTypeId");
                 }
                 $order->setPersonTypeId($personTypeId);
                 $result["PROPERTIES_ARRAY"] = $order->getPropertyCollection()->getArray();
                 break;
             case "PRODUCT":
                 $result["PRODUCT"] = array();
                 break;
             case "COUPONS":
                 if (!$userId) {
                     throw new \Bitrix\Main\ArgumentNullException("userId");
                 }
                 $result["COUPONS"] = Admin\OrderEdit::getCouponsData();
                 break;
             case "COUPONS_LIST":
                 $result["COUPONS_LIST"] = Admin\OrderEdit::getCouponList($order);
                 break;
             default:
                 throw new \Bitrix\Main\SystemException("Field: \"" . $demandedField . "\" is unknown!");
         }
     }
     return $result;
 }
Exemple #3
0
 public static function prepareData(Order $order)
 {
     if (\CBXFeatures::IsFeatureEnabled('SaleAccounts')) {
         $strBuyerProfileUrl = '/bitrix/admin/sale_buyers_profile.php?USER_ID=' . $order->getUserId() . '&lang=' . LANGUAGE_ID;
     } else {
         $strBuyerProfileUrl = '/bitrix/admin/user_edit.php?ID=' . $order->getUserId() . '&lang=' . LANGUAGE_ID;
     }
     $result = array("USER_ID" => $order->getUserId(), "PERSON_TYPE_ID" => $order->getPersonTypeId(), "BUYER_USER_NAME" => OrderEdit::getUserName($order->getUserId()), "USER_DESCRIPTION" => $order->getField("USER_DESCRIPTION"), "BUYER_URL" => $strBuyerProfileUrl);
     return $result;
 }