Andras

Forum Replies Created

Viewing 5 posts - 16 through 20 (of 20 total)
  • Author
    Posts
  • Andras
    Participant

    I posted a solution at 23rd of Februari in this thread: https://theeventscalendar.com/support/forums/topic/custom-field-values-for-attendees-not-saved-to-cart/

    But here is a copy of the text, including clarifications on where it is located in the code.

    While checking for this, I found another issue in the generate_tickets() function for WooCommerce tickets. When using a payment plugin (DIBS for WooCommerce in this case) to make a payment, the generate_ticket() generates tickets with an incorrect user_id meta value of 0 (the tribe_wooticket post also has a post_author of 0), and as a result, the user cannot see his/her tickets on the order_tickets page (which is based on a user_id filter to get all orders/attendees).

    I seems that when some callbacks are received from payment gateways there is no current/logged-in user, hence the value 0. In class Tribe__Tickets_Plus__Commerce__WooCommerce__Main method generate_tickets() function on row 645 the call

    $this->record_attendee_user_id($attendee_id)

    will get the current logged-in user (=0) and set user_id for each ticket to this value. I changed this call to

    $this->record_attendee_user_id($attendee_id, $order->customer_user)

    to always connect the attendee/ticket to the order purchaser user. This should be logical and seems to work correctly. The logged-in user can now see all his/her tickets.

    Andras
    Participant

    The user is logged-in as a normal user at the time of purchase.

    We have reported this issue before, including a proposed bug fix. With the code change, the issue seems to be corrected.

    We have enabled automatic sharing of our system information as per your request.

    in reply to: Attendee data not stored when using woocommerce #1257164
    Andras
    Participant

    Yes, when we found this solution and reported it to you. We had no solution at the time from you to confirm.

    in reply to: Attendee data not stored when using woocommerce #1255858
    Andras
    Participant

    Hi,

    I have this same problem also with Event Ticket Pro and attendee data and found the solution, among other bugs, you describe above. I posted this on February 23th (before this thread was even created) here.

    https://theeventscalendar.com/support/forums/topic/custom-field-values-for-attendees-not-saved-to-cart/

    I didn’t hear from your for a week after that. Since then there have been TWO release cycles, and NO mention of this anywhere in the release notes (not what I could find).

    Do you listen to your PAYING customers? This gives you a bad name handling support errands and serious bugs like this. It has caused us many problems and we have used many hours to try to handle this. I urge you to do the same.

    in reply to: Custom field values for attendees not saved to cart #1244695
    Andras
    Participant

    Szia András!

    Nice to see your answer in Hungarian! I think it´s better to use English so all others reading this may also understand. Also, I would have a hard time trying to describe the following in Hungarian.

    So, I investigated the issue with missing attendee information with WooCommerce-based tickets, and found that this seems to be dependent on the general setting for when to generate tickets. When enabled for the “immediate” or “pending” order statuses, the meta key “_tribe_tickets_meta” is not saved at all for the order (including attendee fields) after payment is made, and as a result, not to the tickets either (when created in Tribe__Tickets_Plus__Commerce__WooCommerce__Main::generate_tickets()).

    When tickets are generated from the “processing”, “on-hold” or “completed” statuses, the custom field meta information is saved to the order as it should, and tickets are generated correctly with all custom fields.

    While checking for this, I found another issue in the generate_tickets() function for WooCommerce tickets. When using a payment plugin (DIBS for WooCommerce in this case) to make a payment, the generate_ticket() generates tickets with an incorrect user_id meta value of 0 (the tribe_wooticket post also has a post_author of 0), and as a result, the user cannot see his/her tickets on the order_tickets page (which is based on a user_id filter to get all orders/attendees).

    I seems that when some callbacks are received from payment gateways there is no current/logged-in user, hence the value 0. In the generate_tickets() function on row 645 the call

    $this->record_attendee_user_id($attendee_id)

    will get the current logged-in user and set user_id to 0 for each ticket. I changed this call to

    $this->record_attendee_user_id($attendee_id, $order->customer_user)

    to always connect the attendee/ticket to the order purchaser user. This should be logical and seems to work correctly. The logged-in user can now see all his/her tickets.

    Many technical details, but I hope this will help you!

    Seeing forward to Event Tickets Plus v4.4.3! 🙂

Viewing 5 posts - 16 through 20 (of 20 total)