Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-06-15T13:31:25Zhttps://lab.civicrm.org/dev/core/-/issues/4207SearchKit/FormBuilder - handling monetary totals2023-06-15T13:31:25Zaydunsaidan.saunders@squiffle.ukSearchKit/FormBuilder - handling monetary totalsA few related issues around totals of contributions:
1) One frequent need is to show a list of Contributions with a total. SearchKit produces the list and FormBuilder happily adds up the contribution amounts regardless of currency, pro...A few related issues around totals of contributions:
1) One frequent need is to show a list of Contributions with a total. SearchKit produces the list and FormBuilder happily adds up the contribution amounts regardless of currency, producing a useless figure.
For example with a simple search of contributions shown in a table with Totals enabled:
![image](/uploads/5ddde3882b6f2cee65ff48fb0e28bbe7/image.png)
Probably the most user-friendly is to show a total like '$175.00, £25.00', maybe with an option for 'USD 175.00, GBP 25.00'
2) If we try to get totals by adding 'group by currency' we get:
![image](/uploads/f731fe6608e9d2cd5d6071842512270a/image.png)
Note that the GBP figure has lost the '£' and now shows with the default currency symbol '$'
In this case, if there was no currency symbol we could use rewrite to add '[currency:name]' as a workaround, but the '$' interferes with that.
See also: dev/core#3428 and https://github.com/civicrm/civicrm-core/pull/24524https://lab.civicrm.org/dev/core/-/issues/4202EntityRef custom fields don't work with API4 or SearchKit2024-01-12T15:49:42ZJonGoldEntityRef custom fields don't work with API4 or SearchKitOverview
----------------------------------------
EntityRef custom fields don't return values when selected in API4. Even after I fixed that, they're not part of the `CRM.crmSearchAdmin.joins` so they're not selectable in SearchKit.
Re...Overview
----------------------------------------
EntityRef custom fields don't return values when selected in API4. Even after I fixed that, they're not part of the `CRM.crmSearchAdmin.joins` so they're not selectable in SearchKit.
Reproduction steps
----------------------------------------
API4 issue:
* Create an EntityRef custom field.
* Go to API4 Explorer.
* Try to use them comparably to how one might use a core EntityRef field (e.g. Contact `employer_id`).
Selecting the field directly returns `NULL`. You can't join on EntityRef.
I have a PR that fixes the above, but after that, the joins still don't appear in SK. I've tracked the issue down to `\Civi\Search\Admin::getJoins()` but this exceeds my API4 knowledge limit.
Technically I'd consider this part of #3721 but since that's closed we'll track this separately.
@herbdool Once this is done, #3949 could be solved by using an EntityRef custom field instead of ContactRef.https://lab.civicrm.org/dev/core/-/issues/4201Afform - Form Submission fails for Anonymous users if Duplicate Matching is on2023-08-01T19:19:45ZalicefruminAfform - Form Submission fails for Anonymous users if Duplicate Matching is onOverview
----------------------------------------
If you create a little Afform to create/update a contact
Reproduction steps
----------------------------------------
1. Create an Afform with Generic Permissions that is Accessible on ...Overview
----------------------------------------
If you create a little Afform to create/update a contact
Reproduction steps
----------------------------------------
1. Create an Afform with Generic Permissions that is Accessible on front-end of website
2. add the fields First Name, Last Name and Email.
3. Select a Duplicate Matching Rule
4. Set the Security level as Open Access
5. Submit the form from the front end as an anonymous user.
Current behaviour
----------------------------------------
Request Authorization failed error
Expected behaviour
----------------------------------------
Form should submit and dedupehttps://lab.civicrm.org/dev/core/-/issues/4188phpunit 9 compatibility2023-09-14T20:18:28ZDaveDphpunit 9 compatibilityhttps://github.com/civicrm/civicrm-core/pull/25635
Haven't really looked too closely
```
E2E_Shimmy_LifecycleTest::testLifecycleWithSubprocesses
api_v3_AttachmentTest.testCreate with data set #0
api_v3_AttachmentTest.testCreate with...https://github.com/civicrm/civicrm-core/pull/25635
Haven't really looked too closely
```
E2E_Shimmy_LifecycleTest::testLifecycleWithSubprocesses
api_v3_AttachmentTest.testCreate with data set #0
api_v3_AttachmentTest.testCreate with data set #1
api_v3_AttachmentTest.testCreate with data set #2
api_v3_AttachmentTest.testCreate with data set #3
api_v3_AttachmentTest.testCreateFailure with data set #0
api_v3_AttachmentTest.testCreateFailure with data set #1
api_v3_AttachmentTest.testCreateFailure with data set #2
api_v3_AttachmentTest.testCreateFailure with data set #3
api_v3_AttachmentTest.testCreateWithBadUpdate with data set #0
api_v3_AttachmentTest.testCreateWithBadUpdate with data set #1
api_v3_AttachmentTest.testCreateWithBadUpdate with data set #2
api_v3_AttachmentTest.testCreateWithBadUpdate with data set #3
api_v3_AttachmentTest.testGetError with data set #0
api_v3_AttachmentTest.testGetError with data set #1
api_v3_AttachmentTest.testGetError with data set #2
api_v3_AttachmentTest.testGetError with data set #3
api_v3_AttachmentTest.testGetError with data set #4
api_v3_AttachmentTest.testGetError with data set #5
api_v3_AttachmentTest.testGetError with data set #6
api_v3_CaseTest.testTimestamps
api_v3_ContactTest.testContactGetByUnknownUsername
api_v3_ContactTest.testCreateApiKey with data set "APIv3"
api_v3_ContactTest.testCreateApiKey with data set "APIv4"
api_v3_ContributionPageTest.testSubmit
api_v3_ContributionPageTest.testSubmitZeroDollar
api_v3_ContributionPageTest.testSubmitNewBillingNameData
api_v3_ContributionPageTest.testSubmitNewBillingNameDoNotOverwrite
api_v3_ContributionPageTest.testSubmitRecurMultiProcessorInstantPayment
api_v3_ContributionPageTest.testSubmitMembershipBlockNotSeparatePayment
api_v3_ContributionPageTest.testSubmitMembershipBlockNotSeparatePaymentProcessorInstantRenew
api_v3_ContributionPageTest.testSubmitMembershipBlockNotSeparatePaymentWithEmail
api_v3_ContributionPageTest.testSubmitMembershipBlockNotSeparatePaymentZeroDollarsWithEmail
api_v3_ContributionPageTest.testSubmitMembershipBlockIsSeparatePaymentPayLaterWithEmail
api_v3_ContributionPageTest.testSubmitMembershipBlockIsSeparatePayment
api_v3_ContributionPageTest.testSubmitMembershipBlockIsSeparatePaymentWithPayLater
api_v3_ContributionPageTest.testSubmitMembershipBlockIsSeparatePaymentWithEmail
api_v3_ContributionPageTest.testSubmitMembershipBlockIsSeparatePaymentZeroDollarsPayLaterWithEmail
api_v3_ContributionPageTest.testSubmitMembershipBlockTwoTypesIsSeparatePayment
api_v3_ContributionPageTest.testSubmitMembershipBlockIsSeparatePaymentPaymentProcessorNow
api_v3_ContributionPageTest.testSubmitMembershipPriceSetPaymentPaymentProcessorRecurInstantPaymentYear
api_v3_ContributionPageTest.testSubmitMembershipPriceSetPaymentPaymentProcessorRecurInstantPaymentMonth
api_v3_ContributionPageTest.testSubmitMembershipComplexQuickConfigPaymentPaymentProcessorRecurInstantPayment
api_v3_ContributionPageTest.testSubmitMembershipPriceSetPaymentPaymentProcessorSeparatePaymentRecurInstantPayment
api_v3_ContributionPageTest.testSubmitMembershipPriceSetPaymentPaymentProcessorRecurDelayed
api_v3_ContributionPageTest.testSubmitMembershipIsSeparatePaymentNotRecur
api_v3_ContributionPageTest.testSubmitPledgePayment
api_v3_ContributionPageTest.testValidate
api_v3_ContributionPageTest.testSubmitMembershipBlockIsSeparatePaymentPaymentProcessorNowChargesCorrectAmounts with data set #0
api_v3_ContributionPageTest.testSubmitContributionPageWithPriceSet with data set #0
api_v3_ContributionPageTest.testSubmitContributionPageWithPriceSet with data set #1
api_v3_ContributionPageTest.testSubmitContributionPageWithPriceSetQuantity with data set #0
api_v3_ContributionPageTest.testSubmitContributionPageWithPriceSetQuantity with data set #1
api_v3_ContributionTest.testGetContribution
api_v3_ContributionTest.testCompleteTransaction
api_v3_ContributionTest.testCompleteTransactionEuro
api_v3_ContributionTest.testPayLater
api_v3_ContributionTest.testBillingAddress
api_v3_ContributionTest.testCompleteTransactionFeeAmount
api_v3_ContributionTest.testRepeatTransaction
api_v3_ContributionTest.testRepeatTransactionWithCustomData
api_v3_ContributionTest.testRepeatTransactionLineItems
api_v3_ContributionTest.testRepeatTransactionIsTest
api_v3_ContributionTest.testRepeatTransactionPassedInStatus
api_v3_ContributionTest.testRepeatTransactionAcceptRecurID
api_v3_ContributionTest.testRepeatTransactionTestRecurId
api_v3_ContributionTest.testRepeatTransactionMembershipRenewCompletedContribution
api_v3_ContributionTest.testRepeattransactionRenewMembershipOldMembership
api_v3_ContributionTest.testRepeatTransactionAlteredAmount
api_v3_ContributionTest.testRepeatTransactionPassedInFinancialType
api_v3_ContributionTest.testContributionOrder
api_v3_ContributionTest.testRepeatTransactionPassedInFinancialTypeTwoLineItems
api_v3_ContributionTest.testRepeatTransactionUpdatedFinancialType
api_v3_ContributionTest.testRepeatTransactionPassedInCampaign
api_v3_ContributionTest.testRepeatTransactionUpdatedCampaign
api_v3_ContributionTest.testRepeatTransactionUpdatedFinancialTypeAndNotEquals
api_v3_ContributionTest.testCompleteTransactionNetAmountOK
api_v3_ContributionTest.testCompleteTransactionWithReceiptDateSet
api_v3_ContributionTest.testCompleteTransactionForRecurring
api_v3_ContributionTest.testCompleteTransactionWithEmailReceiptInputTrue
api_v3_ContributionTest.testCompleteTransactionWithTestTemplate
api_v3_ContributionTest.testCompleteTransactionContributionPageFromAddress
api_v3_ContributionTest.testCompleteTransactionUpdatePledgePayment
api_v3_ContributionTest.testRepeatTransactionWithPledgePayment
api_v3_ContributionTest.testCompleteTransactionWithParticipantRecord
api_v3_ContributionTest.testCompleteTransactionMembershipPriceSet
api_v3_ContributionTest.testCompleteTransactionMembershipPriceSetTwoTerms
api_v3_ContributionTest.testSendMail
api_v3_ContributionTest.testSendConfirmationPayLater
api_v3_ContributionTest.testSendMailEvent
api_v3_ContributionTest.testRepeatTransactionWithNonCreditCardDefault
api_v3_ContributionTest.testRepeatTransactionMembershipCreatePendingContribution
api_v3_ContributionTest.testSendMailWithAPISetFromDetails
api_v3_ContributionTest.testSendMailWithNoFromSetFallToDomain
api_v3_ContributionTest.testSendMailWithRepeatTransactionAPIFalltoDomain
api_v3_ContributionTest.testSendMailWithRepeatTransactionAPIFalltoContributionPage
api_v3_ContributionTest.testSendMailWithRepeatTransactionAPIFalltoSystemFromNoDefaultFrom
api_v3_ContributionTest.testRepeatTransactionWithDifferenceCurrency
api_v3_ContributionTest.testRepeatContributionWithTaxAmount
api_v3_ContributionTest.testPaymentDontChangeReceiveDate
api_v3_ContributionTest.testPaymentVerifyPaymentInstrumentChange
api_v3_ContributionTest.testCheckTaxAmount with data set #0
api_v3_ContributionTest.testCheckTaxAmount with data set #1
api_v3_ContributionTest.testRepeatTransactionMembershipRenewContributionNotCompleted with data set #1
api_v3_ContributionTest.testRepeatTransactionMembershipRenewContributionNotCompleted with data set #2
api_v3_ContributionTest.testRepeatTransactionMembershipRenewContributionNotCompleted with data set #3
api_v3_ContributionTest.testRepeatTransactionMembershipRenewContributionNotCompleted with data set #4
api_v3_ContributionTest.testRepeatTransactionMembershipRenewContributionNotCompleted with data set #6
api_v3_ContributionTest.testRepeatTransactionMembershipRenewContributionNotCompleted with data set #7
api_v3_ContributionTest.testRepeatTransactionMembershipRenewContributionNotCompleted with data set #8
api_v3_ContributionTest.testCompleteTransactionSetStatusToInProgress with data set #0
api_v3_ContributionTest.testCompleteTransactionSetStatusToInProgress with data set #1
api_v3_ContributionTest.testCompleteTransactionSetStatusToInProgress with data set #2
api_v3_ContributionTest.testCompleteTransactionSetStatusToInProgress with data set "receive_date_includes_time"
api_v3_ContributionTest.testRepeatTransactionUpdateNextSchedContributionDate with data set "receive_date_includes_time_with_installments"
api_v3_ContributionTest.testRepeatTransactionUpdateNextSchedContributionDate with data set "receive_date_includes_time_no_installments"
api_v3_JobProcessMailingTest.testBasic
api_v3_JobProcessMailingTest.testDeletedRecipient
api_v3_JobProcessMailingTest.testDeceasedRecipient
api_v3_JobProcessMailingTest.testMultipleBulkRecipients
api_v3_JobProcessMailingTest.testPauseAndResumeMailing
api_v3_JobProcessMailingTest.testMailNonProductionRun
api_v3_JobProcessMailingTest.testConcurrency with data set #0
api_v3_JobProcessMailingTest.testConcurrency with data set #1
api_v3_JobProcessMailingTest.testConcurrency with data set #2
api_v3_JobProcessMailingTest.testConcurrency with data set #3
api_v3_JobProcessMailingTest.testConcurrency with data set #4
api_v3_JobProcessMailingTest.testConcurrency with data set #5
api_v3_JobProcessMailingTest.testConcurrency with data set #6
api_v3_JobProcessMailingTest.testBatchActivityTargets with data set #0
api_v3_JobProcessMailingTest.testBatchActivityTargets with data set #1
api_v3_JobTest.testCallSendReminderSuccessMoreThanDefaultLimit
api_v3_JobTest.testCallSendReminderLimitToSMS
api_v3_JobTest.testCallSendReminderLimitToSMSWithDeletedProvider
api_v3_JobTest.testMailReportForPrint
api_v3_JobTest.testMailReportForPdf
api_v3_JobTest.testMailReportForCsv
api_v3_MailingGroupTest.testMailerGroupSubscribeGivenContactId
api_v3_MailingGroupTest.testMailerProcess
api_v3_MailingTest.testMailerPreview
api_v3_MailingTest.testMailerPreviewUnknownContact
api_v3_MailingTest.testMailerSendTest_email
api_v3_MailingTest.testMailerSendTest_group
api_v3_MailingTest.testUnsubscribeGroupList
api_v3_MailingTest.testMailerStats
api_v3_MailingTest.testUrlWithMissingTrackingHash
api_v3_MailingTest.testTrackableURLWithUnicodeSign
api_v3_MailingTest.testModifiedDateMismatchOnMailingUpdate
api_v3_MailingTest.testMailerSubmit with data set #1
api_v3_MailingTest.testMailerSubmit with data set #3
api_v3_MailingTest.testMailerSubmit with data set #4
api_v3_MailingTest.testMailerSubmit with data set #5
api_v3_MailingTest.testMailerSubmit with data set #6
api_v3_MailingTest.testMailerSubmit with data set #7
api_v3_MembershipTest.testMultipleMembershipContribution
api_v3_OrderTest.testAddOrderForMembership
api_v3_OrderTest.testCreateWithChainedPayment
api_v3_PaymentTest.testMultiplePaymentsForContribution
api_v3_PaymentTest.testPaymentSendContributionReceipt
api_v3_PaymentTest.testPaymentEmailReceipt
api_v3_PaymentTest.testPaymentEmailReceiptFullyPaid
api_v3_PaymentTest.testCreatePaymentNoLineItems
api_v3_PaymentTest.testCreatePaymentLineItems
api_v3_PaymentTest.testCreatePaymentPayLater
api_v3_PaymentTest.testCreatePaymentOnFailedContribution
api_v3_PaymentTest.testCreatePaymentPayLaterPartialPayment
api_v3_PaymentTest.testPaymentCreateTrxnIdAndDates
api_v3_PaymentTest.testRefundEmailReceipt with data set #0
api_v3_PaymentTest.testRefundEmailReceipt with data set #1
api_v3_SyntaxConformanceTest.testNotImplemented_get with data set #0
api_v3_SyntaxConformanceTest.testNotImplemented_get with data set #1
api_v3_SystemTest.testSystemGet
api\v4\Action\ContactGetTest.testGetWithLimit
api\v4\Entity\ConformanceTest.testConformance with data set "ACL"
api\v4\Entity\ConformanceTest.testConformance with data set "ACLEntityRole"
api\v4\Entity\ConformanceTest.testConformance with data set "ActionSchedule"
api\v4\Entity\ConformanceTest.testConformance with data set "Activity"
api\v4\Entity\ConformanceTest.testConformance with data set "ActivityContact"
api\v4\Entity\ConformanceTest.testConformance with data set "Address"
api\v4\Entity\ConformanceTest.testConformance with data set "Batch"
api\v4\Entity\ConformanceTest.testConformance with data set "Campaign"
api\v4\Entity\ConformanceTest.testConformance with data set "Case"
api\v4\Entity\ConformanceTest.testConformance with data set "CaseActivity"
api\v4\Entity\ConformanceTest.testConformance with data set "CaseContact"
api\v4\Entity\ConformanceTest.testConformance with data set "CaseType"
api\v4\Entity\ConformanceTest.testConformance with data set "Contact"
api\v4\Entity\ConformanceTest.testConformance with data set "ContactType"
api\v4\Entity\ConformanceTest.testConformance with data set "Contribution"
api\v4\Entity\ConformanceTest.testConformance with data set "ContributionPage"
api\v4\Entity\ConformanceTest.testConformance with data set "ContributionProduct"
api\v4\Entity\ConformanceTest.testConformance with data set "ContributionRecur"
api\v4\Entity\ConformanceTest.testConformance with data set "ContributionSoft"
api\v4\Entity\ConformanceTest.testConformance with data set "Country"
api\v4\Entity\ConformanceTest.testConformance with data set "County"
api\v4\Entity\ConformanceTest.testConformance with data set "CustomField"
api\v4\Entity\ConformanceTest.testConformance with data set "CustomGroup"
api\v4\Entity\ConformanceTest.testConformance with data set "Dashboard"
api\v4\Entity\ConformanceTest.testConformance with data set "DashboardContact"
api\v4\Entity\ConformanceTest.testConformance with data set "DedupeException"
api\v4\Entity\ConformanceTest.testConformance with data set "DedupeRule"
api\v4\Entity\ConformanceTest.testConformance with data set "DedupeRuleGroup"
api\v4\Entity\ConformanceTest.testConformance with data set "Domain"
api\v4\Entity\ConformanceTest.testConformance with data set "Email"
api\v4\Entity\ConformanceTest.testConformance with data set "Entity"
api\v4\Entity\ConformanceTest.testConformance with data set "EntityBatch"
api\v4\Entity\ConformanceTest.testConformance with data set "EntityFinancialAccount"
api\v4\Entity\ConformanceTest.testConformance with data set "EntityFinancialTrxn"
api\v4\Entity\ConformanceTest.testConformance with data set "EntityTag"
api\v4\Entity\ConformanceTest.testConformance with data set "Event"
api\v4\Entity\ConformanceTest.testConformance with data set "ExampleData"
api\v4\Entity\ConformanceTest.testConformance with data set "Extension"
api\v4\Entity\ConformanceTest.testConformance with data set "File"
api\v4\Entity\ConformanceTest.testConformance with data set "FinancialAccount"
api\v4\Entity\ConformanceTest.testConformance with data set "FinancialItem"
api\v4\Entity\ConformanceTest.testConformance with data set "FinancialTrxn"
api\v4\Entity\ConformanceTest.testConformance with data set "FinancialType"
api\v4\Entity\ConformanceTest.testConformance with data set "Group"
api\v4\Entity\ConformanceTest.testConformance with data set "GroupContact"
api\v4\Entity\ConformanceTest.testConformance with data set "GroupNesting"
api\v4\Entity\ConformanceTest.testConformance with data set "GroupOrganization"
api\v4\Entity\ConformanceTest.testConformance with data set "IM"
api\v4\Entity\ConformanceTest.testConformance with data set "Job"
api\v4\Entity\ConformanceTest.testConformance with data set "JobLog"
api\v4\Entity\ConformanceTest.testConformance with data set "LineItem"
api\v4\Entity\ConformanceTest.testConformance with data set "LocBlock"
api\v4\Entity\ConformanceTest.testConformance with data set "LocationType"
api\v4\Entity\ConformanceTest.testConformance with data set "Log"
api\v4\Entity\ConformanceTest.testConformance with data set "MailSettings"
api\v4\Entity\ConformanceTest.testConformance with data set "Mailing"
api\v4\Entity\ConformanceTest.testConformance with data set "MailingEventBounce"
api\v4\Entity\ConformanceTest.testConformance with data set "MailingEventConfirm"
api\v4\Entity\ConformanceTest.testConformance with data set "MailingEventOpened"
api\v4\Entity\ConformanceTest.testConformance with data set "MailingEventQueue"
api\v4\Entity\ConformanceTest.testConformance with data set "MailingEventSubscribe"
api\v4\Entity\ConformanceTest.testConformance with data set "MailingEventUnsubscribe"
api\v4\Entity\ConformanceTest.testConformance with data set "MailingGroup"
api\v4\Entity\ConformanceTest.testConformance with data set "MailingJob"
api\v4\Entity\ConformanceTest.testConformance with data set "Managed"
api\v4\Entity\ConformanceTest.testConformance with data set "Mapping"
api\v4\Entity\ConformanceTest.testConformance with data set "MappingField"
api\v4\Entity\ConformanceTest.testConformance with data set "Membership"
api\v4\Entity\ConformanceTest.testConformance with data set "MembershipBlock"
api\v4\Entity\ConformanceTest.testConformance with data set "MembershipStatus"
api\v4\Entity\ConformanceTest.testConformance with data set "MembershipType"
api\v4\Entity\ConformanceTest.testConformance with data set "MessageTemplate"
api\v4\Entity\ConformanceTest.testConformance with data set "Navigation"
api\v4\Entity\ConformanceTest.testConformance with data set "Note"
api\v4\Entity\ConformanceTest.testConformance with data set "OpenID"
api\v4\Entity\ConformanceTest.testConformance with data set "OptionGroup"
api\v4\Entity\ConformanceTest.testConformance with data set "OptionValue"
api\v4\Entity\ConformanceTest.testConformance with data set "PCP"
api\v4\Entity\ConformanceTest.testConformance with data set "PCPBlock"
api\v4\Entity\ConformanceTest.testConformance with data set "Participant"
api\v4\Entity\ConformanceTest.testConformance with data set "ParticipantStatusType"
api\v4\Entity\ConformanceTest.testConformance with data set "PaymentProcessor"
api\v4\Entity\ConformanceTest.testConformance with data set "PaymentProcessorType"
api\v4\Entity\ConformanceTest.testConformance with data set "PaymentToken"
api\v4\Entity\ConformanceTest.testConformance with data set "Permission"
api\v4\Entity\ConformanceTest.testConformance with data set "Phone"
api\v4\Entity\ConformanceTest.testConformance with data set "Pledge"
api\v4\Entity\ConformanceTest.testConformance with data set "PledgePayment"
api\v4\Entity\ConformanceTest.testConformance with data set "PriceField"
api\v4\Entity\ConformanceTest.testConformance with data set "PriceFieldValue"
api\v4\Entity\ConformanceTest.testConformance with data set "PriceSet"
api\v4\Entity\ConformanceTest.testConformance with data set "PriceSetEntity"
api\v4\Entity\ConformanceTest.testConformance with data set "PrintLabel"
api\v4\Entity\ConformanceTest.testConformance with data set "Product"
api\v4\Entity\ConformanceTest.testConformance with data set "Queue"
api\v4\Entity\ConformanceTest.testConformance with data set "RecentItem"
api\v4\Entity\ConformanceTest.testConformance with data set "Relationship"
api\v4\Entity\ConformanceTest.testConformance with data set "RelationshipCache"
api\v4\Entity\ConformanceTest.testConformance with data set "RelationshipType"
api\v4\Entity\ConformanceTest.testConformance with data set "ReportInstance"
api\v4\Entity\ConformanceTest.testConformance with data set "Route"
api\v4\Entity\ConformanceTest.testConformance with data set "SavedSearch"
api\v4\Entity\ConformanceTest.testConformance with data set "Setting"
api\v4\Entity\ConformanceTest.testConformance with data set "StateProvince"
api\v4\Entity\ConformanceTest.testConformance with data set "StatusPreference"
api\v4\Entity\ConformanceTest.testConformance with data set "SubscriptionHistory"
api\v4\Entity\ConformanceTest.testConformance with data set "Survey"
api\v4\Entity\ConformanceTest.testConformance with data set "System"
api\v4\Entity\ConformanceTest.testConformance with data set "Tag"
api\v4\Entity\ConformanceTest.testConformance with data set "Translation"
api\v4\Entity\ConformanceTest.testConformance with data set "UFField"
api\v4\Entity\ConformanceTest.testConformance with data set "UFGroup"
api\v4\Entity\ConformanceTest.testConformance with data set "UFJoin"
api\v4\Entity\ConformanceTest.testConformance with data set "UFMatch"
api\v4\Entity\ConformanceTest.testConformance with data set "UserJob"
api\v4\Entity\ConformanceTest.testConformance with data set "Website"
api\v4\Entity\ConformanceTest.testConformance with data set "WordReplacement"
api\v4\Entity\ConformanceTest.testConformance with data set "WorkflowMessage"
api\v4\Entity\ConformanceTest.testConformance with data set "WorldRegion"
api\v4\Entity\TranslationTest.testCreateBad with data set "badStatus"
api\v4\Entity\TranslationTest.testCreateBad with data set "malformedField"
api\v4\Entity\TranslationTest.testCreateBad with data set "badTable"
api\v4\Entity\TranslationTest.testCreateBad with data set "badFieldName"
api\v4\Entity\TranslationTest.testCreateBad with data set "badFieldType"
api\v4\Entity\TranslationTest.testCreateBad with data set "badEntityId"
api\v4\Entity\TranslationTest.testUpdateBad with data set "badStatus"
api\v4\Entity\TranslationTest.testUpdateBad with data set "malformedField"
api\v4\Entity\TranslationTest.testUpdateBad with data set "badTable"
api\v4\Entity\TranslationTest.testUpdateBad with data set "badFieldName"
api\v4\Entity\TranslationTest.testUpdateBad with data set "badFieldType"
api\v4\Entity\TranslationTest.testUpdateBad with data set "badEntityId"
api\v4\Entity\ValidateValuesTest.testHookData
api\v4\Entity\ValidateValuesTest.testRaiseError
api\v4\Entity\WorkflowMessageTest.testRenderDefaultTemplate
api\v4\Entity\WorkflowMessageTest.testRenderCustomTemplate
api\v4\Entity\WorkflowMessageTest.testRenderExamples with data set "workflow/contribution_recurring_edit/AlexCancelled"
Civi\API\Subscriber\DynamicFKAuthorizationTest.testNotDelegated
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #0
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #1
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #2
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #3
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #4
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #5
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #6
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #7
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #8
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #9
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #10
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #11
Civi\API\Subscriber\DynamicFKAuthorizationTest.testBad with data set #12
Civi\API\Subscriber\WhitelistSubscriberTest.testEach with data set #3
Civi\API\Subscriber\WhitelistSubscriberTest.testEach with data set #5
Civi\API\Subscriber\WhitelistSubscriberTest.testEach with data set #8
Civi\API\Subscriber\WhitelistSubscriberTest.testEach with data set #9
Civi\API\Subscriber\WhitelistSubscriberTest.testEach with data set #12
Civi\API\Subscriber\WhitelistSubscriberTest.testEach with data set #13
Civi\API\Subscriber\WhitelistSubscriberTest.testEach with data set #17
Civi\API\Subscriber\WhitelistSubscriberTest.testEach with data set #22
Civi\API\Subscriber\WhitelistSubscriberTest.testEach with data set #27
Civi\API\Subscriber\WhitelistSubscriberTest.testEach with data set #29
Civi\API\Subscriber\WhitelistSubscriberTest.testEach with data set #30
Civi\Angular\LoaderTest.testSettingFactory with data set #0
Civi\Angular\LoaderTest.testSettingFactory with data set #1
Civi\Angular\LoaderTest.testSettingFactory with data set #2
Civi\Angular\ManagerTest.testGetPartials
Civi\Angular\ManagerTest.testGetPartials_Hooked
Civi\Angular\ManagerTest.testGetJs_Asset
Civi\Core\CiviEventDispatcherTest.testDispatchPolicy_fail
Civi\Crypto\CryptoJwtTest.testSignVerifyExpire
Civi\Crypto\CryptoJwtTest.testSignMixKeys with data set #3
Civi\Crypto\CryptoRegistryTest.testAddBadKeyId
Civi\Crypto\CryptoTokenTest.testDecryptInvalid
Civi\Crypto\CryptoTokenTest.testRekeyCiphertext
Civi\Crypto\CryptoTokenTest.testRekeyUpgradeDowngradePlaintext
Civi\Crypto\CryptoTokenTest.testRoundtrip with data set #0
Civi\Crypto\CryptoTokenTest.testRoundtrip with data set #1
Civi\Crypto\CryptoTokenTest.testRoundtrip with data set #2
Civi\Crypto\CryptoTokenTest.testRoundtrip with data set #3
Civi\Crypto\CryptoTokenTest.testRoundtrip with data set #4
Civi\Crypto\CryptoTokenTest.testRoundtrip with data set #5
Civi\Payment\PropertyBagTest.testBillingCountry
Civi\Pipe\JsonRpcSessionTest.testApi3ErrorModes
Civi\Pipe\JsonRpcSessionTest.testApi4Authz
Civi\Pipe\JsonRpcSessionTest.testApi4ErrorModes
Civi\Schema\MagicGetterSetterTest.testExample
Civi\Test\ExampleHookTest.testPageOutput
Civi\Test\ExampleSubscriberTest.testPageOutput
Civi\WorkflowMessage\ExampleWorkflowMessageTest.testExampleRender
Civi\WorkflowMessage\ExampleWorkflowMessageTest.testImpromptuRender
Civi\WorkflowMessage\ExampleWorkflowMessageTest.testRenderStoredTemplate
CRM_Activity_BAO_ActivityTest.testSendEmailBasic
CRM_Activity_BAO_ActivityTest.testSendEmailBasicWithoutAnyTokens
CRM_Activity_BAO_ActivityTest.testSendEmailWithCampaign
CRM_Activity_BAO_ActivityTest.testSendSmsNoPhoneNumber
CRM_Activity_BAO_ActivityTest.testSendSmsLandLinePhoneNumber
CRM_Activity_BAO_ActivityTest.testSendSmsMobilePhoneNumber
CRM_Activity_BAO_ActivityTest.testSendSMSMobileInToProviderParam
CRM_Activity_BAO_ActivityTest.testSendSMSMobileInToProviderParamWithDoNotSMS
CRM_Activity_BAO_ActivityTest.testSendEmailWithCaseId
CRM_Activity_BAO_ActivityTest.testSendEmailWillReplaceTokensUniquelyForEachContact
CRM_Activity_BAO_ActivityTest.testSendEmailWillReplaceTokensUniquelyForEachContact3
CRM_Activity_BAO_ActivityTest.testSendEmailDoesNotDuplicateAttachmentFileIDsForActivitiesCreated
CRM_Activity_Form_ActivityTest.testActivityCreate
CRM_Activity_ActionMappingTest.testDefault with data set #0
CRM_Activity_ActionMappingTest.testDefault with data set #1
CRM_Activity_ActionMappingTest.testDefault with data set #2
CRM_Activity_ActionMappingTest.testDefault with data set #3
CRM_Activity_ActionMappingTest.testDefault with data set #5
CRM_Campaign_BAO_PetitionTest.testPetitionEmailWithDomainTokens
CRM_Case_Form_EmailTest.testOpeningEmailForm
CRM_Case_Form_EmailTest.testCaseTokenForRecipientAddedAfterOpeningForm
CRM_Case_Form_SearchTest.testOpeningFindCaseForm
CRM_Contact_BAO_ContactTest.testTimestampContact
CRM_Contact_BAO_ContactTest.testTimestampsEmail
CRM_Contact_BAO_ContactTest.testTimestampsPhone
CRM_Contact_BAO_ContactTest.testTimestampsCustom
CRM_Contact_BAO_QueryTest.testGetSummaryQueryWithFinancialACLDisabled
CRM_Contact_BAO_QueryTest.testGetSummaryQueryWithFinancialACLEnabled
CRM_Contact_Form_Task_EmailTest.testPostProcessWithSignature
CRM_Contact_Form_Task_PDFLetterCommonTest.testContactTokensAreResolved
CRM_Contact_Form_Task_PDFLetterCommonTest.testCaseTokensAreResolved
CRM_Contact_Form_Task_PDFLetterCommonTest.testFilenameIsAssigned with data set #0
CRM_Contact_Form_Task_PDFLetterCommonTest.testFilenameIsAssigned with data set #1
CRM_Contact_Form_Task_PDFLetterCommonTest.testFilenameIsAssigned with data set #2
CRM_Contact_Form_Task_PDFLetterCommonTest.testFilenameIsAssigned with data set #3
CRM_Contact_Form_Task_PDFLetterCommonTest.testFilenameIsAssigned with data set #4
CRM_Contact_Form_Task_PDFLetterCommonTest.testFilenameIsAssigned with data set #5
CRM_Contact_Form_Task_PrintDocumentTest.testPrintDocument
CRM_Contact_Form_IndividualTest.testOpeningNewIndividualForm
CRM_Contact_Form_IndividualTest.testOpeningNewIndividualFormWithCustomField
CRM_Contact_Page_View_UserDashBoardTest.testDashboardContentEmptyContact
CRM_Contact_Page_View_UserDashBoardTest.testDashboardContentContributionsWithInvoicingEnabled
CRM_Contact_Page_View_UserDashBoardTest.testDashboardContentContributions
CRM_Contact_Page_View_UserDashBoardTest.testUserDashboardHonorContact
CRM_Contact_Page_View_UserDashBoardTest.testDashboardPartialPayments
CRM_Contribute_ActionMapping_ByTypeTest.testTokenRendering
CRM_Contribute_ActionMapping_ByTypeTest.testDefault with data set #0
CRM_Contribute_ActionMapping_ByTypeTest.testDefault with data set #1
CRM_Contribute_ActionMapping_ByTypeTest.testDefault with data set #3
CRM_Contribute_ActionMapping_ByTypeTest.testDefault with data set #4
CRM_Contribute_ActionMapping_ByTypeTest.testDefault with data set #5
CRM_Contribute_ActionMapping_ByTypeTest.testDefault with data set #6
CRM_Contribute_ActionMapping_ByTypeTest.testDefault with data set #7
CRM_Contribute_BAO_ContributionRecurTest.testGetTemplateContributionNewTemplate
CRM_Contribute_BAO_ContributionRecurTest.testAutoRenewalWhenOneMemberIsDeceased
CRM_Contribute_BAO_ContributionTest.testCreate
CRM_Contribute_BAO_ContributionTypeTest.testAdd
CRM_Contribute_BAO_ProductTest.testAdd
CRM_Contribute_BAO_QueryTest.CRM_Contribute_BAO_QueryTest::testSearchPseudoReturnProperties
CRM_Contribute_Form_Contribution_ConfirmTest.testPayNowPayment
CRM_Contribute_Form_Contribution_MainTest.testSetRecurFunction
CRM_Contribute_Form_Contribution_ThankYouTest.testLiveAndTestContributionStatus
CRM_Contribute_Form_ContributionPage_SettingsTest.testValidFormSubmission
CRM_Contribute_Form_Task_EmailTest.testEmailTokens
CRM_Contribute_Form_Task_InvoiceTest.testInvoiceForDueDate
CRM_Contribute_Form_Task_PDFLetterCommonTest.testGroupedThankYous
CRM_Contribute_Form_Task_PDFTest.testSendPDF
CRM_Contribute_Form_Task_StatusTest.testUpdatePendingContributionWithSendingEmail
CRM_Contribute_Form_AdditionalPaymentTest.testAddPaymentUsingCreditCardForPartiallyPaidContribution
CRM_Contribute_Form_CancelSubscriptionTest.testMail
CRM_Contribute_Form_ContributionPageTranslationTest.testCreateHonor
CRM_Contribute_Form_ContributionTest.CRM_Contribute_Form_ContributionTest::testSubmit
CRM_Contribute_Form_ContributionViewTest.testContributionViewLimitedPermissions
CRM_Contribute_Form_SearchTest.testBatchFilter
CRM_Contribute_Form_TaskTest.testPreProcessCommonAfterSorting
CRM_Contribute_Form_UpdateSubscriptionTest.testMail
CRM_Contribute_Import_Parser_ContributionTest.CRM_Contribute_Import_Parser_ContributionTest::testImportParserWithSoftCreditsByExternalIdentifier
CRM_Contribute_Page_AjaxTest.testGetSoftContributionSelector
CRM_Contribute_Page_TabTest.testLinksManual
CRM_Contribute_Selector_SearchTest.testSoftCreditFieldsSelected
CRM_Contribute_PseudoConstantTest.testGetRelationalFinancialAccount
CRM_Core_BAO_ActionScheduleTest.CRM_Core_BAO_ActionScheduleTest::testMailer
CRM_Core_BAO_AddressTest.testCreate
CRM_Core_BAO_CacheTest.testMultiVersionDecode
CRM_Core_BAO_ConfigSettingTest.testToggleComponent
CRM_Core_BAO_CustomFieldTest.testCreateCustomField
CRM_Core_BAO_CustomGroupTest.testGetTree
CRM_Core_BAO_CustomQueryTest.testSearchCustomDataDateRelative
CRM_Core_BAO_CustomValueTableMultipleTest.testCustomGroupMultipleSingle
CRM_Core_BAO_CustomValueTableSetGetTest.testSetGetValuesDate
CRM_Core_BAO_CustomValueTableTest.testStoreCountry
CRM_Core_BAO_CustomValueTest.testTypeCheckWithValidInput
CRM_Core_BAO_EmailTest.testCreate
CRM_Core_BAO_FinancialTrxnTest.testCreate
CRM_Core_BAO_IMTest.testCreate
CRM_Core_BAO_LocationTest.testCreateWithMissingParams
CRM_Core_BAO_MappingTest.CRM_Core_BAO_MappingTest::testSaveMappingFields
CRM_Core_BAO_MessageTemplateTest.testRenderTemplate
CRM_Core_BAO_NavigationTest.testCreateMissingReportMenuItemLink
CRM_Core_BAO_OpenIDTest.testAdd
CRM_Core_BAO_OptionGroupTest.testEnsureOptionGroupExistsExistingValue
CRM_Core_BAO_OptionValueTest.testHandlingForMultiDefaultOptions
CRM_Core_BAO_PhoneTest.testAdd
CRM_Core_BAO_PreferencesTest.testValueOptions
CRM_Core_BAO_PrevNextCacheTest.testFlipData
CRM_Core_BAO_RecurringEntityTest.testActivityGeneration
CRM_Core_BAO_SchemaHandlerTest.testCreateIndex
CRM_Core_BAO_SettingTest.testEnableComponentValid
CRM_Core_BAO_TagTest.testGetTreeWithoutFilters
CRM_Core_BAO_UFFieldTest.testGetAvailable_byGid
CRM_Core_BAO_UFGroupTest.testPreHookIsCalledForCreate
CRM_Core_BAO_UFMatchTest.testGetUFValuesWithNonexistentUFId
CRM_Core_CodeGen_FreshnessTest.testDAOs
CRM_Core_Config_MagicMergeTest.CRM_Core_Config_MagicMergeTest::testTempOverride
CRM_Core_Config_MailerTest.testHookAlterMailer
CRM_Core_DAO_AllCoreTablesTest.testGetTableForClass
CRM_Core_I18n_LocaleTest.testI18nLocaleChange
CRM_Core_I18n_SchemaTest.CRM_Core_I18n_SchemaTest::testI18nSchemaRewrite
CRM_Core_Page_Inline_HelpTest.CRM_Core_Page_Inline_HelpTest::testHelpFileLoad
CRM_Core_Page_AJAXTest.testCheckAuthz
CRM_Core_Page_HookTest.testFormsCallBuildFormOnce
CRM_Core_Page_RedirectTest.CRM_Core_Page_RedirectTest::testCreateUrl
CRM_Core_Payment_AuthorizeNetIPNTest.testIPNPaymentRecurNoReceipt
CRM_Core_Payment_AuthorizeNetTest.testSinglePayment
CRM_Core_Payment_BaseIPNTest.testLoadMembershipObjectsLoadAll
CRM_Core_Payment_PayPalIPNTest.testInvoiceSentOnIPNPaymentSuccess
CRM_Core_Payment_PayPalProIPNTest.testIPNPaymentRecurSuccess
CRM_Core_Payment_PaypalProTest.testSinglePayment
CRM_Core_Payment_PaypalStdTest.testSinglePayment
CRM_Core_Payment_ProcessorFormTest.testPaymentProcessorWithStandardBillingRequirements
CRM_Core_Permission_BaseTest.CRM_Core_Permission_BaseTest::testTranslate
CRM_Core_Permission_GenericTest.CRM_Core_Permission_GenericTest::testAlwaysDenyPermission
CRM_Core_Permission_JoomlaTest.CRM_Core_Permission_JoomlaTest::testTranslate
CRM_Core_Resources_BundleTest.testMergeIntoRegion
CRM_Core_Resources_StringsTest.testGet
CRM_Core_Smarty_plugins_CrmMoneyTest.CRM_Core_Smarty_plugins_CrmMoneyTest::testMoney
CRM_Core_Smarty_plugins_CrmRSSPubDateTest.CRM_Core_Smarty_plugins_CrmRSSPubDateTest::testRSSPubDate
CRM_Core_Smarty_plugins_CrmScopeTest.CRM_Core_Smarty_plugins_CrmScopeTest::testBlank
CRM_Core_Smarty_plugins_CrmUpperTest.testUpper
CRM_Core_CommunityMessagesTest.testIsEnabled
CRM_Core_ComposerConfigTest.testHardLocks
CRM_Core_CopyTest.testEventCopy
CRM_Core_DAOConformanceTest.testFieldsHaveTitles
CRM_Core_DAOTest.testGetReferenceColumns
CRM_Core_ErrorTest.testFormatBacktrace_debug
CRM_Core_FieldOptionsTest.testOptionValues
CRM_Core_FormTest.CRM_Core_FormTest::testOpeningForms
CRM_Core_InnoDBIndexerTest.testHasDeclaredIndex
CRM_Core_InvokeTest.testInvokeDashboardForNonAdmin
CRM_Core_JobManagerTest.testHookCron
CRM_Core_KeyTest.testOK
CRM_Core_ManagedEntitiesTest.testAddRemoveEntitiesModule_UpdateAlways_DeleteAlways
CRM_Core_MenuTest.testReadXML
CRM_Core_OptionGroupTest.testWeightOptionGroup
CRM_Core_PageTest.CRM_Core_PageTest::testMakeIcons
CRM_Core_PaymentTest.testHandlePaymentMethodLogging
CRM_Core_PseudoConstantTest.testOptionValues
CRM_Core_RegionTest.testBlank
CRM_Core_ResourcesTest.testCreateBasicBundle
CRM_Core_SessionTest.testSetStatusWithTextOnly
CRM_Core_TokenSmartyTest.testMixedData
CRM_Core_TransactionTest.CRM_Core_TransactionTest::testBasicCommit
CRM_Custom_Form_FieldTest.CRM_Custom_Form_FieldTest::testDetermineSerializeType
CRM_Custom_Form_OptionTest.testEditCustomFieldOptionValue
CRM_Custom_Import_Parser_ApiTest.testImport
CRM_Custom_Page_AJAXTest.testMultiRecordFieldList
CRM_Dedupe_BAO_RuleGroupTest.testSupportedFields
CRM_Dedupe_DedupeFinderTest.testUnsupervisedDupes
CRM_Dedupe_MergerTest.testBatchMergeSelectedDuplicates
CRM_Event_BAO_AdditionalPaymentTest.testPaymentWithCustomPaymentInstrument
CRM_Event_BAO_ChangeFeeSelectionTest.testCRM19273
CRM_Event_BAO_EventPermissionsTest.testViewOwnEvent
CRM_Event_BAO_ParticipantStatusTest.testCreateAndDelete
CRM_Event_BAO_ParticipantTest.testAdd
CRM_Event_BAO_QueryTest.testParticipantNote
CRM_Event_Form_ManageEvent_EventInfoTest.testValidFormSubmission
CRM_Event_Form_ManageEvent_LocationTest.testSubmit
CRM_Event_Form_ManageEvent_RegistrationTest.testEndDateWithoutDateNotAllowed
CRM_Event_Form_Registration_ConfirmTest.testSubmit
CRM_Event_Form_Registration_RegisterTest.testMinValueForPriceSet
CRM_Event_Form_Task_BadgeTest.testSubmit
CRM_Event_Form_Task_BatchTest.testSubmit
CRM_Event_Form_Task_ParticipantStatusTest.testSubmit
CRM_Event_Form_Task_RegisterTest.testGet
CRM_Event_Form_ParticipantTest.testSubmit
CRM_Event_Form_SearchTest.testSearch
CRM_Event_Form_SelfSvcTransferTest.testCancel
CRM_Event_Form_SelfSvcUpdateTest.testForm
CRM_Event_Import_Parser_ParticipantTest.testImportWithExternalID
CRM_Event_ActionMappingTest.testLimitByRoleId
CRM_Export_BAO_ExportTest.testExportComponentsNull
CRM_Extension_Container_BasicTest.testGetKeysEmpty
CRM_Extension_Container_CollectionTest.testGetKeysEmpty
CRM_Extension_Container_StaticTest.testGetKeysEmpty
CRM_Extension_Manager_ModuleTest.testInstallDisableUninstall
CRM_Extension_Manager_ModuleUpgTest.testInstallDisableUninstall
CRM_Extension_Manager_PaymentTest.testInstallDisableUninstall
CRM_Extension_Manager_ReportTest.testInstallDisableUninstall
CRM_Extension_Manager_SearchTest.testInstallDisableUninstall
CRM_Extension_BrowserTest.testDisabled
CRM_Extension_InfoTest.testGood_file
CRM_Extension_ManagerTest.testInstallInvalidType
CRM_Extension_MapperTest.testClassToKey
CRM_Financial_BAO_FinancialAccountTest.testAdd
CRM_Financial_BAO_FinancialItemTest.testAdd
CRM_Financial_BAO_FinancialTypeAccountTest.testAdd
CRM_Financial_BAO_FinancialTypeTest.testSetIsActive
CRM_Financial_BAO_PaymentProcessorTest.testGetCreditCards
CRM_Financial_BAO_PaymentProcessorTypeTest.testCreate
CRM_Financial_Form_PaymentEditTest.testSubmitOnPaymentInstrumentChange
CRM_Financial_Form_PaymentFormsTest.testEventPaymentForms
CRM_Financial_Page_AjaxBatchSummaryTest.testMakeBatchSummary
CRM_Financial_Page_AjaxTest.testGetFinancialTransactionsList
CRM_Group_Page_AjaxTest.testGroupListWithFilter
CRM_Import_DataSource_CsvTest.CRM_Import_DataSource_CsvTest::testToCsv
CRM_Logging_LoggingTest.testLoggingNonStandardCustomTableName
CRM_Logging_SchemaTest.CRM_Logging_SchemaTest::testQueryRewrite
CRM_Mailing_BAO_ConfirmTest.testConfirm
CRM_Mailing_BAO_MailingJobTest.testIsTemporaryError
CRM_Mailing_BAO_MailingTest.testgetRecipientsUsingACL
CRM_Mailing_BAO_QueryTest.CRM_Mailing_BAO_QueryTest::testSearch
CRM_Mailing_BAO_SpoolTest.testSend
CRM_Mailing_Form_Task_AdhocMailingTest.testCreateHiddenGroupFromSearchBuilder
CRM_Mailing_MailStoreTest.testMaildirBasic
CRM_Mailing_MailingSystemTest.testMailerPreviewExtraScheme
CRM_Mailing_TokensTest.CRM_Mailing_TokensTest::testTokensWithMailingId
CRM_Member_BAO_MembershipLogTest.testDel
CRM_Member_BAO_MembershipStatusTest.testAdd
CRM_Member_BAO_MembershipTest.testDeleteRelatedMembershipsOnParentTypeChanged
CRM_Member_BAO_MembershipTypeTest.testAdd
CRM_Member_BAO_QueryTest.testConvertEntityFieldSingleValue
CRM_Member_Form_Task_BatchTest.testBatchSubmit
CRM_Member_Form_Task_LabelTest.testMembershipTokenReplacementInPDF
CRM_Member_Form_Task_PDFLetterTest.testMembershipTokenReplacementInPDF
CRM_Member_Form_MembershipRenewalTest.testSubmit
CRM_Member_Form_MembershipTest.testFormRuleEmptyContact
CRM_Member_Import_Parser_MembershipTest.testImport
CRM_Member_Page_MembershipTypeTest.testMembershipTypePage
CRM_Member_Selector_SearchTest.testSelectorGetRows
CRM_Member_StatusOverrideTypesTest.testIsOverriddenReturnFalseForNoStatusOverrideType
CRM_Member_TaskTest.testPermissionedTiles
CRM_PCP_BAO_PCPTest.testAddPCPBlock
CRM_Pledge_BAO_PledgeBlockTest.testCreateAndDeletePledgeBlock
CRM_Pledge_BAO_PledgePaymentTest.testAdd
CRM_Pledge_BAO_PledgeTest.testAdd
CRM_Pledge_Form_PledgeTest.testPostProcess
CRM_Pledge_Form_SearchTest.testSearch
CRM_Price_BAO_PriceFieldTest.testSubmitPriceFieldWithOptions
CRM_Price_BAO_PriceFieldValueTest.testVisibilityFieldExists
CRM_Price_BAO_PriceSetTest.testGetAmountLevelTextAmount
CRM_Price_Form_FieldTest.testPublicFieldWithOnlyAdminOptionsIsNotAllowed
CRM_Price_Form_OptionTest.testChangingUniquePublicOptionOnPublicFieldIsNotAllowed
CRM_Profile_Form_EditTest.testProfileUrl
CRM_Queue_Queue_SqlTest.CRM_Queue_Queue_SqlTest::testPriorities
CRM_Queue_QueueTest.testRunnerRequiresErrorPolicy
CRM_Queue_RunnerTest.testRunAllNormal
CRM_Report_Form_Contact_LoggingDetailTest.testLabelFieldIsntRequired
CRM_Report_Form_Contribute_DetailTest.CRM_Report_Form_Contribute_DetailTest::testReportOutput
CRM_Report_Form_Member_DetailTest.testAutoRenewDisplay
CRM_Report_Form_ActivityTest.testLongCustomFieldNames
CRM_Report_Form_ContactSummaryTest.testOddEvenStreetNumber
CRM_Report_Form_TestCaseTest.CRM_Report_Form_TestCaseTest::testReportOutput
CRM_Report_Utils_ReportTest.testMakeCsv
CRM_Report_FormTest.testGetFromTo
CRM_SMS_BAO_ProviderTest.testCreateAndUpdateProvider
CRM_SMS_PreviewTest.testSMSPreview
CRM_SMS_ProviderTest.testProcessInbound
CRM_UF_Page_ProfileEditorTest.testGetSchema
CRM_Upgrade_Incremental_php_FiveFiftyFiveTest.testFixingPrintLabelUpgrade
CRM_Upgrade_Incremental_php_FiveTwentyTest.testChangeCaseTypeAutoassignee
CRM_Upgrade_Incremental_BaseTest.testMessageTemplateUpgrade
CRM_Upgrade_FormTest.testComposerRequirementMatch
CRM_Upgrade_SnapshotTest.testTableNames_good
CRM_Utils_API_MatchOptionTest.testCreateMatch_none
CRM_Utils_API_ReloadOptionTest.testNoReload
CRM_Utils_Cache_SqlGroupTest.testSameInstance
CRM_Utils_Check_Component_EnvTest.testResourceUrlCheck
CRM_Utils_Check_Component_OptionGroupsTest.testCheckOptionGroupValues
CRM_Utils_Mail_EmailProcessorInboundTest.testFetchActivitiesWithManyAttachments
CRM_Utils_Mail_EmailProcessorTest.testBounceProcessing
CRM_Utils_Mail_FilteredPearMailerTest.testFilter
CRM_Utils_Mail_IncomingTest.testEmailUseExistentIndividualContact
CRM_Utils_Migrate_ImportExportTest.CRM_Utils_Migrate_ImportExportTest::testBasicXMLExports
CRM_Utils_PDF_UtilsTest.testDOMPDFSettings
CRM_Utils_SQL_DeleteTest.testGetDefault
CRM_Utils_SQL_InsertTest.testRow_twice
CRM_Utils_SQL_SelectTest.testGetDefault
CRM_Utils_AddressTest.testAddressFormat
CRM_Utils_ArrayTest.testAsColumns
CRM_Utils_AutoCleanTest.testAutoclean
CRM_Utils_CacheTest.testNack
CRM_Utils_ColorTest.CRM_Utils_ColorTest::testGetContrast
CRM_Utils_DateTest.testGetFromTo
CRM_Utils_EnglishNumberTest.testRoundTrip
CRM_Utils_FileTest.testIsChildPath
CRM_Utils_GlobalStackTest.testPushPop
CRM_Utils_HTMLTest.CRM_Utils_HTMLTest::testParseStrings
CRM_Utils_HookTest.testRunHooks_reentrancy
CRM_Utils_HtmlToTextTest.CRM_Utils_HtmlToTextTest::testHtmlToText
CRM_Utils_HttpClientTest.testFetchHttp
CRM_Utils_ICalendarTest.CRM_Utils_ICalendarTest::testParseStrings
CRM_Utils_JSTest.CRM_Utils_JSTest::testParseStrings
CRM_Utils_LazyArrayTest.testAssoc
CRM_Utils_MailTest.testFormatRFC822
CRM_Utils_MoneyTest.CRM_Utils_MoneyTest::testSubtractCurrencies
CRM_Utils_NumberTest.CRM_Utils_NumberTest::testCreateRandomDecimal
CRM_Utils_QueryFormatterTest.CRM_Utils_QueryFormatterTest::testFormat
CRM_Utils_RestTest.testProcessMultiple
CRM_Utils_RuleTest.CRM_Utils_RuleTest::testInteger
CRM_Utils_SQLTest.testInterpolate
CRM_Utils_SignerTest.testSignValidate
CRM_Utils_StringTest.testBase64Url
CRM_Utils_SystemTest.testUrlQueryString
CRM_Utils_TimeTest.CRM_Utils_TimeTest::testEquals
CRM_Utils_TokenConsistencyTest.testCaseTokenConsistency
CRM_Utils_TokenTest.testReplaceGreetingTokens
CRM_Utils_TypeTest.CRM_Utils_TypeTest::testValidate
CRM_Utils_XMLTest.testFilterMarkupTest
CRM_Utils_ZipTest.testFindBaseDirName_normal
CRM_Utils_versionCheckTest.testCronFallback
E2E\Core\AssetBuilderTest.testGetUrl_cached with data set #0
E2E\Core\AssetBuilderTest.testGetUrl_cached with data set #1
E2E\Core\AssetBuilderTest.testGetUrl_cached with data set #2
E2E\Core\AssetBuilderTest.testGetUrl_uncached with data set #0
E2E\Core\AssetBuilderTest.testGetUrl_uncached with data set #1
E2E\Core\AssetBuilderTest.testGetUrl_uncached with data set #2
E2E\Core\ErrorTest.testErrorMessage with data set "frontend_fatal"
E2E\Core\ErrorTest.testErrorMessage with data set "frontend_exception"
E2E\Core\ErrorTest.testErrorMessage with data set "frontend_permission"
E2E\Core\ErrorTest.testErrorMessage with data set "backend_fatal"
E2E\Core\ErrorTest.testErrorMessage with data set "backend_exception"
E2E\Core\ErrorTest.testErrorMessage with data set "backend_permission"
E2E\Core\ErrorTest.testErrorChrome with data set "frontend_permission"
E2E\Core\ErrorTest.testErrorChrome with data set "backend_permission"
E2E\Core\PathUrlTest.testSystemRouter
E2E\Core\PathUrlTest.testPaths_getUrl
E2E\Core\PathUrlTest.testPaths_getPath
E2E\Core\PathUrlTest.testPaths_getVariable
api_v4_OAuthClientGrantTest.testAuthorizationCode
api_v4_OAuthClientTest.testCreateBadProvider
api_v4_OAuthClientTest.testUpdateBadProvider
Civi\Authx\AllFlowsTest.testStatelessGuardSiteKey
Civi\Authx\AllFlowsTest.testStatefulStatelessOverlap
Civi\Authx\AllFlowsTest.testCliServiceLogin
Civi\Authx\AllFlowsTest.testCliPipeUntrustedLogin
Civi\Authx\AllFlowsTest.testStatelessContactOnly with data set #3
Civi\Authx\AllFlowsTest.testStatelessContactOnly with data set #5
Civi\Authx\AllFlowsTest.testStatelessContactOnly with data set #6
Civi\Authx\AllFlowsTest.testStatelessContactOnly with data set #8
Civi\Authx\AllFlowsTest.testStatelessUserContact with data set #0
Civi\Authx\AllFlowsTest.testStatelessUserContact with data set #2
Civi\Authx\AllFlowsTest.testStatelessUserContact with data set #3
Civi\Authx\AllFlowsTest.testStatelessUserContact with data set #5
Civi\Authx\AllFlowsTest.testStatelessUserContact with data set #6
Civi\Authx\AllFlowsTest.testStatelessUserContact with data set #8
Civi\Authx\AllFlowsTest.testStatefulLoginProhibited with data set #0
Civi\Authx\AllFlowsTest.testStatefulLoginProhibited with data set #1
Civi\Authx\AllFlowsTest.testStatefulLoginProhibited with data set #2
Civi\Authx\AllFlowsTest.testStatefulAutoProhibited with data set #0
Civi\Authx\AllFlowsTest.testStatefulAutoProhibited with data set #1
Civi\Authx\AllFlowsTest.testStatefulAutoProhibited with data set #2
api_v4_AfformRoutingTest.testChangingPermissions
api_v4_AfformRoutingTest.testChangingPath
MockPublicFormTest.testAuthenticatedUrlToken_Plain
MockPublicFormTest.testAuthenticatedUrlToken_Html
MockPublicFormTest.testAuthenticatedLinkToken_Html
api_v4_AfformContactUsageTest.testAboutMeAllowed
Civi\FlexMailer\ConcurrentDeliveryTest.testBasic
Civi\FlexMailer\ConcurrentDeliveryTest.testDeletedRecipient
Civi\FlexMailer\ConcurrentDeliveryTest.testDeceasedRecipient
Civi\FlexMailer\ConcurrentDeliveryTest.testMultipleBulkRecipients
Civi\FlexMailer\ConcurrentDeliveryTest.testPauseAndResumeMailing
Civi\FlexMailer\ConcurrentDeliveryTest.testMailNonProductionRun
Civi\FlexMailer\ConcurrentDeliveryTest.testBatchActivityTargets with data set #0
Civi\FlexMailer\ConcurrentDeliveryTest.testBatchActivityTargets with data set #1
Civi\FlexMailer\FlexMailerSystemTest.testBasicHeaders
Civi\FlexMailer\FlexMailerSystemTest.testText
Civi\FlexMailer\FlexMailerSystemTest.testHtmlWithOpenTracking
Civi\FlexMailer\FlexMailerSystemTest.testHtmlWithOpenAndUrlTracking
Civi\FlexMailer\FlexMailerSystemTest.testUrlTracking with data set #0
Civi\FlexMailer\FlexMailerSystemTest.testUrlTracking with data set #1
Civi\FlexMailer\FlexMailerSystemTest.testUrlTracking with data set #2
Civi\FlexMailer\FlexMailerSystemTest.testUrlTracking with data set #3
Civi\FlexMailer\FlexMailerSystemTest.testUrlTracking with data set #4
Civi\FlexMailer\FlexMailerSystemTest.testUrlTracking with data set #5
Civi\FlexMailer\FlexMailerSystemTest.testUrlTracking with data set "url_trackin_enabled"
Civi\FlexMailer\FlexMailerSystemTest.testUrlTracking with data set #6
Civi\FlexMailer\FlexMailerSystemTest.testUrlTracking with data set #7
Civi\FlexMailer\FlexMailerSystemTest.testUrlTracking with data set #8
Civi\FlexMailer\MailingPreviewTest.testMailerPreview
Civi\FlexMailer\MailingPreviewTest.testMailerPreviewWithoutId
Civi\FlexMailer\ValidatorTest.testExamples with data set #0
Civi\FlexMailer\ValidatorTest.testExamples with data set #1
Civi\FlexMailer\ValidatorTest.testExamples with data set #4
Civi\FlexMailer\ValidatorTest.testExamples with data set #5
```https://lab.civicrm.org/dev/core/-/issues/4183API4 Explorer: OOP "save" code is incorrect2023-03-15T15:29:37ZJonGoldAPI4 Explorer: OOP "save" code is incorrectSteps to replicate:
* Go to https://dmaster.demo.civicrm.org/civicrm/api4#/explorer/Contribution/save?records=%2212345%22
If you go directly to it via the URL, the example PHP OOP code doesn't reflect any changes in the "Records" input....Steps to replicate:
* Go to https://dmaster.demo.civicrm.org/civicrm/api4#/explorer/Contribution/save?records=%2212345%22
If you go directly to it via the URL, the example PHP OOP code doesn't reflect any changes in the "Records" input. If you navigate to API Explorer and try to replicate, it will try to add a new record for every character in the "Records" input.https://lab.civicrm.org/dev/core/-/issues/4173FormBuilder: Client-side validation doesn't work on most field types2023-05-18T12:28:55ZJonGoldFormBuilder: Client-side validation doesn't work on most field typesOn the master branch:
* Create a new FormBuilder form.
* Add the "Most Important Issue" field and make it required.
* Give the form a path and save.
* Go to the form and click **Submit**
Expected behavior:
"Please fill in the required f...On the master branch:
* Create a new FormBuilder form.
* Add the "Most Important Issue" field and make it required.
* Give the form a path and save.
* Go to the form and click **Submit**
Expected behavior:
"Please fill in the required field" notification, similar to a text field.
Actual behavior:
Form submits. You get an unhelpful JS alert (I'll file on that separately).
Radio buttons, checkboxes fail. Text inputs and files don't. https://github.com/civicrm/civicrm-core/pull/25535/files purports to fix this for Select2 inputs.https://lab.civicrm.org/dev/core/-/issues/4168Searchkit - Tags on saved Searches get lost on save2023-03-13T21:07:13ZdavidSearchkit - Tags on saved Searches get lost on saveOverview
----------------------------------------
tags for saved searches get lost on save.
Reproduction steps
----------------------------------------
1. go to searchkit saved searches
2. create a search, add a tag and save the search...Overview
----------------------------------------
tags for saved searches get lost on save.
Reproduction steps
----------------------------------------
1. go to searchkit saved searches
2. create a search, add a tag and save the search
4. goto searchkit saved searches. The created tag is there.
5. change something e.g. description of the search and save again
6. goto searchkit saved searches, the tag is missing
Expected behaviour
tags get not lost on save
Environment information
----------------------------------------
* __Browser:__ _Firefox 110
* __CiviCRM:__ all?, including 5.61.alpha1
* __CMS:__ https://dmaster.demo.civicrm.org/
Comments
----------------------------------------
old tags get also lost if a new tag is added in the searchhttps://lab.civicrm.org/dev/core/-/issues/4165Basic Auth does not work when AuthX is activated2023-03-09T10:10:55ZMariaVBasic Auth does not work when AuthX is activatedI have found this issue and it seems that this problem occurred again: https://lab.civicrm.org/dev/core/-/issues/3416
It describes the current behavior: All CiviCRM pages error out with "401 Invalid Credential".
When AuthX disabled it w...I have found this issue and it seems that this problem occurred again: https://lab.civicrm.org/dev/core/-/issues/3416
It describes the current behavior: All CiviCRM pages error out with "401 Invalid Credential".
When AuthX disabled it works fine.
CiviCRM Version: 5.58.1 on Wordpress 6.1.1https://lab.civicrm.org/dev/core/-/issues/4164CiviMail send mails only to certain location type2023-03-13T11:54:35ZjmargrafCiviMail send mails only to certain location typeI have the following Usecase:
A big organization is using CiviCRM for mailing marketing of different departments. Their Contacts can have several email addresses (with different location types).
A Contact has an email address that is use...I have the following Usecase:
A big organization is using CiviCRM for mailing marketing of different departments. Their Contacts can have several email addresses (with different location types).
A Contact has an email address that is used by department A for the communication with the customer via mass mailing.
But department B wants to communicate with the customer via another email address via mass mailing.
Currently there seems to be no possibility to select which email address location type should be preferred for an specific mass mailing (of department A - while department B creates another mass mailing and wants to select their preferred location type for another mass mailing).
Possibilities in CiviCRM:
I can create different location types for the different purposes.
I can add email addresses with the corresponding location type.
I can select one email address as the primary email address.
I can select one email address for mass mailing.
Problem:
But I can not select different email addresses for different mass mailings
Possible Workaround:
I could keep the two contacts as duplicates in the system. But the customer still still want to have an overall overview over their communication with this contact - so simply having duplicates is not an attractive option.
Feature Request:
What I would need is the feature of selecting the preferred location type to be used for a specific mailing.
If the contact has no email address of this communication type the fallback option could be the primary / bulk-e-mail-address
What effort would it take to create such a feature? I guess it would make most sense to implement it into the civicrm core - do you aggree?https://lab.civicrm.org/dev/core/-/issues/4163FormBuildeR: Can't set participant status type2023-03-07T18:51:22ZJonGoldFormBuildeR: Can't set participant status typeSee screenshot. When you try to use this field, you get the error "API (ParticipantStatusType, autocomplete) does not exist (join the API team and implement it!)".
![Selection_1801](/uploads/34d14ba7259e8878f93a910627b2c151/Selection_1...See screenshot. When you try to use this field, you get the error "API (ParticipantStatusType, autocomplete) does not exist (join the API team and implement it!)".
![Selection_1801](/uploads/34d14ba7259e8878f93a910627b2c151/Selection_1801.png)
I've seen other "Loading failed" errors handled like in https://github.com/civicrm/civicrm-core/pull/25598 but I suspect we might actually want to create the API here?https://lab.civicrm.org/dev/core/-/issues/4157Mailpoet plugin conflict with Html2Text breaks reports and emails2023-03-23T16:27:08ZniamhMailpoet plugin conflict with Html2Text breaks reports and emailsOverview
----------------------------------------
After upgrading to 5.54.1 back in November (and several subsequent upgrades), a conflict with MailPoet plugin is causing the error below to occur when receipt emails are being sent result...Overview
----------------------------------------
After upgrading to 5.54.1 back in November (and several subsequent upgrades), a conflict with MailPoet plugin is causing the error below to occur when receipt emails are being sent resulting in failure to send. It is also affecting the running of any report if any filter is enabled on report.
__Error thrown__
__Call to undefined method Html2Text\Html2Text::getText()__
See stack exchange:
https://civicrm.stackexchange.com/questions/42921/reports-failing-after-upgrade-whenany-filter-enabled
and
https://civicrm.stackexchange.com/questions/43502/civicrm-mailpoet-plugin-conflict-with-html2text
Reproduction steps
----------------------------------------
Disable MailPoet plugin and all works perfectly. With plugin enabled, error as above in the situations noted. Manual email receipts also failing when MailPoet enabled.
Current behaviour
----------------------------------------
We can fix this temporarily by replacing the MailPoet version of html2text with the CiviCRM version, but this is overwritten every time MailPoet is upgraded.
Expected behaviour
----------------------------------------
There was no compatibility issue for the last 7 years between MailPoet and CiviCRM re this issue.
Environment information
----------------------------------------
* __CiviCRM:__ From 5.54.1 onwards (currently 5.55.0) but we hadn't upgraded in some time so unclear when bug was introduced.
* __PHP:__ 7.4 & also 8.1
* __CMS:__ Wordpress 6.1.1
* __MailPoet:__ 4.6.2 and earlier
Comments
----------------------------------------
Happy to open ticket with MailPoet if necessary.https://lab.civicrm.org/dev/core/-/issues/4153Search kit - address issues2023-03-03T03:07:50ZeileenSearch kit - address issuesA user tried to configure a search & I have pasted the export of it below the screenshot. She hit 2 issues - one is just a 'The UI is hard` thing and the other is a probable bug
The UI issue is that she chose the `Country` from the `pri...A user tried to configure a search & I have pasted the export of it below the screenshot. She hit 2 issues - one is just a 'The UI is hard` thing and the other is a probable bug
The UI issue is that she chose the `Country` from the `primary_address` pseudo rather than the `Contact Address` table in the join
![image](/uploads/03a794ec7de2bfea66144b179beb35a5/image.png)
The probably bug is that `Primary Address.Country` can be added to the select fields - but not `Primary Address.street_address` - she realised she had a mix - which is when she contacted me
![image](/uploads/e9f75c3c6f8decff9e9e5bd0c5b9d3c9/image.png)
```
[
[
"SavedSearch",
"save",
{
"records": [
{
"name": "test_search",
"label": "Test Search",
"form_values": null,
"mapping_id": null,
"search_custom_id": null,
"api_entity": "Contact",
"api_params": {
"version": 4,
"select": [
"id",
"display_name",
"first_name",
"last_name",
"GROUP_CONCAT(DISTINCT Contact_Address_contact_id_01.street_address) AS GROUP_CONCAT_Contact_Address_contact_id_01_street_address",
"address_primary.city",
"address_primary.state_province_id:label",
"GROUP_CONCAT(DISTINCT Contact_Address_contact_id_01.postal_code) AS GROUP_CONCAT_Contact_Address_contact_id_01_postal_code",
"address_primary.country_id:label"
],
"orderBy": [],
"where": [
[
"contact_type:name",
"=",
"Individual"
]
],
"groupBy": [
"id"
],
"join": [
[
"Address AS Contact_Address_contact_id_01",
"INNER",
[
"id",
"=",
"Contact_Address_contact_id_01.contact_id"
],
[
"Contact_Address_contact_id_01.street_address",
"IS NOT EMPTY"
],
[
"address_primary.country_id",
"IN",
[
"1228",
"1039"
]
]
],
[
"Contribution AS Contact_Contribution_contact_id_01",
"INNER",
[
"id",
"=",
"Contact_Contribution_contact_id_01.contact_id"
],
[
"Contact_Contribution_contact_id_01.total_amount",
"BETWEEN",
[
"250.00",
"499.99"
]
],
[
"Contact_Contribution_contact_id_01.receive_date",
">=",
"\"2018-07-01\""
]
]
],
"having": []
},
"expires_date": null,
"description": null
}
],
"match": [
"name"
]
}
]
]
```https://lab.civicrm.org/dev/core/-/issues/4151Contact links for SearchKit (List) Display Name fields are randomly incorrect2024-01-29T19:51:17ZJoeMurrayContact links for SearchKit (List) Display Name fields are randomly incorrectOverview
----------------------------------------
When SearchKit results contain a transformed List field of Display Name, each value in list should link to the Display Name contact's record. dmaster currently does not for some contacts ...Overview
----------------------------------------
When SearchKit results contain a transformed List field of Display Name, each value in list should link to the Display Name contact's record. dmaster currently does not for some contacts in concatenated list of Display Names.
https://civicrm.stackexchange.com/questions/43607/searchkit-incorrect-contact-profile-opening-from-list-display-name-column
Reproduction steps
----------------------------------------
See https://civicrm.stackexchange.com/questions/43607/searchkit-incorrect-contact-profile-opening-from-list-display-name-column .
Expected behaviour
----------------------------------------
Display Names in list should link to correct contacts.
Environment information
----------------------------------------
dmaster on Feb 28, 2023.
Comments
----------------------------------------
_Anything else you would like the reviewer to note._colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/4150Formbuilder: Contact Reference doesn't respect the Filter options and exposes...2023-03-07T19:59:37ZshaneonabikeFormbuilder: Contact Reference doesn't respect the Filter options and exposes all Contacts## Problem
Creating a Form (via Formbuilder) that uses a Contact Reference exposes all Contacts in the search field rather than respecting the Filter conditions.
## How to reproduce
1. Create a set of Custom Fields one of which that h...## Problem
Creating a Form (via Formbuilder) that uses a Contact Reference exposes all Contacts in the search field rather than respecting the Filter conditions.
## How to reproduce
1. Create a set of Custom Fields one of which that has a Contact Reference with a Filter by a Group
2. Create a Formbuilder Form and add the Contact Reference field
3. Test the form, and see that all Contacts are searchable
## Expected Result
Formbuilder should use the appropriate filters set by the Contact Reference rather than exposing all users.https://lab.civicrm.org/dev/wordpress/-/issues/139Use custom actions for admin screen meta boxes2023-05-11T14:29:45ZhaystackUse custom actions for admin screen meta boxesSome plugins hook into the `add_meta_boxes` action and expect a `$post` object as the second parameter. They *should* validate that the incoming data is of type `WP_Post` but some don't - notably ACF Extended. The fix for avoiding log en...Some plugins hook into the `add_meta_boxes` action and expect a `$post` object as the second parameter. They *should* validate that the incoming data is of type `WP_Post` but some don't - notably ACF Extended. The fix for avoiding log entries from these plugins is to use custom actions for the CiviCRM admin pages. PR to follow.haystackhaystackhttps://lab.civicrm.org/dev/core/-/issues/4147When using PHP 8.1, the Contact token for the Address State / Province field ...2023-03-03T04:47:08Zjustinfreeman (Agileware)When using PHP 8.1, the Contact token for the Address State / Province field returns no value when used in Message Templates. Works fine on PHP 7.4When using PHP 8.1, the Contact token for the Address **State / Province** field returns no value when used in Message Templates. Works fine on PHP 7.4.
These are the tokens that return no value:
```{contact.address_primary.state_provi...When using PHP 8.1, the Contact token for the Address **State / Province** field returns no value when used in Message Templates. Works fine on PHP 7.4.
These are the tokens that return no value:
```{contact.address_primary.state_province_id:abbr}```
```{contact.state_province}```
Other Contact tokens for contact fields and address return a value correctly.
Agileware Ref: CIVICRM-2102https://lab.civicrm.org/dev/core/-/issues/4140API4: Contact.Get does not work for contact subtype2024-03-01T12:53:51Zmattwiremjw@mjwconsult.co.ukAPI4: Contact.Get does not work for contact subtypecontact_sub_type is stored as a "pseudo" array in the database and no results are returned if you search on Contact.Get with subtype =,IN,! etc. API3 has some code to work around this in `CRM/Contact/BAO/Query::includeContactSubTypes()` ...contact_sub_type is stored as a "pseudo" array in the database and no results are returned if you search on Contact.Get with subtype =,IN,! etc. API3 has some code to work around this in `CRM/Contact/BAO/Query::includeContactSubTypes()` which rewrites =,IN,! to LIKE and NOT and then rewrites the query parameter to contain wildcard chars `%` so API3 "works".
I hacked together a version of this that works for API4 with the `=` operator: https://github.com/civicrm/civicrm-core/compare/master...mattwire:civicrm-core:api4contactgethttps://lab.civicrm.org/dev/core/-/issues/4138Form Builder - autocomplete input does not use configured filtering2023-02-28T20:17:23ZFrancis (Agileware)Form Builder - autocomplete input does not use configured filteringOverview
----------------------------------------
In the Form Builder (afform/admin), there is an option to filter autocomplete inputs by an existing saved search / autocomplete display, where appears to do no actual filtering
Reproduct...Overview
----------------------------------------
In the Form Builder (afform/admin), there is an option to filter autocomplete inputs by an existing saved search / autocomplete display, where appears to do no actual filtering
Reproduction steps
----------------------------------------
Confirmed on wpmaster (5.60-alpha1)
1. Enable Form Builder extension
2. Go to SearchKit
3. Create a search for Events that filters by type (e.g. Fundraiser), add an Autocomplete display to it and save
4. Go back to SearchKit and create another search for Participants
5. Add a required "Participant Event" (this step may not be necessary)
6. Add a Table display and save.
7. using the form drop-down, create a new form for your results table
8. Add a filter for the results table, Participant / Event field
9. Configure the field to use the saved search and autocomplete display from step (3)
10. Save the form and go to its display page
11. start searching for events (using the sample data, just entering the letter S is sufficient)
Current behaviour
----------------------------------------
The Autocomplete field gives you to option of selecting any event on the system. Looking in the network requests, it appears that the search and display are not passed into the API4 endpoint at all.
Expected behaviour
----------------------------------------
The Autocomplete field should give you **only** options that match the filter specified in step 3.
Environment information
----------------------------------------
* __Browser:__ Firefox 109 (also happens on Chrome)
* __CiviCRM:__ 5.57.0, 5.58.1, 5.60-alpha / Master
Occurs on wpmaster.demo.civicrm.org
Comments
----------------------------------------
Example configurations:
Autocomplete (Events) search:
```json
[
[
"SavedSearch",
"save",
{
"records": [
{
"name": "Fundraiser_events",
"label": "Fundraiser events",
"form_values": null,
"mapping_id": null,
"search_custom_id": null,
"api_entity": "Event",
"api_params": {
"version": 4,
"select": [
"id",
"title",
"event_type_id:label"
],
"orderBy": [],
"where": [
[
"event_type_id:name",
"=",
"Fundraiser"
]
],
"groupBy": [],
"join": [],
"having": []
},
"expires_date": null,
"description": null
}
],
"match": [
"name"
]
}
],
[
"SearchDisplay",
"save",
{
"records": [
{
"name": "Fundraiser_events_Autocomplete_1",
"label": "Fundraiser events Autocomplete 1",
"saved_search_id.name": "Fundraiser_events",
"type": "autocomplete",
"settings": {
"sort": [],
"columns": [
{
"type": "field",
"key": "title",
"dataType": "String"
}
]
},
"acl_bypass": false
}
],
"match": [
"name",
"saved_search_id"
]
}
]
]
```
Participant search and form:
```json
[
[
"SavedSearch",
"save",
{
"records": [
{
"name": "Fundraiser_Participants",
"label": "Fundraiser Participants",
"form_values": null,
"mapping_id": null,
"search_custom_id": null,
"api_entity": "Participant",
"api_params": {
"version": 4,
"select": [
"id",
"contact_id.display_name",
"Participant_Event_event_id_01.title",
"Participant_Event_event_id_01.event_type_id:label"
],
"orderBy": [],
"where": [],
"groupBy": [],
"join": [
[
"Event AS Participant_Event_event_id_01",
"INNER",
[
"event_id",
"=",
"Participant_Event_event_id_01.id"
]
]
],
"having": []
},
"expires_date": null,
"description": null
}
],
"match": [
"name"
]
}
],
[
"SearchDisplay",
"save",
{
"records": [
{
"name": "Fundraiser_Participants_Table",
"label": "Fundraiser Participants Table",
"saved_search_id.name": "Fundraiser_Participants",
"type": "table",
"settings": {
"description": null,
"sort": [],
"limit": 50,
"pager": [],
"placeholder": 5,
"columns": [
{
"type": "field",
"key": "contact_id.display_name",
"dataType": "String",
"label": "Contact",
"sortable": true,
"link": {
"path": "",
"entity": "Contact",
"action": "view",
"join": "contact_id",
"target": "_blank"
},
"title": "View Contact"
},
{
"type": "field",
"key": "Participant_Event_event_id_01.title",
"dataType": "String",
"label": "Event",
"sortable": true,
"link": {
"path": "",
"entity": "Event",
"action": "view",
"join": "Participant_Event_event_id_01",
"target": "crm-popup"
},
"title": "View Participant Event"
},
{
"type": "field",
"key": "Participant_Event_event_id_01.event_type_id:label",
"dataType": "Integer",
"label": "Event Type",
"sortable": true
}
],
"actions": true,
"classes": [
"table",
"table-striped"
]
},
"acl_bypass": false
}
],
"match": [
"name",
"saved_search_id"
]
}
],
[
"Afform",
"save",
{
"records": [
{
"name": "afsearchFindFundraiserParticipants",
"requires": [],
"title": "Find Fundraiser Participants",
"description": "",
"is_dashlet": false,
"is_public": false,
"is_token": false,
"permission": "view event participants",
"type": "search",
"icon": "fa-list-alt",
"server_route": "civicrm/fundraiser-participants",
"entity_type": null,
"join_entity": null,
"contact_summary": null,
"summary_contact_type": null,
"redirect": null,
"create_submission": null,
"navigation": null,
"layout": "<div af-fieldset=\"\">\n <af-field name=\"event_id\" defn=\"{saved_search: 'Fundraiser_events', input_attrs: {multiple: true}, search_display: 'Fundraiser_events_Autocomplete_1'}\" />\n <crm-search-display-table search-name=\"Fundraiser_Participants\" display-name=\"Fundraiser_Participants_Table\"></crm-search-display-table>\n</div>\n"
}
]
}
]
]
```
Agileware ref CIVICRM-2101https://lab.civicrm.org/dev/civicrm-asset-plugin/-/issues/22Deprecated usage.2023-03-01T06:54:05ZHeneryHDeprecated usage.Deprecation Notice: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /var/www/-site-/vendor/civicrm/civicrm-asset-plugin/src/PublisherDefaults.php:44Deprecation Notice: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /var/www/-site-/vendor/civicrm/civicrm-asset-plugin/src/PublisherDefaults.php:44https://lab.civicrm.org/dev/core/-/issues/4135Regression: Fatal errors in IPNs after loadRelatedObjects refactor2023-03-10T14:35:06ZJKingsnorthRegression: Fatal errors in IPNs after loadRelatedObjects refactor@eileen This refactor causes fatal errors with our IPN-based payment processor : https://github.com/civicrm/civicrm-core/commit/d0a93d4dfc2a771b095f26fa33eb5551d6c9dcdb
I still need to do some more investigation, but the error we see is...@eileen This refactor causes fatal errors with our IPN-based payment processor : https://github.com/civicrm/civicrm-core/commit/d0a93d4dfc2a771b095f26fa33eb5551d6c9dcdb
I still need to do some more investigation, but the error we see is:
`TypeError: Illegal offset type in CRM_Financial_BAO_PaymentProcessor::getPayment() (line 222 of .../CRM/Financial/BAO/PaymentProcessor.php).`
Which corresponds to the return in:
![image](/uploads/dd002c8675a668f90d75e6ebb20dc9a1/image.png)
Reverting that refactor fixes the issue for us. I'll do some more digging...