Okay
  Public Ticket #2333159
Error when trying to create a service
Closed

Comments

  • Jonas pauthier started the conversation

    Hi!

    I want to buy this plugin for a project but when I try it I cannot create a service for my category. Whenever I try to create a service I get an HTTP 500 error from the server. 

    I'm using WP 5.3.2 with PHP 7.4 with apache in a Docker environment.

    Here is the content of the error:

    {
        "message": "Slim Application Error",
        "error": [
            {
                "type": "Error",
                "code": 0,
                "message": "Call to a member function getMessage() on bool",
                "file": "/var/www/html/wp-content/plugins/ameliabooking/src/Infrastructure/Repository/Bookable/Service/ServiceRepository.php",
                "line": 197,
                "trace": [
                    "#0 /var/www/html/wp-content/plugins/ameliabooking/src/Application/Commands/Bookable/Service/AddServiceCommandHandler.php(81): AmeliaBooking\Infrastructure\Repository\Bookable\Service\ServiceRepository->add(Object(AmeliaBooking\Domain\Entity\Bookable\Service\Service))",
                    "#1 /var/www/html/wp-content/plugins/ameliabooking/vendor/league/tactician/src/Handler/CommandHandlerMiddleware.php(71): AmeliaBooking\Application\Commands\Bookable\Service\AddServiceCommandHandler->handle(Object(AmeliaBooking\Application\Commands\Bookable\Service\AddServiceCommand))",
                    "#2 /var/www/html/wp-content/plugins/ameliabooking/vendor/league/tactician/src/CommandBus.php(62): League\Tactician\Handler\CommandHandlerMiddleware->execute(Object(AmeliaBooking\Application\Commands\Bookable\Service\AddServiceCommand), Object(Closure))",
                    "#3 /var/www/html/wp-content/plugins/ameliabooking/vendor/league/tactician/src/Plugins/LockingMiddleware.php(36): League\Tactician\CommandBus->League\Tactician\{closure}(Object(AmeliaBooking\Application\Commands\Bookable\Service\AddServiceCommand))",
                    "#4 /var/www/html/wp-content/plugins/ameliabooking/vendor/league/tactician/src/Plugins/LockingMiddleware.php(66): League\Tactician\Plugins\LockingMiddleware->League\Tactician\Plugins\{closure}()",
                    "#5 /var/www/html/wp-content/plugins/ameliabooking/vendor/league/tactician/src/Plugins/LockingMiddleware.php(45): League\Tactician\Plugins\LockingMiddleware->executeQueuedJobs()",
                    "#6 /var/www/html/wp-content/plugins/ameliabooking/vendor/league/tactician/src/CommandBus.php(62): League\Tactician\Plugins\LockingMiddleware->execute(Object(AmeliaBooking\Application\Commands\Bookable\Service\AddServiceCommand), Object(Closure))",
                    "#7 /var/www/html/wp-content/plugins/ameliabooking/vendor/league/tactician/src/CommandBus.php(42): League\Tactician\CommandBus->League\Tactician\{closure}(Object(AmeliaBooking\Application\Commands\Bookable\Service\AddServiceCommand))",
                    "#8 /var/www/html/wp-content/plugins/ameliabooking/src/Application/Controller/Controller.php(107): League\Tactician\CommandBus->handle(Object(AmeliaBooking\Application\Commands\Bookable\Service\AddServiceCommand))",
                    "#9 [internal function]: AmeliaBooking\Application\Controller\Controller->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Array)",
                    "#10 /var/www/html/wp-content/plugins/ameliabooking/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(41): call_user_func(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array)",
                    "#11 /var/www/html/wp-content/plugins/ameliabooking/vendor/slim/slim/Slim/Route.php(356): Slim\Handlers\Strategies\RequestResponse->__invoke(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array)",
                    "#12 /var/www/html/wp-content/plugins/ameliabooking/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\Route->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))",
                    "#13 /var/www/html/wp-content/plugins/ameliabooking/vendor/slim/slim/Slim/Route.php(334): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))",
                    "#14 /var/www/html/wp-content/plugins/ameliabooking/vendor/slim/slim/Slim/App.php(515): Slim\Route->run(Object(Slim\Http\Request), Object(Slim\Http\Response))",
                    "#15 /var/www/html/wp-content/plugins/ameliabooking/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))",
                    "#16 /var/www/html/wp-content/plugins/ameliabooking/vendor/slim/slim/Slim/App.php(405): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))",
                    "#17 /var/www/html/wp-content/plugins/ameliabooking/vendor/slim/slim/Slim/App.php(313): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response))",
                    "#18 /var/www/html/wp-content/plugins/ameliabooking/ameliabooking.php(155): Slim\App->run()",
                    "#19 /var/www/html/wp-includes/class-wp-hook.php(288): AmeliaBooking\Plugin::wpAmeliaApiCall('')",
                    "#20 /var/www/html/wp-includes/class-wp-hook.php(312): WP_Hook->apply_filters('', Array)",
                    "#21 /var/www/html/wp-includes/plugin.php(478): WP_Hook->do_action(Array)",
                    "#22 /var/www/html/wp-admin/admin-ajax.php(175): do_action('wp_ajax_wpameli...')",
                    "#23 {main}"
                ]
            }
        ]
    }

  • [deleted] replied

    Hi Jonas Pauthier,

    Thank you for your inquiry. Sorry to hear that you experience this problem.

    I suppose that you are trying our lite version. Please provide me a temporary WP-admin login for your site where this happens, so we could log in and take a look ‘from the inside’ as that’s the most efficient way to see and resolve the issue. We do not interfere with any data or anything else except for the plugin (in case that’s a production version of the site), and of course we do not provide login data to third party. You can write credentials here just check Private Reply so nobody can see them except us.

    Best regards.

  • Jonas pauthier replied

    Hi Isidora,

    Thanks for your answer. Yes I'm trying the lite version. I just tried on a pristine WP installation on our staging environment but it worked... This environment doesn't use Docker. 

    It seems that only my local environment which runs on Docker has the problem. Do you want the docker-compose.yml file in order to reproduce it on your end?

    Thanks for your help.

  • [deleted] replied

    Hi Jonas,

    Can you please send us the database with our tables? It seems that problem is there, it shouldn't be problem with Docker.

    Best regards.

  • Jonas pauthier replied

    Alright. But I cannot upload it through the form. It won't let met. Where should I send you the database export?

  • [deleted] replied

    Hi Jonas Pauthier,

    Sorry for my late reply, our working days are Monday to Friday from 10am to 6pm CET. You can send us the database on [email protected].

    Best regards.

  • Jonas pauthier replied

    Hi Isidora,

    Sure no big deal I figured your support was only during weekdays. I'll send that to you.

    Best regards,

  • Jonas pauthier replied

    I just sent it your way.

  • [deleted] replied

    Hi Jonas,

    Can you please tell me which version of our Lite plugin you have? We have release a new version 6 days ago, do you have that version?

  • Jonas pauthier replied

    I have Version 1.0.13 which I think is the latest version.

  • [deleted] replied

    Hi Jonas,

    Please find in the attachment, this will resolve the bug that you had. We have tried your database and everything is working on our side so everything should work from now.

    Best regards.

  • Jonas pauthier replied

    Hi Isidora,

    Thank you for the code. I just replaced the file "ServiceRepository.php" that you gave me and I have new error now on the POST request :  /wp-admin/admin-ajax.php?action=wpamelia_api&call=/services. The response I get is : { message: "Unable to add data in AmeliaBooking\Infrastructure\Repository\Bookable\Service\ServiceRepository" }. The service I tried to add is not created.

    Here is the data I tried to send with that request through the backoffice form : 

    {"id":0,"categoryId":1,"color":"#1788FB","description":"","duration":3600,"providers":[1],"extras":[],"maxCapacity":1,"minCapacity":1,"name":"Test","pictureFullPath":"","pictureThumbPath":"","price":10,"status":"visible","timeAfter":"","timeBefore":"","bringingAnyone":true,"show":true,"applyGlobally":false,"gallery":[],"aggregatedPrice":true,"settings":{"general":{"minimumTimeRequirementPriorToCanceling":null,"redirectUrlAfterAppointment":null},"payments":{"onSite":true,"wc":{"productId":""},"payPal":{"enabled":false},"stripe":{"enabled":false}}},"position":0}

    I enabled wp_debug_log feature and here is a warning which matches the time of my request : 

    [24-Mar-2020 09:16:06 UTC] PHP Warning:  mysqli_stmt::bind_param(): Undefined fieldtype a (parameter 19) in /var/www/html/wp-content/plugins/ameliabooking/src/Infrastructure/DB/MySQLi/Statement.php on line 102

    Let me know if I can provide more information.

  • [deleted] replied

    Hi Jonas,

    We have looked again in your database and you have all columns and tables that are needed but this error says that some column or table is missing, which is very strange. Our premium version defers from the Lite one so it is possible that you will not have any issue with premium version once you instal it. We have '15 days money back guarantee' so you can purchase our premium version and if you experience the same issue our premium support that works for premium version will try to resolve it by using your credentials and looking from the inside, if not you can ask for a refund in the first 15 days and we will approve it right away.

    Best regards.

  • Jonas pauthier replied

    Hi Isidora,

    Thanks for your message. Sorry for my delayed response I had other matter to attend to as well. I'm going to try your premium version and see how it goes. Should I submit another ticket in your ticket system if I have the same problem?

    Best regards,

    Jonas Pauthier.

  • [deleted] replied

    Hi Jonas Pauthier,

    Yes, once you purchase the plugin you will get access to our premium support so you can submit a ticket in Amelia section of this support platform (not in pre-purchase one) and our support managers will investigate further.

    Best regards.

  • Jonas pauthier replied

    Hi!

    I just installed your plugin after my purchase and my problem is gone. Thank you very much for your help. You can close the issue now. I don't know how I can do it myself.

    Have a great day.

    Best regards,

    Jonas.

  • [deleted] replied

    Hi Jonas,

    I am so happy to hear that! If you need any help with setting up the plugin do not hesitate to contact us, we will be more than glad to help. 

    Have a nice day.