impress-org / givewp

GiveWP - The #1 Donation Plugin for WordPress. Easily accept donations and fundraise using your WordPress website.
https://givewp.com/
GNU General Public License v3.0
340 stars 192 forks source link

Conflict between GiveWP and The Events Calendar Eventbrite Tickets plugins #3909

Closed benlk closed 5 years ago

benlk commented 5 years ago

This issue has been reported through https://givewp.com/priority-support/ and https://support.theeventscalendar.com/submit_ticket , but I thought I should also submit it here.

User Story

Copy-pasting from https://github.com/INN/umbrella-inndev/issues/57:

With the following plugins active on WordPress 5.0.1:

$ wp plugin list --status=active
+----------------------------------------+--------+--------+---------+
| name                                   | status | update | version |
+----------------------------------------+--------+--------+---------+
| give                                   | active | none   | 2.3.1   |
| the-events-calendar                    | active | none   | 4.7.2   |
| the-events-calendar-eventbrite-tickets | active | none   | 4.5.6   |
+----------------------------------------+--------+--------+---------+
$ wp plugin list --status=active-network
+------+--------+--------+---------+
| name | status | update | version |
+------+--------+--------+---------+
+------+--------+--------+---------+

When using Give WP to create a new donation form, the options in GiveWP's custom "Donation Form Options" meta box are not saved. This is the box in its default state:

screen shot 2018-12-18 at 9 59 42 pm

If I change the selected option on any of those radio buttons and press "Save draft" or "Publish", after the editor reloads, the options are forgotten.

If I then wp plugin deactivate the-events-calendar-eventbrite-tickets, and refresh the page, the meta box shows the options I had selected when I hit save.

screen shot 2018-12-18 at 10 02 03 pm

If I then wp plugin activate the-events-calendar-eventbrite-tickets, the form returns to its default state.

Here's a list of things that are saved, which are not affected by this bug:

Which is to say: this only affects the GiveWP form data, as far as I can tell.

Are there any confounding issues?

Perhaps confounding this issue is that the Eventbrite "Migrate events" prompt is appearing in this editor and in all admin screens. The "Migrate events" button has been pressed, multiple times. It has not gone away.

screen shot 2018-12-18 at 10 12 41 pm

Expected Behavior

I expect that the Donation Options metabox will display the information saved in the database, whether or not other plugins are active.

Bug Type

Steps to Reproduce

  1. Install and activate the Give plugin, The Events Calendar, and The Events Calendar Eventbrite Tickets plugins.
  2. For Eventbrite Tickets, it may be necessary to create an Eventbrite account and synchronize the plugin with the Eventbrite account in order to trigger the persistent "Migrate Events" banner.
  3. From the Dashboard, click Donations > Add Form
  4. Make changes to the "Donation Form Options" meta box so that it is not in its default state.
  5. Click the "Save Draft" or "Publish" buttons.
  6. Observe that the "Donation Form Options" meta box has reverted to its default state.
  7. In a new tab or via the command line, deactivate the the-events-calendar-eventbrite-ticket plugin.
  8. Refresh the form edit page. Note that the "Donation Form Options" meta box now displays the options that were initially saved.
  9. In a new tab or via the command line, activate the the-events-calendar-eventbrite-ticket plugin.
  10. Refresh the form edit page. Note that the "Donation Form Options" meta box now displays the default options instead of the options that were initially saved.

This happens under WordPress 4.9.9 and 5.0.1, in the https://github.com/INN/inn/ custom theme and in the Twenty Seventeen stock theme. It happens with a lot of plugins active, but it also happens with just these three plugins active.

Related

https://github.com/INN/umbrella-inndev/issues/57 is the reporting user's internal tracker for this bug, and will be updated as new details come in.

Acceptance Criteria

Environment

Operating System Other OSes are affected, but the one used when writing https://github.com/INN/umbrella-inndev/issues/57 was:
  • Platform: Mac OS X
  • Version: 10.14.2
Browser Other browsers are affected, but the one used when writing https://github.com/INN/umbrella-inndev/issues/57 was:
  • Name: Chrome
  • Version: 71.0.3
WordPress System Info ### WordPress Environment ### Home URL: http://inndev.test Site URL: http://inndev.test WP Version: 5.0.1 WP Multisite: ✔ WP Memory Limit: 256 MB WP Debug Mode: ✔ WP Cron: ✔ Language: en_US Permalink Structure: /%year%/%monthnum%/%postname%/ Show on Front: posts Table Prefix Length: wp_ Table Prefix Length: 3 Table Prefix Status: Acceptable Admin AJAX: Accessible Registered Post Statuses: publish, future, draft, pending, private, trash, auto-draft, inherit, request-pending, request-confirmed, request-failed, request-completed, refunded, failed, revoked, cancelled, abandoned, processing, preapproval, tribe-ea-success, tribe-ea-failed, tribe-ea-schedule, tribe-ea-pending, tribe-ea-draft, tribe-ignored ### Server Environment ### Hosting Provider: DBH: localhost, SRV: inndev.test TLS Connection: Connection uses TLS 1.2 TLS Connection: Probably Okay Server Info: nginx/1.15.6 PHP Version: 7.2.12 PHP Post Max Size: 128 MB PHP Time Limit: 30 PHP Max Input Vars: 1000 PHP Max Upload Size: 20 MB cURL Version: 7.54.0, LibreSSL/2.6.4 SUHOSIN Installed: – MySQL Version: 5.7.24 Default Timezone is UTC: ✔ fsockopen/cURL: ✔ SoapClient: ✔ DOMDocument: ✔ gzip: ✔ GD Graphics Library: ✔ Multibyte String: ✔ Remote Post: ✔ Remote Get: ✔ ### Give Configuration ### Give Version: 2.3.1 Give Cache: Enabled Database Updates: All DB Updates Completed. Give Cache: Enabled Give Cache: ✔New Donation✔Donation Receipt✔New Offline Donation✔Offline Donation Instructions✔New User Registration✔User Registration Information✔Donor Note✔Email access Upgraded From: – Test Mode: Enabled Currency Code: USD Currency Position: Before Decimal Separator: . Thousands Separator: , Success Page: http://inndev.test/donation-confirmation/ Failure Page: http://inndev.test/donation-failed/ Donation History Page: http://inndev.test/donation-history/ Give Forms Slug: /donations/ Enabled Payment Gateways: Offline Donation Default Payment Gateway: Offline Donation PayPal IPN Verification: Enabled PayPal IPN Notifications: N/A Donor Email Access: Enabled ### Active Give Add-ons ### ### Other Active Plugins ### The Events Calendar: by Modern Tribe, Inc. – 4.7.2 The Events Calendar: Eventbrite Tickets: by Modern Tribe, Inc. – 4.5.6 ### Inactive Plugins ### Akismet Anti-Spam: by Automattic – 4.1 Better WordPress Google XML Sitemaps: by Khang Minh – 1.4.1 Breadcrumb NavXT: by John Havlik – 6.2.1 Business Directory Plugin: by D. Rodenbaugh – 5.3.4 Business Directory Plugin - PayPal Gateway Module: by Dave Rodenbaugh – 1.4 Classic Editor: by WordPress Contributors – 1.3 CMB2: by CMB2 team – 2.4.2 CMB2 Custom Field Type - Address: by jtsternberg – 0.1.0 Co-Authors Plus: by Mohammad Jangda, Daniel Bachhuber, Automattic – 3.3.0 Content Freeze: by Wholegrain Digital – 0.1.3 Content Security Policy Pro: by Laxman Thapa – 1.3.3 Core Control: by Dion Hulse – 1.2.1 Disqus for WordPress: by Disqus – 3.0.16 DocumentCloud: by – 0.4.3 Empty Tags Remover: by Dan - Lucian Stefancu – 1.0 Give - Form Field Manager: by GiveWP – 1.4.1 Give - MailChimp: by GiveWP – 1.4.3 Give - Recurring Donations: by GiveWP – 1.8.2 Give - Stripe Gateway: by GiveWP – 2.1.2 Google Authenticator: by Henrik Schack – 0.48 Google Authenticator - Per User Prompt: by Ian Dunn – 0.7 GP Limit Checkboxes: by David Smith – 1.2.3 GP Limit Dates: by David Smith – 1.0.13 Gravity Forms: by rocketgenius – 2.4.1 Gravity Forms - Edit entries: by Team Bright Vessel – 0.1.3 Gravity Forms Add Subtotal Merge Tag: by David Smith – 1.0 Gravity Forms MailChimp Add-On: by rocketgenius – 4.4 Gravity Forms Stripe Add-On: by rocketgenius – 2.5 Gravity Forms Survey Add-On: by Rocketgenius – 3.2 Gravity Forms User Registration Add-On: by rocketgenius – 3.9.6 Gravity Perks: by Gravity Wiz – 2.0.11 GravityView: by GravityView – 1.22.5 INN Members: by Cornershop Creative – 0.1 Inn Misc Functionality: by INN Labs – 0.1.0 Link Roundups: by INN, Project Argo, Mission Data – 0.4.1 MetaSlider: by Team Updraft – 3.10.3 News Match Popup Basics: by INN Labs – 0.1.3 News Quizzes: by Will Haynes for INN, MotherJones – 1.0 No-Nonsense Google Analytics: by innlabs – 1.3 PauINN: by havahula.org – 0.2 Photo Gallery: by Photo Gallery Team – 1.5.11 PHP Compatibility Checker: by WP Engine – 1.4.6 Popup Maker: by WP Popup Maker – 1.7.30 Presspoint: by Presspoint – 3.0.6.3 Presspoint Opportunities: by Presspoint – 2.1.5 Pym.js Embeds: by INN Labs – 1.3.2.2 Query Monitor: by John Blackbourn & contributors – 3.1.1 Redirection: by John Godley – 3.6.3 Regenerate Thumbnails: by Alex Mills (Viper007Bond) – 3.0.2 RSS Multi Importer (custom for INN): by Allen Weiss – 2.67.63 Save and Continue Link Recovery for Gravity Forms: by Leland Fiegel – 2.0 Tabby Responsive Tabs: by cubecolour – 1.2.3 Taxonomy Converter: by kristarella – 1.1 Term Debt Consolidator: by INN – 0.1.0 The Events Calendar: Community Events: by Modern Tribe, Inc. – 3.7 The Events Calendar PRO: by Modern Tribe, Inc. – 4.5.1 Tweetable Text: by Salim Virani (original), updated by Joshua Benton of Nieman Lab, forked by Yuri Victor – 1.1 WooCommerce: by Automattic – 3.5.2 WooCommerce Advanced Notifications: by WooCommerce – 1.2.15 WooCommerce Checkout Field Editor: by WooCommerce – 1.5.15 WooCommerce Customer/Order CSV Export: by SkyVerge – 4.6.1 WooCommerce Helper: by WooCommerce – 1.7.2 WooCommerce Memberships: by SkyVerge – 1.12.2 WooCommerce One Page Checkout: by Prospress Inc. – 1.6.0 WooCommerce Simply Order Export: by Ankit Gade – 2.1.9 WooCommerce Stripe Gateway: by WooCommerce – 4.1.13 WooCommerce Subscriptions: by Prospress Inc. – 2.4.5 WordPress Importer: by wordpressdotorg – 0.6.4 WordPress MU Domain Mapping: by Donncha O Caoimh – 0.5.5.1 WP All Export: by Soflyy – 1.2.1 WP Clean Up: by BoLiQuan – 1.2.3 WPJobBoard: by Grzegorz Winiarski – 4.2.1 WP Job Manager: by Automattic – 1.31.3 ### Theme ### Name: Twenty Seventeen Version: 1.1 Author URL: https://wordpress.org/ Child Theme: No – If you're modifying Give on a parent theme you didn't build personally, then we recommend using a child theme. See: How to Create a Child Theme
kevinwhoffman commented 5 years ago

@benlk Thanks for the detailed report. We are in contact with The Events Calendar team to see if we can find out what's happening here.

My first impression based on the behavior you've described when deactivating the Eventbrite plugin is that this may be more of an issue with loading Give settings rather than saving them. I say this because your changed options are reflected properly when the Eventbrite plugin is deactivated, which suggests the settings were saved. If the Give settings were not being saved, then you would always see the default options when the form editor loads.

One way to confirm this would be to check the wp_give_formmeta table in your database to see if your changed settings are reflected in the database.

We'll update this issue once we learn more.

DevinWalker commented 5 years ago

Closing as duplicate of https://github.com/impress-org/give/issues/3815 which was commented on by Modern Tribe stating they're taking care of the incompatibility on their end.

benlk commented 5 years ago

Thank you for the update!