Commit graph

41 commits

Author SHA1 Message Date
Kelly Dwan a11e3c5fa5
Manage Pledge: Update email dialog to use JS submission (#104)
Use the proper dialog behavior for submitting an email to generate a manage link.

Fixes #98.
2019-11-21 15:31:29 -05:00
Kelly Dwan 82192eea4c
Manage a Pledge: Enable adding/removing contributors from wp-admin. (#99)
This updates the display of contributors into a table view, and adds the ability to add and remove contributors to existing pledges.

The display has been refactored to use JS templates & JSON contributor data– the data is output onto the page when loaded from the server, and rendered when the page finishes loading. Adding & removing contributors now submits to an admin-ajax.php endpoint, which, if successful, return the new list of contributors. This ensures the display is always up to date.

Fixes #3
2019-11-20 11:01:00 -05:00
Kelly Dwan 5c2041442a
Remove unused file 2019-11-14 13:48:22 -05:00
Kelly Dwan 42d44f7dc9
Plugin: Fix all phpcs errors
This includes autofixes, along with some manual fixes; mostly syntax-related. Some `phpcs:ignore` comments were added for overzealous rules that don't apply.
2019-11-14 13:48:17 -05:00
Ian Dunn 2e8912e9d5 Manage Pledge: Add shortcode to email link for updating.
See #5
2019-11-12 08:35:06 -08:00
Ian Dunn 963dbd41e3
Views: Modularize success/error notices for DRYness. 2019-11-07 16:14:26 -08:00
Ian Dunn 18228d367c
Pledge Log: Log user of CLI actions. 2019-11-07 11:31:00 -08:00
Caleb Burks 8e3ba2db96
My Pledges: Append ID to nonce action to make it more unique.
Fixes #87
2019-11-06 09:02:29 -08:00
Ian Dunn bac15d21fc
Pledge Form: Improve placeholders for clarity.
* Make the usernames look more like realistic usernames.
* Add placeholders where specific formats are needed.
2019-11-02 08:14:22 -05:00
Kelly Dwan f55054f56c
My Pledge List: Add the My Pledges header to logged out views 2019-11-01 16:09:29 -05:00
Corey McKrill dd4c08d87b
Pledge form: Add ID to form messages and hash to form action
This way when the form is submitted, the page loads at the location
where the success or error message will be shown, skipping the content
above the form.

Fixes #67
2019-10-31 12:49:47 -05:00
Ian Dunn 5c50b1fcc6
My Pledges: Prompt to fill out profile data if haven't already. 2019-10-31 11:08:04 -05:00
Ian Dunn 782a40bcda
Pledge Form: Improve contributor username field UX. 2019-10-30 13:10:21 -07:00
Kelly Dwan 0b26fad482
My Pledges: Update styles and format to match design
- Add a single-pledge view so we can separate out the pending from published
- Update layout and styles of my pledges list
- Adds link and danger button styles
2019-10-30 13:24:48 -05:00
Corey McKrill 83125dd8b2
Update pledge UI and email copy (#64)
Fixes #61
2019-10-29 16:37:14 -07:00
Ian Dunn 858d70b045
My Pledges: Mark up page with live data.
See #56
2019-10-29 12:54:13 -07:00
Corey McKrill 5c5ae83287
Plugin: Add a system for logging events related to pledges and contributors (#54)
Uses action hooks to capture relevant events as log entries on a per-pledge basis. This provides a running history of a pledge and can be used as an audit log if questions arise about changes to a pledge or there are weird bugs.

Fixes #39
2019-10-29 12:46:13 -07:00
Kelly Dwan 310a6876de
Pledge Form: Use slightly more screen reader friendly link text 2019-10-28 20:10:53 -04:00
Kelly Dwan aa8b1838cd
Pledge Form: Use agreement text as label content
This calls more attention to the agreement text, and correctly associates it with the input for screen reader users.
2019-10-28 20:09:38 -04:00
Ian Dunn 67958d9a1a
Contributors: Create functionality for My Pledges page.
This don't add the styling yet, just the functionality.

See #56
Fixes #51
Fixes #30
2019-10-28 12:08:21 -07:00
Kelly Dwan 2ec665bcbb
Pledge Form: Don't show logo upload field in wp-admin
In wp-admin, the logo should be managed with the featured image UI.
2019-10-28 13:33:44 -04:00
Kelly Dwan f9d4a0bd59
Create a Pledge: Upload a logo (#45)
* Allow image uploads

* Add the logo as "generated" meta

This will be attached after we've processed the `$_FILES` object into an upload.

* Load image into media library, attach to the submitted pledge as a featured image.

* Move where image handling happens so we can pass back errors

* Pass back error if upload fails

* Create a validation function to do basic checking of form data

* Move logo uploading to a separate function, and rely on core checks for mime & filesize checking

* Tweak function name to be more clear

* Remove bmp, tiff, and ico file types
2019-10-28 11:47:56 -04:00
Ian Dunn 3f774fdb78
Pledge Form: Add ability to resend pledge confirmation email.
Fixes #49.
2019-10-26 22:18:28 -07:00
Ian Dunn c10699f97c
Contributors: Add ability to resend confirmation email.
Fixes: #50.
2019-10-26 10:59:06 -07:00
Corey McKrill 838a490776
Pledge: Count number of confirmed contributors instead of using arbitrary number input (#52)
This will be more accurate and avoid confusion that could arise if the self-reported "Number of Employees Being Sponsored" didn't match the number of confirmed contributors listed on the pledge.

Having that counted number stored in post meta is still useful, though, so this also adds/updates that number for a pledge whenever a Contributor post changes its status.

Fixes #48
2019-10-25 13:39:13 -07:00
Ian Dunn 5ffca9420f
Email: Send pledge confirmation with authentication token. (#46)
Email: Send pledge confirmation with authentication token.

Fixes #34.
Fixes #10.
2019-10-25 12:07:09 -07:00
Ian Dunn 284e616c84
Pledge Form: Clarify that we're asking for WordPress.org usernames. 2019-10-25 07:57:33 -07:00
Corey McKrill 847e99f44e
Pledge Form: Hide 'manage existing pledge' link for the time being 2019-10-24 21:04:44 -07:00
Corey McKrill 59713ca0f1
Pledges: Move contributor management UI to separate file (#47)
Having both the input for adding a comma separated list of contributors
to a new pledge and the UI for managing the contributors on an existing
pledge in the same file was confusing and it conflated two different
pieces of functionality. It also caused `undefined index` errors in some
views  because `'pledge-contributors'` only exists when submitting the
new pledge form.
2019-10-24 20:06:47 -07:00
Ian Dunn f888fd85c8
Apply coding standards. 2019-10-24 08:12:55 -07:00
Ian Dunn 33d8ed54b1
Pledge Form: Encourge group email addresses for perennial access.
Also, clarfy that the field is referring to an address, rather than a piece of email.
2019-10-24 08:12:55 -07:00
Ian Dunn 6b33c4dbd0
Pledge Form: Update string to reflect latest flows.
The link that they're emailed is to confirm their address, rather than to manage the pledge.

Their pledge will be published once the address is confirmed and contributors have confirmed their participation, rather than after moderation.
2019-10-24 08:12:55 -07:00
Ian Dunn 8020e43fb9
Pledge Form: Use relative link for cross-environment compatibility. 2019-10-24 08:12:55 -07:00
Corey McKrill 65bd3ad5af
Pledge form: Add a blurb for the "Agree" checkbox (#44)
When submitting the form for a new pledge, the submitter must check a box to acknowledge that they understand and agree with the program expectations. The agreement blurb links to a separate page on the 5ftF site outlining what those expectations are.

Fixes #40
2019-10-23 13:47:15 -07:00
Corey McKrill 266ba447b4
Add a Contributor custom post type (#42)
Contributors associated with pledges have a state: they can be confirmed or unconfirmed. They also have some important meta data, namely when they were confirmed. Thus, managing contributor data for pledges is more robust if we treat them as their own post type instead of as a multidimensional array of post meta data.

This also reorganizes some of the functions related to pledges so that things are more consistent between the pledge CPT and the contributior CPT.

Fixes #11
2019-10-21 15:43:20 -07:00
Ian Dunn 2927532544
Pledges: Rename input field to match handler expectation.
Previously the field wasn't being saved when a new pledge was created.
2019-10-21 13:34:14 -07:00
Corey McKrill 9c08692d5d
New Pledge: Validate submitted form values and generate a draft pledge post (#35)
Ensures that a submission to the new pledge form has:

* A unique email address compared to existing pledges
* A unique domain in the URL, compared to existing pledges
* Has at least one valid contributor listed

Error messages when one or more of these conditions isn't met are descriptive so that the submitter can correct the issue.

Fixes #15
2019-10-18 16:56:21 -07:00
Kelly Dwan 0f675ae6c3
Create Pledge: Make form functional (#31)
This broadly enables & styles the pledge forms across the frontend and wp-admin.

- Switches field `readonly` control to a variable called `$readonly`
- Create `PledgeMeta\get_pledge_meta()` which will fetch data from `$_POST`, a pledge post, or defaults.
- Add Number of Employees field
- Update form content to match mockup:
  - fields now have help text
  - success message uses content from mockup
  - logo field is moved to the "org info" section
- Style form in theme, add some similar styles to the admin

Fixes #7, fixes #28
2019-10-08 18:29:35 -04:00
Kelly Dwan bd9019556b
Auto-fix some PHPCS errors 2019-10-08 11:21:50 -04:00
Corey McKrill ded645fabc
Plugin: Refactor to use as foundation for planned pledge workflows (#23)
This starts to address several items in the roadmap, but probably doesn't fully address any of them. It takes the plugin code that was written several months ago, before the scope of this project was fully sorted out, and refactors it to be a starting point for the roadmap.

* Adds template files for form inputs that can be used to both create new pledges and manage existing pledges
* Does some validation and sanitization work on form submissions
* Adds a custom post status for deactivated pledges
2019-10-04 12:35:02 -07:00
Corey McKrill 697a4b2329
Add 5ftf plugin from https://github.com/coreymckrill/5ftf 2019-09-27 17:41:19 -07:00