Git Product home page Git Product logo

3rd-party-integrations-magento-m2's People

Contributors

eghanin avatar guyhanin avatar kirankensium avatar laurent35240 avatar ranaprathapm-kensium avatar romastepa avatar sumitvkensium avatar szeist avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

3rd-party-integrations-magento-m2's Issues

undefined $emarsysApiEventID

When emarsys transactional email is disabled, this file throws an error.

Emarsys/Emarsys/Model/SendEmail.php line 325-328

$emarsysEventCollection = $this->emarsyseventsFactory->create()->getCollection() ->addFieldToFilter('store_id', ['eq' => $storeId]) ->addFieldToFilter('event_id', ['eq' => $emarsysApiEventID]);

because $emarsysApiEventID is undefined. It is happening when placing an order.

Cannot enter /admin/ when module is enabled (Magento 2.2.3 w. DI not compiled)

Expected behaviour

Emarsys module should not cause any side effect whether DI is compiled or not.

Current behaviour

When DI is compiled application works as expected.
When DI is not compiled we cannot access the Admin panel

Screenshots

zrzut ekranu z 2018-03-07 00-48-00

Debug

  1. Disabled all modules one - by - one, removed /generated/ dir each time, trying to log in to admin panel
  2. Disabling Emarsys helped - Enabled Emarsys again and disabled DI one - by - one.
  3. Disabling one of DI helped <preference for="\Magento\Framework\Mail\Template\TransportBuilder" type="Emarsys\Emarsys\Model\Template\TransportBuilder"/>

Redirect after performing an action to default store home page

Describe the bug
image
Click on "Update Schema" and "Recommend Mapping" causes redirect to home page, but the action is performed properly before redirect.

To Reproduce
Steps to reproduce the behavior:

  1. Administrator Panel is on separate domain
    image
  2. Enter Emarsys / Mapping / Event ( /admin/emarsys_emarsys/mapping_event/index/store/1 )
  3. Click on "Update schema" or "Recommended mapping"
  4. You are redirected to the landing page of default store.

Expected behavior

  1. Requested action (eg. Schema update) should be performed
  2. Browser should be redirected to the Event Mapping listing

Additional context
Please notice that action is performed properly, the redirect happens after performing an action.
This issue is strictly related with \Emarsys\Emarsys\Controller\Adminhtml\Mapping\Event\SaveSchema , execute() method, when at the end we have redirect return $resultRedirect->setRefererOrBaseUrl(); This specific redirect uses \Magento\Store\App\Response\Redirect method _isUrlInternal($url), which tries to determine whether manage.fancy.page is correct domain for redirect (internal domain), but according to the fact, that $this->_storeManager->getStore() returns 1 (the one provided in URL) instead of 0 (which is admin panel).

Finally, redirection stack checks if /admin/emarsys_emarsys/mapping_event/index/store/1 is the right place to redirect after performing an action, but for store 1. As this path is not allowed for default store (not admin), you just get redirect to startup page using $this->urlBuilder->getStartupPageUrl() in \Magento\Backend\Model\View\Result\Redirect method setRefererOrBaseUrl()

Magento transaction emails do not work even if Emarsys transaction emails switched off

If you do not use Emarsys Transaction Emails, please use this patch

Index: etc/di.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- etc/di.xml	(revision c4c1567c1a61a205ab50ed6a29421c93128d3e84)
+++ etc/di.xml	(date 1526308425000)
@@ -25,12 +25,12 @@
             </argument>
         </arguments>
     </type>
-    <preference for="\Magento\Framework\Mail\TransportInterface" type="Emarsys\Emarsys\Model\Transport"/>
+    <!--preference for="\Magento\Framework\Mail\TransportInterface" type="Emarsys\Emarsys\Model\Transport"/>
     <preference for="\Magento\Framework\Mail\Message" type="Emarsys\Emarsys\Model\Message"/>
     <preference for="\Magento\Framework\Mail\Template\TransportBuilder"
                 type="Emarsys\Emarsys\Model\Template\TransportBuilder"/>
     <preference for="\Magento\Email\Model\Template\Filter"
                 type="Emarsys\Emarsys\Model\Template\Filter"/>
-    <preference for="Magento\Email\Model\Template" type="Emarsys\Emarsys\Model\Template"/>
+    <preference for="Magento\Email\Model\Template" type="Emarsys\Emarsys\Model\Template"/-->
     <preference for="Magento\Newsletter\Model\Subscriber" type="Emarsys\Emarsys\Model\Subscriber"/>
 </config>

WebRecommender error when using Ajax

We've detected that when using Ajax ( in order to avoid caching of our Web-Behaviour- webextend scripts as well as the Web Recommender) the Web Recommender could not identify the right page path.

Here is a fix for it ( under testing )
fbd2148

Extenstion not working in magento2.2.5 throwing error on di compile

emarsys extension not working in magneto2.2.5

Preconditions
Magento version 2.2.5
php 7.0.29
mysqli mysqlnd 5.0.12

Steps to reproduce
just download folder from git repository

Expected result
it will installed successfullt

Actual result
throw error on setup:di:compile
BPHP Fatal error: Cannot use Magento\Sales\Model\Order as Order because the name is already in use in D:\Projects\xampp\htdocs\m2slideteam\vendor\temando\module-shipping-m2\Model\OrderI
nterfaceBuilder.php on line 12

Fatal error: Cannot use Magento\Sales\Model\Order as Order because the name is already in use in D:\Projects\xampp\htdocs\m2slideteam\vendor\temando\module-shipping-m2\Model\OrderInterfaceBuilder.php on line 12

infinite loop on subcriber save event

Hi,

We experienced an infinite loop on subcriber save event. This affected checkout place order.
I debugged the code and this is what I found.

There is an event on etc/events.xml

    <event name="newsletter_subscriber_save_after">
        <observer name="emarsys_newsletter_subscribers" instance="Emarsys\Emarsys\Observer\RealTimeSubscriber" />
    </event>

on RealtimeSubscriber.php line 115-116

            $this->dataHelper->realtimeTimeBasedOptinSync($subscriber);
            $result = $this->subscriberModel->syncSubscriber(
                $subscriberId,
                $storeId,
                $frontendFlag,
                $pageHandle,
                $websiteId,
                0,
                $subscriberEmailChangeFlag
            );

it never goes to $result = $this->subscriberModel->syncSubscriber() and looping inside realtimeTimeBasedOptinSync() if newsletter_subscriber.change_status_at IS NULL.
I am not sure why some of our customers have this field NULL and subcriber_status = 1.

from inside of realtimeTimeBasedOptinSync() in file Emarsys\Emarsys\Helper\Data.php:

            $response = $this->modelApi->get('contact/last_change', $payload);

returns a value inside $response['data']['time'] and has $response['data']['current_value'] value that is not the same as $subscriber->getSubscriberStatus();
causing this line:

 if ((($EmarsysOptinChangeTime == $magentoOptinChangeTime && self::OPTIN_PRIORITY =='Emarsys') || ($EmarsysOptinChangeTime >= $magentoOptinChangeTime)) && $emarsysOptinValue != $magentoOptinValue) {

to returns true and causes the loop (because of the observer explained above)

$subscriber->setSubscriberStatus($statusToBeChanged)
                        ->setEmarsysNoExport(true)
                        ->save();

For some reason, I am not sure why some our customer's magento values have
change_status_at = null and subscriber_status =(different than API response)
maybe some records went out of sync due to they were edited from other extension or edited directly.
whatever the case, this should not cause infinite loop.

As of now, we are turning off real time synchronization .

Thanks.

suggested Address doesn't work on Payment step

In payment step in Verify Your Address section suggested address not showing ,giving error as We were unable to validate your address.

image

After disable emarsys extension its working correcltly.

image

From app/code/Emarsys/Emarsys/view/frontend/requirejs-config.js file is overriding
app/code/Emarsys/Emarsys/view/frontend/web/js/model/shipping-save-processor/default.js

its already used mixin in Avatax Module in vendor/classyllama/module-avatax/view/frontend/requirejs-config.js and again overrided by Emarsys Magento_Checkout/js/model/shipping-save-processor/default.

I tested with replacing Magento_Checkout/js/model/shipping-save-processor/default in Avatax mixing to Emarsys_Emarsys/js/model/shipping-save-processor/default then its working fine.

Can anyone please suggest on this?

Cart command is not triggered on empty cart.

Please edit the file at following path:

Magento_root_dir/app/code/Emarsys/Emarsys/view/frontend/templates/emarsys/javascripttracking.phtml

    Replace the following code from line number 22 to 24:

    <?php if ($cartData = $block->getCartItemsJsonData()): ?>
        <script>ScarabQueue.push(["cart", [<?php echo $cartData; ?>]]);</script>
    <?php endif; ?>

    with:

    <script>ScarabQueue.push(["cart", [<?php echo $block->getCartItemsJsonData() ?>]]);</script>

Email subjects containing special characters are not decoded

Email subjects containing special characters are not decoded.

In case you try to share wishlist you'll be able to see the following email subject:
"Take a look at John Doe's Wish List"

The problem is in app/code/Emarsys/Emarsys/Model/Template/TransportBuilder.php class which doesn't decode special characters in email subjects.

The solution is to replace all occurrences of
->setSubject($template->getSubject())
with
->setSubject(html_entity_decode($template->getSubject(), ENT_QUOTES))

Duplicates in emarasys, eventhough email is selected as a key.

Issue description:
In some cases. the plugin will use a combined key ( email#site#store), even though email was selected as a key.
The impact is that multiple recipient will be created with the same email address.

This patch fixes the inconsistency of using Email as a key.
How to patch:

  1. copy the attached .patch file to app/code/Emarsys/Emarsys.
  2. unzip the file
  3. using your command line type : git apply customers_subscribers_bugfixes_from_113_to_112.patch
    File:
    customers_subscribers_bugfixes_from_113_to_112.patch.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.