Order Status error and no notification email

  • Posts: 201
  • Thank you received: 13
  • Hikashop Business
1 week 16 hours ago #366710

-- HikaShop version -- : 5.1.5
-- Joomla version -- : 5.3.0
-- PHP version -- : 8.2.28
-- Browser(s) name and version -- : Firefox 137.0.2 (aarch64
-- Error-message(debug-mod must be tuned on) -- : Call to undefined method
Joomla\CMS\Application\AdministratorApplication::isAdmin()

The Order status notification email is not sending when a customer completes payment. We also noticed that manually changing an order status on the backend to either Created or Confirmed generates the following error and call stack. We believe the two issues are related. We've eliminated all View and Email overrides in our testing and cleared cache, however, the error and missing email persists.

0 Call to undefined method Joomla\CMS\Application\AdministratorApplication::isAdmin()

Call Stack
# Function Location
1 () JROOT/media/com_hikashop/mail/order_status_notification.created.preload.php:60
2 include() JROOT/administrator/components/com_hikashop/classes/mail.php:362
3 hikashopMailClass->loadEmail() JROOT/administrator/components/com_hikashop/classes/mail.php:31
4 hikashopMailClass->get() JROOT/administrator/components/com_hikashop/classes/order.php:2089
5 hikashopOrderClass->loadOrderNotification() JROOT/administrator/components/com_hikashop/views/order/view.html.php:494
6 OrderViewOrder->changestatus() JROOT/administrator/components/com_hikashop/views/order/view.html.php:28
7 OrderViewOrder->display() JROOT/libraries/src/MVC/Controller/BaseController.php:697
8 Joomla\CMS\MVC\Controller\BaseController->display() JROOT/administrator/components/com_hikashop/helpers/helper.php:2601
9 hikashopController->display() JROOT/administrator/components/com_hikashop/controllers/order.php:179
10 OrderController->changestatus() JROOT/libraries/src/MVC/Controller/BaseController.php:730
11 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT/administrator/components/com_hikashop/helpers/helper.php:2579
12 hikashopController->execute() JROOT/administrator/components/com_hikashop/hikashop.php:73
13 require_once() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
14 Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:73
15 Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch() JROOT/libraries/src/Component/ComponentHelper.php:361
16 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT/libraries/src/Application/AdministratorApplication.php:150
17 Joomla\CMS\Application\AdministratorApplication->dispatch() JROOT/libraries/src/Application/AdministratorApplication.php:205
18 Joomla\CMS\Application\AdministratorApplication->doExecute() JROOT/libraries/src/Application/CMSApplication.php:304
19 Joomla\CMS\Application\CMSApplication->execute() JROOT/administrator/includes/app.php:58
20 require_once() JROOT/administrator/index.php:32


3by400, Inc.
3by400.com
Websites that Work, Marketing that Matters

Please Log in or Create an account to join the conversation.

  • Posts: 83605
  • Thank you received: 13538
  • MODERATOR
1 week 13 hours ago #366712

Hi,

The error message indicates that there is a line of code with "isAdmin()" in the file media/com_hikashop/mail/order_status_notification.created.preload.php
This file is a "per status override" of the "preload" of the "order status notification" email that you have created for the "created" order status. This is not a default file of HikaShop. It is an email override file. So if you've eliminated it, as you said you did, you cannot possibly get this error message.

You must have created it in the past based on a really old version of the preload of this email.
Since then, we've changed the code so that no "isAdmin" is in the preload of that email to be compatible with newer versions of Joomla.
However, since you didn't update your view override, it still is based on the old code which isn't compatible with Joomla 5, hence the error.
The simplest is to rename the file media/com_hikashop/mail/order_status_notification.created.preload.php to something else via FTP.
This way, you'll use again the default preload of HikaShop, which doesn't have the isAdmin code.
However, you'll loose you're customization of the preload. So, you'll likely have to redo it via the interface in System>Emails.

Please Log in or Create an account to join the conversation.

  • Posts: 201
  • Thank you received: 13
  • Hikashop Business
1 week 13 hours ago #366719

We made the determination that no customization exists any longer based on the absence of that designation in the Hikashop backend. Screenshot attached. Perhaps a customization exists that isn't being reported by Hikashop. We will verify.


3by400, Inc.
3by400.com
Websites that Work, Marketing that Matters
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 201
  • Thank you received: 13
  • Hikashop Business
1 week 13 hours ago #366720

We found 4 customization files, although, there was no indication in Hikashop that customization still existed. Maybe the age of the files or maybe a bug?


3by400, Inc.
3by400.com
Websites that Work, Marketing that Matters
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 83605
  • Thank you received: 13538
  • MODERATOR
1 week 2 hours ago #366721

Hi,

The "per status override" are special overrides since they are only for the "order status notification" email and you can potentially have many of them (one per order status). I didn't find a suitable way to display them in the interface when adding that capability.

Please Log in or Create an account to join the conversation.

Time to create page: 0.100 seconds
Powered by Kunena Forum