GithubHelp home page GithubHelp logo

impress-org / give-divi Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 743 KB

GiveWP add-on for integrating with the Divi Builder

License: GNU General Public License v3.0

PHP 77.39% JavaScript 20.03% CSS 0.30% SCSS 0.59% Shell 1.69%

give-divi's People

Contributors

alaca avatar devinwalker avatar jasontheadams avatar kjohnson avatar mathetos avatar ravinderk avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

give-divi's Issues

Give Divi Add-on should be tested

User Story

As a developer, I want that the Give Divi Add-on code is tested.

Details

It's not always easy to test the code we write with all the options and different input parameters, that's why we have to write automated tests that will do that for us. This will help us to easily test all possible scenarios and give us confidence that the code we wrote is solid and less prone to bugs.

Additional Context

We will use the PHPUnit test library to test our code.

Acceptance Criteria

  • Donation Form module tests are written and they are passing
  • Donor Wall module tests are written and they are passing
  • Form Grid module tests are written and they are passing
  • Totals module tests are written and they are passing
  • Donation Form Goal module tests are written and they are passing
  • Donation Receipt module tests are written and they are passing
  • Donation History module tests are written and they are passing
  • Donor Registration Form module tests are written and they are passing
  • Donor Login Form module tests are written and they are passing
  • Profile Editor module tests are written and they are passing
  • Subscription Table module tests are written and they are passing

Notice should not break plugins table layout

Details

With the Give Divi add-on installed, I'm getting a PHP Notice in the plugins table that breaks the table layout.

Visuals

Screenshot_2021-02-08 Plugins โ€น WordPress โ€” WordPress

Additional Context

// Truncated for brevity
function give_show_update_notification_on_single_site() {
    ...

	$plugin_data = Give_License::get_plugin_by_slug( $plugin['slug'] );

	// Only show notices for Give add-ons
	if (
		'add-on' !== $plugin_data['Type']
		|| $plugin_data['License']
	) {
		return;
	}
    ...
}

Acceptance Criteria

  • With Give Divi installed, the plugins table layout does not break.

Donor Register Form Module

User Story

Donor Register Form shortcode should be implemented as a Divi module.

Additional Context

Donor Register Form shortcode preview

[give_register redirect="bool"]

Acceptance Criteria

  • Donor Register Form shortcode functionality is implemented as Divi module
  • Donor Register Form module has an option to enable redirect

Subscriptions Table Module for Give Recurring add-on

User Story

Subscriptions Table shortcode functionality of the Give Recurring add-on should be implemented as a Divi module.

Details

Subscriptions Table shortcode preview.
[give_subscriptions show_status="bool" show_renewal_date="bool" show_progress="bool" show_start_date="bool" show_end_date="bool" subscriptions_per_page="int" pagination_type="string"]

Additional Context

Acceptance Criteria

  • Subscriptions Table shortcode functionality is implemented as Divi module
  • Subscriptions Table module has an option to show/hide the subscription status
  • Subscriptions Table module has an option to show/hide renewal date
  • Subscriptions Table module has an option to show/hide the progress
  • Subscriptions Table module has an option to show/hide start date
  • Subscriptions Table module has an option to show/hide end date
  • Subscriptions Table module has an option to set the number of subscriptions per page
  • Subscriptions Table module has an option to set the pagination type

Multi-form Goal module

Details

The Multi-form Goal shortcode should be implemented as a Divi module.

Acceptance Criteria

  • Multi-form Goal shortcode functionality is implemented as Divi module
  • Multi-form Goal module has an option to set the Donation form IDs
  • Multi-form Goal module has an option to set tags
  • Multi-form Goal module has an option to set categories
  • Multi-form Goal module has an option to set the goal
  • Multi-form Goal module has an option to set the end date
  • Multi-form Goal module has an option to set the heading text
  • Multi-form Goal module has an option to set the image
  • Multi-form Goal module has an option to set the summary text

Divi checker should support the Divi Builder and/or a Divi Theme

Details

"it's showing an error about the "Divi builder", but I have the Divi Theme active which includes the Divi Builder already"

image

"I think this wasn't tested with the Divi Theme, only the Divi Builder. I can't insert a form module at all."

image

Expected Behavior

Either the Divi Builder or a Divi Theme should be supported.

Acceptance Criteria

  • Modules load with the Divi Builder on a non-Divi theme.
  • Modules load with the Divi theme.

Does this is a WP Plugin?

Hi
Does this is a WP Plugin? but it has no structure about of a WP Plugin.
How can I use this repository? I have DIVI.

Regards

Donation Receipt module should work regardless if the site is using pretty URLs or not

User Story

As a site admin, I want the Donation Receipt module to work regardless of the site is using pretty URLs or not.

Details

Currently, the Donation Receipt module only works if the pretty URLs are enabled.

Expected Behavior

The donation Receipt module should work regardless if the site is using pretty URLs or not.

Steps to Reproduce

  1. Disable pretty URLs in your WP-Admin dashboard
  2. Add a new page using Divi builder
  3. Insert Donation Receipt module

Visuals

image

Acceptance Criteria

  • The donation Receipt module should work regardless if the site is using pretty URLs or not.

Donation History Module

User Story

Donation History shortcode functionality should be implemented as a Divi module.

Details

Donation History shortcode preview

[donation_history id="bool" date="bool" donor="bool" amount="bool" status="bool" payment_method="bool"]

Acceptance Criteria

  • Donation History shortcode functionality is implemented as Divi module
  • Donation History module has an option to show/hide column ID
  • Donation History module has an option to show/hide date
  • Donation History module has an option to show/hide donor's name
  • Donation History module has an option to show/hide donation amount
  • Donation History module has an option to show/hide payment status
  • Donation History module has an option to show/hide payment method

Multi select dropdown custom field for Divi builder

User Story

As a developer, I would like to have a multi-select dropdown field as a custom field option when building Divi modules.

Details

There are some situations where this field would be useful, situations where we have to enter multiple values separated by a comma. This is not always ideal and can lead to errors. As we already have the benefit of visual UI, adding this custom field option will have a positive impact on the user experience.

Acceptance Criteria

  • Multi-select dropdown field is added as Divi builder custom field

Unit tests should be scaffolded

Details

Automated tests should be scaffolded to run WP Unit tests.

Acceptance Criteria

  • Install testing framework.
  • Load dependent plugins.
  • Run tests via command line.

Donation Form Goal Divi module should be implemented

Details

Donation Form Goal shortcode functionality should be implemented as a Divi module.

Additional Context

Donation Form Goal shortcode preview

[give_goal id="int" show_text="bool" show_bar="bool"]

Acceptance Criteria

  • Donation Form Goal shortcode functionality is implemented as Divi module
  • Donation Form Goal module has option to choose Donation form
  • Donation Form Goal module has option to show/hide text
  • Donation Form Goal module has option to show/hide progress bar

GiveWP shortcodes to Divi modules integration

Details

Divi builder requires that all modules are using React class components in order to display them inside the builder.
The issue I'm facing with this approach is that integrating the markup generated from the shortcodes can be utterly complex and almost impossible to render without having some kind of visual style issues. Another problem is that some of the generated markups, like the Donation form, is heavily using JavaScript in order to display all elements correctly which may also cause all sort of problems when rendering the component.

Additional Context

I'll need some time for research on this topic and see what our options are. Right of the bat, there are a few of them.

1. Use image placeholders instead of rendering the markup.
Easy to implement, but defies the purpose of the visual builder

2. Make use of already built GiveWP Gutenberg blocks
I'm not sure can it be done in a simple and easy way. If yes, then all this should be a part of the core.

3. Fields API*
My understanding of the FIelds API is that it will be handy in situations like this. We will still have to build the markup from the data inside the component, but that would be an easy thing to do.

Form Grid Module

User Story

Form Grid shortcode functionality should be implemented as a Divi module.

Details

Form Grid shortcode preview

[give_form_grid forms_per_page="int" ids="string" exclude="string" orderby="string" order="string" cats="string" tags="string" columns="string" show_title="bool" show_goal="bool" show_excerpt="bool" show_featured_image="bool" image_size="string" image_height="string" excerpt_length="int" display_style="string" status="string"]

Acceptance Criteria

  • Form Grid shortcode functionality is implemented as Divi module
  • Form Grid module has an option to set the number of forms per page
  • Form Grid module has an option to set the form IDs
  • Form Grid module has an option to exclude form IDs
  • Form Grid module has an option to set the orderby
  • Form Grid module has an option to set the order
  • Form Grid module has an option to set the categories
  • Form Grid module has an option to set the tags
  • Form Grid module has an option to set the number of columns
  • Form Grid module has an option to show/hide title
  • Form Grid module has an option to show/hide goal
  • Form Grid module has an option to show/hide excerpt
  • Form Grid module has an option to show/hide featured image
  • Form Grid module has an option to set the image size
  • Form Grid module has an option to set the image height
  • Form Grid module has an option to set the excerpt length
  • Form Grid module has an option to set the display style
  • Form Grid module has an option to set the status

Donation Receipt Module

User Story

Donation Receipt shortcode should be implemented as a Divi module.

Additional Context

Donation Receipt shortcode preview
[give_receipt error="string" price="bool" donor="bool" date="bool" payment_method="bool" payment_id="bool" payment_status="bool" company_name="bool" status_notice="bool"]

Acceptance Criteria

  • Donation Receipt shortcode functionality is implemented as Divi module
  • Donation Receipt module has an option to set the error text
  • Donation Receipt module has an option to show/hide price
  • Donation Receipt module has an option to show/hide donor
  • Donation Receipt module has an option to show/hide the date
  • Donation Receipt module has an option to show/hide payment method
  • Donation Receipt module has an option to show/hide payment id
  • Donation Receipt module has an option to show/hide payment status
  • Donation Receipt module has an option to show/hide the company name
  • Donation Receipt module has an option to show/hide the status notice

Divi add-on should be scaffolded

User Story

As a developer, I want that Divi add-on is scaffolded so that I can start working on it.

Acceptance Criteria

  • Divi add-on is scaffolded

Donor Login Form Module

User Story

Donor Login Form shortcode should be implemented as a Divi module.

Additional Context

Donor Login Form shortcode preview

[give_login redirect="bool" login-redirect="string" logout-redirect="string"]

Acceptance Criteria

  • Donor Login Form shortcode functionality is implemented as Divi module
  • Donor Login Form module has an option to enable redirect
  • Donor Login Form module has an option to set login redirect URL
  • Donor Login Form module has an option to set logout redirect URL

Divi Modules Settings Should Work

User Story

As an admin, I'd like the Divi modules settings to work so that I can use the Divi modules instead of the standard shortcode

Details

  • The Form Grid images do not display outside of the editor.
  • Form Lists options to choose from show a static amount -- for example I could not choose my "Test Form" without deleting 10 or so of my dummy forms.
  • The excerpt sizing and forms per page add a "px" if manually entered, the slider works ok - but the px added breaks the display.
  • Select dropdown should be replaced with searchable dropdown.

Expected Behavior

All of the above settings should work as expected.

Steps to Reproduce

Form grid images
Add a form grid module, see the images, save and then visit the live URL. Images won't display

Form Lists options
Make sure to have many forms in your install maybe 20 or so and then try to select 1 of them that doesn't show on the initial form list display

Excerpt sizing
Attempt to manually adjust the sizes with the arrows or direct input rather than the slider setting.

Acceptance Criteria

  • All bullet points in the details section are implemented.

Give Custom Divi Modules are not working

User Story

As a site admin, I want the Give Divi plugin to work as expected. Currently, nothing works.

Expected Behavior

Give Divi plugin should work as expected.

Steps to Reproduce

  1. Install Divi theme. You can get it here.
  2. Install and activate Give Divi plugin
  3. Try to edit any page, or insert Give Divi custom modules
  4. Check errors in the console

Visuals

image

Acceptance Criteria

  • Give Divi modules plugin is working as expected

Add-on should be scaffolded

User Story

As a developer, I want that Divi add-on is scaffolded so that I can start working on it.

Acceptance Criteria

  • Divi add-on is scaffolded

Totals Module

User Story

Totals shortcode should be implemented as a Divi module.

Details

Profile Editor shortcode preview

[give_totalt total_goal="int" ids="int" cats="int" tags="int" message="string" link="string" link_text="string" progress_bar="bool"]

Acceptance Criteria

  • Totals shortcode functionality is implemented as Divi module
  • Totals module has an option to set the total goal
  • Totals module has an option to set the Donation form IDs
  • Totals module has an option to set categories
  • Totals module has an option to set tags
  • Totals module has an option to set the message
  • Totals module has an option to set the link
  • Totals module has an option to set the link text
  • Totals module has an option to show/hide the progress bar

Profile Editor Module

User Story

Profile Editor shortcode should be implemented as a Divi module.

Additional Context

Profile Editor shortcode preview
[give_profile_editor]

Acceptance Criteria

  • Profile Editor shortcode functionality is implemented as Divi module

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.