Skip to content

SD-563 Welcome email editor with CSRF, sandboxed preview, literal pla… - #458

Open
sawaneh1 wants to merge 2 commits into
DANOSOFT:masterfrom
sawaneh1:fix/SD-563-opret-email-editor
Open

SD-563 Welcome email editor with CSRF, sandboxed preview, literal pla…#458
sawaneh1 wants to merge 2 commits into
DANOSOFT:masterfrom
sawaneh1:fix/SD-563-opret-email-editor

Conversation

@sawaneh1

@sawaneh1 sawaneh1 commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

…ceholder substitution and masked delivery log

What are the changes about?

Provide a brief explanation of the changes you have made

Have you checked the following?

The debtor/creditor open posts report had no way to narrow a long list once on screen: no way to show only accounts owing in ">90", no sort by amount, and changing the account range meant going back to the front page. This adds three things to the report itself, with all state carried in the query string so pagination, the BS toggle, udlign links and accountChart links keep it:

Aging filter — each of the five column headers (>90 … 0-8) is a link; clicking one shows only accounts with an amount in that bucket, with a "Ryd filter" link and a "Filter: …" marker.
Amount sort — ▼/▲ on "I alt" (or on the filtered column) sorts by amount desc/asc.
In-report account search — a field in the header accepting a kontonr, a fra:til range or a firm-name pattern (* wildcard), same rules as the front page. kreditor/rapport.php accepts kontonr for this like debitor/rapport.php.
Implementation: the per-account bucket maths moved unchanged out of the display loop into openpost_account_aging(), and the show-rule into openpost_account_visible(), so filter/sort and the rendered page share one implementation — including the SST-717/SST-730 open-balance rules. When a filter or sort is active, a streaming pre-pass aggregates every matching account (from the same grouped superset the count query uses) and pages the resulting ids; without filter/sort the existing queries run untouched. Request values are whitelisted in openpost_report_state() before reaching SQL/URLs. openpost() no longer overwrites dato/konto with the stored DRV row when the request carries konto_fra/kontonr. Texts 5120–5124 added.

Merged with master twice during review; MB-5, SST-672, SST-717/730 and the async-shell changes are all preserved.

…ceholder substitution and masked delivery log
@sawaneh1
sawaneh1 requested a review from a team August 12, 2026 06:57
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 36 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: cd838c3a-75ae-4a74-bad2-d421a79d4fe9

📥 Commits

Reviewing files that changed from the base of the PR and between f3d1495 and 7270e33.

⛔ Files ignored due to path filters (2)
  • importfiler/tekster.csv is excluded by !**/*.csv
  • javascript/quill/quill.min.js is excluded by !**/*.min.js
📒 Files selected for processing (6)
  • admin/opret_email.php
  • admin/opret_email_send.php
  • includes/opretEmailFunc.php
  • index/admin_menu.php
  • javascript/quill/LICENSE
  • javascript/quill/quill.snow.css

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant