Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Epic/form UI column sorting #6614

Merged
merged 151 commits into from
Jan 9, 2023
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
ea3f7d4
feature: add ListTable class
alaca May 12, 2022
d165361
feature: add Column class
alaca May 12, 2022
62cea76
feature: add concerns
alaca May 12, 2022
6a42706
feature: add exception classes
alaca May 12, 2022
6116742
feature: add DonationsListTable class
alaca May 12, 2022
6f43dea
feature: use DonationsListTable class; add new REST parameters for so…
alaca May 12, 2022
8e0a4b8
feature: register DonationsListTable on container
alaca May 12, 2022
a31ddca
refactor: method name
alaca May 12, 2022
a0d8aed
refactor: return type
alaca May 12, 2022
c872743
refactor: add getters; change prop visibility
alaca May 12, 2022
315d417
refactor: localize table definitions
alaca May 12, 2022
79a00a0
refactor: update properties names to match react list table component
alaca May 13, 2022
7c3fa29
feature: add tests
alaca May 13, 2022
234fb52
chore: update formatting
alaca May 13, 2022
55fefe4
refactor: update test name
alaca May 13, 2022
f722591
refactor: get array values
alaca May 13, 2022
5c508c3
feature: test column properties
alaca May 13, 2022
06433e2
fix: test - use the proper method
alaca May 13, 2022
160696f
feature: add sort and filter tests
alaca May 13, 2022
8a625a9
refactor: make column sortable by default
alaca May 16, 2022
6f83fe3
refactor: change method name
alaca May 16, 2022
639b96d
refactor: change method name
alaca May 16, 2022
696f2be
refactor: sort
alaca May 16, 2022
9d3e45e
refactor: update tests
alaca May 16, 2022
7c21d1c
fix: use correct prop name; add return types
alaca May 17, 2022
91ec276
feature: begin switching to column classes
JasonTheAdams Aug 4, 2022
bb35d9d
feature: add donor and gateway columns
JasonTheAdams Aug 9, 2022
b8a56bf
refactor: switch to a model-oriented methodology
JasonTheAdams Aug 16, 2022
7fc4aa7
test: add startsSubscription to donation test
JasonTheAdams Aug 24, 2022
56dfd03
refactor: move columns to simpler namespace
JasonTheAdams Aug 24, 2022
812426c
feature: update status column to model column
JasonTheAdams Aug 30, 2022
878a59c
refactor: rename namespaces
pauloiankoski Oct 26, 2022
99428c1
refactor: change columns implementation
pauloiankoski Nov 7, 2022
c340775
chore: add columns as classes
pauloiankoski Nov 7, 2022
e777608
refactor: add helpers for payment statuses and type
pauloiankoski Nov 7, 2022
0088e49
refactor: fix prop and function names
pauloiankoski Nov 7, 2022
267a4ab
refactor: move items concerno to ListTable
pauloiankoski Nov 7, 2022
c84654d
refactor: change query to use Donations model
pauloiankoski Nov 7, 2022
7b52e05
refactor: move controller methods to the endpoint class
pauloiankoski Nov 7, 2022
e2cc965
refactor: change to call constructor directly instead of through cont…
pauloiankoski Nov 7, 2022
46f3b3f
chore: add missing phpdocs
pauloiankoski Nov 7, 2022
de598bd
refactor: reformat code
pauloiankoski Nov 7, 2022
658ab3a
fix: change sort keys
pauloiankoski Nov 7, 2022
2161b1c
Merge branch 'develop' into epic/form-ui-column-sorting
pauloiankoski Nov 7, 2022
f5cce56
Merge branch 'epic/form-ui-column-sorting' into feature/list-table-cu…
pauloiankoski Nov 7, 2022
44ce92e
chore: remove mentions to startsSubscription prop
pauloiankoski Nov 7, 2022
e33b5ed
fix: remove default value for locale
pauloiankoski Nov 7, 2022
cca31c0
refactor: rename function
pauloiankoski Nov 7, 2022
d0a7ffc
refactor: change date formatting function
pauloiankoski Nov 8, 2022
8a577ec
chore: add unreleased tag and complete docblocks info
pauloiankoski Nov 8, 2022
0ae660a
fix: change prop type
pauloiankoski Nov 8, 2022
8d70ffa
refactor: change tableAlias to use columnAlias instead of index
pauloiankoski Nov 8, 2022
8c258c2
chore: implement count method for ModelQueryBuilder
pauloiankoski Nov 8, 2022
144b2de
refactor: change where clauses to use tableAlias
pauloiankoski Nov 8, 2022
34a8434
refactor: replace Query Builder with Donations model
pauloiankoski Nov 8, 2022
cca6d45
refactor: move locale parameter to items method
pauloiankoski Nov 8, 2022
9314084
chore: add action to DonationsListTable singleton
pauloiankoski Nov 8, 2022
36db68b
refactor: replace instantiates with singleton
pauloiankoski Nov 8, 2022
2bb0669
fix: add fallback to $columnAlias
pauloiankoski Nov 8, 2022
2985c20
Merge pull request #6413 from impress-org/feature/list-table-custom-c…
pauloiankoski Nov 8, 2022
ce12dda
refactor: reformat frontend files with prettier
JoshuaHungDinh Nov 8, 2022
b6d86ec
Epic Feature: Column sorting UI (#6600)
JoshuaHungDinh Nov 9, 2022
18b91b0
chore: add DonorsListTable class and register it
pauloiankoski Nov 9, 2022
7fd44a1
refactor: merge controller into the endpoint class
pauloiankoski Nov 10, 2022
120e5a4
chore: add new parameters to endpoint
pauloiankoski Nov 10, 2022
999d251
refactor: change main query to use Donors model
pauloiankoski Nov 10, 2022
e549303
chore: add Id Column to Donors List Table
pauloiankoski Nov 9, 2022
417f889
chore: add Donor Information column to Donors List Table
pauloiankoski Nov 9, 2022
f83c4bf
fix: add label for deprecated status
pauloiankoski Nov 10, 2022
0d94a5d
chore: add Donation Count column to Donors List Table
pauloiankoski Nov 10, 2022
fe11064
chore: add Latest Donation column to Donors List Table
pauloiankoski Nov 10, 2022
dbdb78b
refactor: add DonorType enum and replace where it's used
pauloiankoski Nov 10, 2022
3ce9370
chore: add Donor Type column to Donors List Table
pauloiankoski Nov 10, 2022
6399d62
chore: add Date Created column to Donors List Table
pauloiankoski Nov 10, 2022
676365a
refactor: remove additional emails from meta keys
pauloiankoski Nov 11, 2022
03189c0
refactor: add DonorModelQueryBuilder class
pauloiankoski Nov 11, 2022
db4f9e2
chore: attach additional emails to query results
pauloiankoski Nov 11, 2022
c055bde
fix: replace removed constant
pauloiankoski Nov 11, 2022
2f3f4ae
feature: add value method to Query Builder
pauloiankoski Nov 12, 2022
03fe04d
chore: add Donation Revenue column to Donors List Table
pauloiankoski Nov 12, 2022
324ba68
refactor: change method to use ModelQueryBuilder
pauloiankoski Nov 12, 2022
8799719
refactor: bring additional_email meta key back to the ENUM class
pauloiankoski Nov 12, 2022
25604da
chore: add unreleased tags
pauloiankoski Nov 12, 2022
695c093
refactor: remove unused classes
pauloiankoski Nov 14, 2022
6436ae9
chore: fix typo
pauloiankoski Nov 14, 2022
6aa6c99
refactor: change hooks to use Give ones
pauloiankoski Nov 14, 2022
2e44b47
chore: add description to function
pauloiankoski Nov 14, 2022
f4f30a2
refactor: replace if statements with ternary operator
pauloiankoski Nov 14, 2022
f4c6aa0
feature: add donor properties and
Nov 14, 2022
48779cc
chore: revert
Nov 14, 2022
5d9749b
feature: add support for ->totalAmountDonated and ->totalNumberOfDona…
Nov 14, 2022
746cfaa
feature: add new properties to factory
Nov 14, 2022
072d5f1
fix: flter out any null objects being returnd from query
Nov 14, 2022
97d63f5
tests: scaffold list donors first test
Nov 14, 2022
967822b
refactor: change additionalEmails query so that doesn't return null row
pauloiankoski Nov 14, 2022
17358cf
refactor: change columns to use the new properties
pauloiankoski Nov 14, 2022
c5842b2
tests: add tests for donors list table
pauloiankoski Nov 14, 2022
2f0c7ba
Merge pull request #6607 from impress-org/feature/donors-list-table-b…
pauloiankoski Nov 14, 2022
6c30c32
Epic Feature: Donor and Form table styles (#6610)
JoshuaHungDinh Nov 14, 2022
c17abee
feature: init Donation Form model scaffold
pauloiankoski Nov 17, 2022
4b6f8d3
refactor: rename donation forms repository binding
pauloiankoski Nov 17, 2022
c89fd8d
feature: add initial DonationForms properties
pauloiankoski Nov 17, 2022
f62b1bb
feature: add methods to query data from database
pauloiankoski Nov 17, 2022
45c620d
doc: add docblocks to new methods
pauloiankoski Nov 17, 2022
4a6b2f5
feature: connect query results to model
pauloiankoski Nov 17, 2022
7ff37e6
refactor: implement DonationFormLevel class
pauloiankoski Nov 17, 2022
a4f0155
feature: implement values from database for $totalAmountDonated and $…
pauloiankoski Nov 17, 2022
233f033
refactor: implement DonationFormStatus class
pauloiankoski Nov 17, 2022
f703437
feature: add method to create DonationFormLevel from a price string
pauloiankoski Nov 18, 2022
5d30b8b
feature: read price option and fill the model with the correct meta data
pauloiankoski Nov 18, 2022
ce639a0
refactor: remove factory method while not yet implemented
pauloiankoski Nov 18, 2022
b9f4365
tests: add tests for form model and dto with a new nifty legacy form …
Nov 18, 2022
d95b805
Merge pull request #6611 from impress-org/feature/donations-form-model
pauloiankoski Nov 21, 2022
9daebc1
refactor: move implementations from controller to endpoint class
pauloiankoski Nov 18, 2022
6d74a1b
feature: add DonationFormsListTable
pauloiankoski Nov 18, 2022
a92c7e7
refactor: change endpoint to make use of the new ListTable class
pauloiankoski Nov 18, 2022
276f0be
refactor: remove unused methods
pauloiankoski Nov 18, 2022
9873f10
feature: add TitleColumn to DonationFormsListTable
pauloiankoski Nov 21, 2022
5f19107
feature: add LevelsColumn to DonationFormsListTable
pauloiankoski Nov 21, 2022
182c2eb
feature: change endpoints to support return an array of models
pauloiankoski Nov 21, 2022
9f7d270
refactor: add return type to admin endpoint call args
pauloiankoski Nov 21, 2022
7a55289
feature: add DonationCountColumn to DonationFormsListTable
pauloiankoski Nov 21, 2022
56ab468
feature: add DonationRevenueColumn to DonationFormsListTable
pauloiankoski Nov 21, 2022
a437707
feature: add ShortcodeColumn to DonationFormsListTable
pauloiankoski Nov 21, 2022
4c210d2
feature: add DateCreatedColumn to DonationFormsListTable
pauloiankoski Nov 21, 2022
26caa2f
feature: add StatusColumn to DonationFormsListTable
pauloiankoski Nov 21, 2022
d5ee1a5
feature: add GoalColumn to DonationFormsListTable
pauloiankoski Nov 21, 2022
b93155e
feature: add support for sorting columns to DonationFormsListTable
pauloiankoski Nov 21, 2022
fef78f6
fix: cast column to be sorted as number
pauloiankoski Nov 22, 2022
9e83564
Merge pull request #6612 from impress-org/feature/donation-forms-list…
pauloiankoski Nov 22, 2022
6cacd5c
tests: update DonationFormTest with new faux donation form model fact…
Nov 22, 2022
747a8f5
Feature: Donation table Live/Test switch (#6613)
JoshuaHungDinh Nov 23, 2022
d982d42
Merge branch 'develop' into epic/form-ui-column-sorting
JoshuaHungDinh Nov 30, 2022
6c78be9
Merge branch 'develop' into epic/form-ui-column-sorting
pauloiankoski Dec 2, 2022
019ece9
Feature/form UI subscriptions table endpoint (#6616)
pauloiankoski Dec 2, 2022
e983520
Fix: Bulk checkboxes reset checked value after sorting (#6618)
JoshuaHungDinh Dec 7, 2022
4aa128e
Fix: Limited subscription tooltip messages use correct nouns. (#6625)
JoshuaHungDinh Dec 7, 2022
f65edc2
Refactor/speed up endpoint performance (#6631)
pauloiankoski Dec 8, 2022
5891733
Fix/subscription payment mode column (#6633)
pauloiankoski Dec 9, 2022
8f8ed1e
Refactor/speed up endpoint performance (#6635)
pauloiankoski Dec 16, 2022
ea29602
Refactor/list table columns for addons (#6639)
pauloiankoski Dec 16, 2022
1b9a047
Fix: Subscriptions renewed past their end date notify users of a pote…
JoshuaHungDinh Dec 20, 2022
1b0f5aa
Fix: New Donation table button added for users with the Manual Donati…
JoshuaHungDinh Dec 20, 2022
6e955a9
Fix: Loading animations are immediately visible regardless of page he…
JoshuaHungDinh Dec 21, 2022
beb6261
Merge branch 'develop' into epic/form-ui-column-sorting
pauloiankoski Dec 29, 2022
b76e414
fix: rename sortColumn value for donationsCount column
pauloiankoski Jan 2, 2023
6c1b525
Merge branch 'develop' into epic/form-ui-column-sorting
pauloiankoski Jan 2, 2023
5d872ab
refactor: update test namespaces
pauloiankoski Jan 2, 2023
5a41922
tests: update tests after changes to DB statements
pauloiankoski Jan 5, 2023
a5139e9
Merge branch 'develop' into epic/form-ui-column-sorting
pauloiankoski Jan 5, 2023
d93436b
refactor: prevent migration of trying to add column twice
pauloiankoski Jan 5, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion src/Donations/ServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
use Give\Donations\LegacyListeners\InsertSequentialId;
use Give\Donations\LegacyListeners\RemoveSequentialId;
use Give\Donations\LegacyListeners\UpdateDonorPaymentIds;
use Give\Donations\LegacyListeners\UpdateSequentialId;
use Give\Donations\ListTable\DonationsListTable;
use Give\Donations\Migrations\AddMissingDonorIdToDonationComments;
use Give\Donations\Models\Donation;
Expand Down
2 changes: 1 addition & 1 deletion src/Donors/ListTable/Columns/DonationCountColumn.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
class DonationCountColumn extends ModelColumn
{

protected $sortColumn = 'totalDonations';
protected $sortColumn = 'totalNumberOfDonations';

/**
* @unreleased
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,10 @@ private function addPaymentModeColumn()
$subscriptionTableName = "{$wpdb->prefix}give_subscriptions";

try {
DB::query(
"
ALTER TABLE `$subscriptionTableName`
ADD COLUMN `payment_mode` varchar(20) NOT NULL
AFTER `parent_payment_id`;
"
maybe_add_column(
$subscriptionTableName,
'payment_mode',
"ALTER TABLE `$subscriptionTableName` ADD COLUMN `payment_mode` varchar(20) NOT NULL DEFAULT '' AFTER `parent_payment_id`"
);
} catch (DatabaseQueryException $exception) {
throw new DatabaseMigrationException('An error occurred adding the payment mode column to the subscription table',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?php

namespace GiveTests\Unit\DonationForms\DataTransferObjects;
namespace Give\Tests\Unit\DonationForms\DataTransferObjects;

use Give\DonationForms\DataTransferObjects\DonationFormQueryData;
use Give\DonationForms\ValueObjects\DonationFormMetaKeys;
use Give\Framework\Database\DB;
use GiveTests\TestCase;
use GiveTests\TestTraits\RefreshDatabase;
use GiveTests\Unit\DonationForms\TestTraits\LegacyDonationFormAdapter;
use Give\Tests\TestCase;
use Give\Tests\TestTraits\RefreshDatabase;
use Give\Tests\Unit\DonationForms\TestTraits\LegacyDonationFormAdapter;

final class DonationFormQueryDataTest extends TestCase
{
Expand Down
8 changes: 4 additions & 4 deletions tests/Unit/DonationForms/Endpoints/TestListDonationForms.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?php

namespace GiveTests\Unit\DonationForms\Endpoints;
namespace Give\Tests\Unit\DonationForms\Endpoints;

use Exception;
use Give\DonationForms\Endpoints\ListDonationForms;
use Give\DonationForms\ListTable\DonationFormsListTable;
use GiveTests\TestCase;
use GiveTests\TestTraits\RefreshDatabase;
use GiveTests\Unit\DonationForms\TestTraits\LegacyDonationFormAdapter;
use Give\Tests\TestCase;
use Give\Tests\TestTraits\RefreshDatabase;
use Give\Tests\Unit\DonationForms\TestTraits\LegacyDonationFormAdapter;
use WP_REST_Request;
use WP_REST_Server;

Expand Down
8 changes: 4 additions & 4 deletions tests/Unit/DonationForms/Models/DonationFormTest.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?php

namespace GiveTests\Unit\DonationForms\DataTransferObjects;
namespace Give\Tests\Unit\DonationForms\DataTransferObjects;

use Give\DonationForms\Models\DonationForm;
use GiveTests\TestCase;
use GiveTests\TestTraits\RefreshDatabase;
use GiveTests\Unit\DonationForms\TestTraits\LegacyDonationFormAdapter;
use Give\Tests\TestCase;
use Give\Tests\TestTraits\RefreshDatabase;
use Give\Tests\Unit\DonationForms\TestTraits\LegacyDonationFormAdapter;

final class DonationFormTest extends TestCase
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace GiveTests\Unit\DonationForms\TestTraits;
namespace Give\Tests\Unit\DonationForms\TestTraits;

use Give\DonationForms\Models\DonationForm;
use Give\DonationForms\Properties\DonationFormLevel;
Expand Down
6 changes: 3 additions & 3 deletions tests/Unit/Donations/Endpoints/TestListDonations.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?php

namespace GiveTests\Unit\Donations\Endpoints;
namespace Give\Tests\Unit\Donations\Endpoints;

use Exception;
use Give\Donations\Endpoints\ListDonations;
use Give\Donations\ListTable\DonationsListTable;
use Give\Donations\Models\Donation;
use GiveTests\TestCase;
use GiveTests\TestTraits\RefreshDatabase;
use Give\Tests\TestCase;
use Give\Tests\TestTraits\RefreshDatabase;
use WP_REST_Request;
use WP_REST_Server;

Expand Down
6 changes: 3 additions & 3 deletions tests/Unit/Donors/Endpoints/TestListDonors.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?php

namespace GiveTests\Unit\Donors\Endpoints;
namespace Give\Tests\Unit\Donors\Endpoints;

use Exception;
use Give\Donors\Endpoints\ListDonors;
use Give\Donors\ListTable\DonorsListTable;
use Give\Donors\Models\Donor;
use GiveTests\TestCase;
use GiveTests\TestTraits\RefreshDatabase;
use Give\Tests\TestCase;
use Give\Tests\TestTraits\RefreshDatabase;
use WP_REST_Request;
use WP_REST_Server;

Expand Down
2 changes: 1 addition & 1 deletion tests/Unit/Framework/QueryBuilder/AttachMetaTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ public function testConfigureMeta()
->where('donationMeta.custom_meta_value', 1);

$this->assertContains(
"SELECT posts.ID AS id, posts.post_date AS createdAt, wp_give_donationmeta_attach_meta_amount.custom_meta_value AS amount FROM wp_posts AS posts LEFT JOIN wp_give_donationmeta wp_give_donationmeta_attach_meta_amount ON posts.ID = wp_give_donationmeta_attach_meta_0.donation_id AND wp_give_donationmeta_attach_meta_amount.custom_meta_key = '_give_payment_total' LEFT JOIN wp_give_donationmeta donationMeta ON posts.ID = donationMeta.donation_id WHERE posts.post_type = 'give_payment' AND posts.post_status = 'give_subscription' AND donationMeta.custom_meta_key = 'subscription_id' AND donationMeta.custom_meta_value = '1'",
"SELECT posts.ID AS id, posts.post_date AS createdAt, wp_give_donationmeta_attach_meta_amount.custom_meta_value AS amount FROM wp_posts AS posts LEFT JOIN wp_give_donationmeta wp_give_donationmeta_attach_meta_amount ON posts.ID = wp_give_donationmeta_attach_meta_amount.donation_id AND wp_give_donationmeta_attach_meta_amount.custom_meta_key = '_give_payment_total' LEFT JOIN wp_give_donationmeta donationMeta ON posts.ID = donationMeta.donation_id WHERE posts.post_type = 'give_payment' AND posts.post_status = 'give_subscription' AND donationMeta.custom_meta_key = 'subscription_id' AND donationMeta.custom_meta_value = '1'",
$builder->getSQL()
);
}
Expand Down
2 changes: 1 addition & 1 deletion tests/Unit/Framework/QueryBuilder/HavingTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public function testHaving()
->having('id', '>', 10);

$this->assertContains(
"SELECT * FROM posts WHERE post_parent = '5' GROUP BY id HAVING 'id' > '10'",
"SELECT * FROM posts WHERE post_parent = '5' GROUP BY id HAVING id > '10'",
$builder->getSQL()
);
}
Expand Down
6 changes: 3 additions & 3 deletions tests/Unit/Subscriptions/Endpoints/TestListSubscriptions.php
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<?php

namespace GiveTests\Unit\Subscriptions\Endpoints;
namespace Give\Tests\Unit\Subscriptions\Endpoints;

use Exception;
use Give\Subscriptions\Endpoints\ListSubscriptions;
use Give\Subscriptions\ListTable\SubscriptionsListTable;
use Give\Subscriptions\Models\Subscription;
use Give\Subscriptions\ValueObjects\SubscriptionMode;
use GiveTests\TestCase;
use GiveTests\TestTraits\RefreshDatabase;
use Give\Tests\TestCase;
use Give\Tests\TestTraits\RefreshDatabase;
use WP_REST_Request;
use WP_REST_Server;

Expand Down