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

5.64 one click #7

Open
wants to merge 12 commits into
base: 5.64
Choose a base branch
from
Open

5.64 one click #7

wants to merge 12 commits into from

Commits on Jan 25, 2024

  1. Configuration menu
    Copy the full SHA
    b1566a3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b1a7983 View commit details
    Browse the repository at this point in the history
  3. (NFC) Unsubscribe - Placate PhpStorm

    totten authored and seamuslee001 committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    4ee68b0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    53a1f9b View commit details
    Browse the repository at this point in the history
  5. (REF) civicrm/mailing/unsubscribe - Add page-controller in front of f…

    …orm-controller
    
    Before: `civicrm/mailing/unsubscribe` points directly to `CRM_Mailing_Form_Unsubscribe`
    
    After: `civicrm/mailing/unsubscribe` points to `CRM_Mailing_Page_Unsubscribe`, which MAY delegate
    to `CRM_Mailing_Form_Unsubscribe`
    
    Comments:
    
    * This is a step toward supporting one-click subscribe.
        * The problem is that one-click unsubscribe MUST receive a POST on the same URL
          as a user-visible form.
        * In Quickform (esp `CRM_Mailing_Form_Unsubscribe`), every POST MUST give a `qfKey`.
        * We need a place to process the one-click POST *without* requiring `qfKey`.
    * There is a pre-existing class `CRM_Mailing_Page_Unsubscribe`. This was dead code.
      The patch co-opts/re-uses the class for its own purpose.
        * The old `Page` class was not referenced anywhere (by routes or other classes).
        * What appears to have happened: this screen was originally a `Page`; then it was
          renamed/converted to a `Form`; then shortly after, the original `Page` was re-imported
          verbatim by a gsoc student. Their commit doesn't appear to make substantive use of
          the `Page`. This smells like mistake in handling branches/merges/rebases.
    totten authored and seamuslee001 committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    b61dbd6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d998ae7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d780b22 View commit details
    Browse the repository at this point in the history
  8. (REF) Move testGitLabIssue1108() to its own class

    BEFORE: `MailingSystemTest` (which extends `BaseMailingSystemTest`)
    includes `testGitLabIssue1108($isMultilingual)`. This is
    a transactional test (per `BaseMailingSystemTest::setUp()`).
    
    AFTER: `MultingualSystemTest` includes `testGitLabIssue1108()`.
    This is not a transactional test.
    
    COMMENTS: This resolves some circumstantial flakiness in the tests.
    
    * The problem appeared when adding an unrelated test `BaseMailingSystemTest` -- the
      new test failed because of a conflict with `testGitLabIssue1108()`.
    * You could also produce the problem in other cases by switching around the order of
      `testGitLabIssue1108()` (e.g. hack data-provider `multiLingual()`)
    * I believe the root problem is that `BaseMailingSystemTest` is written as
      a transactional test -- but `testGitLabIssue1108()` does large-scale
      schema changes (whenever it toggles multilingual), which makes it
      non-transactional.
    * The patch here prevents these kind of conflicts by putting
      `testGitLabIssue1108()` in a separate (non-transactional) context.
    totten authored and seamuslee001 committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    e2c4e48 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5433d59 View commit details
    Browse the repository at this point in the history
  10. ListUnsubscribe - Ensure URL is always absolute

    When delivering via unit-test or cron job, the URL came out absolute.
    
    But when using web UI to "Send test", the URL was relative.
    
    It should be absolute.
    totten authored and seamuslee001 committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    bfcfcf9 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    f5c242a View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    2d5a82b View commit details
    Browse the repository at this point in the history