- Replace the v1 submit endpoint with a full JSON API under
/api/fe-comment/ (state, feedback create/update/delete, uploads,
summary notes/recipients, submit), guarded by frontend login and a
configurable FE user group; unauthorized callers get {"allowed":false}
- New models: tx_fecomment_summary (one open ticket per user, status
open/sent) and tx_fecomment_feedback (url, RTE note, FAL attachments),
both editable in the backend on the ticket storage page
- FeedbackApiMiddleware registered after frontend authentication (the
frontend.user attribute does not exist earlier); uploads land in
fileadmin/fe_comment/summary-<uid>/ with mime/extension check, 20 MB cap
- Submit sends one HTML mail (author block, items with attachment links,
reply-to = FE user mail) to selected recipients with mailTo fallback,
then closes the summary
- felogin wired React-compatible: felogin.pid=520 plus headless FeLogin
JSON templates via site settings - felogin v14 and EXT:headless both
claim templateRootPaths.10, the felogin.view.* settings feed exactly
that index, so the structured JSON form (incl. __RequestToken) wins
- Read the sys_file_reference insert id before syncAttachmentCount():
DBAL throws "no identity value" once the count UPDATE has run
- migrations: drop_fecomment_tables.php (repairs the no-uid tables,
only drops when empty), check_feuser.php (login diagnosis),
fec_login_test.sh / fec_api_test.sh (curl chains incl. CSRF token flow)
14 lines
631 B
YAML
14 lines
631 B
YAML
vitec.debugMode: true
|
|
my.example.setting: Test
|
|
menu.footer.pageUids: '1,2,3'
|
|
menu.meta.pageUids: '5'
|
|
megamenu.contentUid: 10366
|
|
vitec.storyDetailPid: 26
|
|
felogin.pid: 520
|
|
# felogin v14 und EXT:headless belegen beide templateRootPaths.10 - je nach
|
|
# Set-Reihenfolge gewinnt das HTML-Template. Das Setting speist genau diesen
|
|
# Index, darum hier fest auf die Headless-JSON-Templates zeigen:
|
|
felogin.view.templateRootPath: 'EXT:headless/Resources/Private/FeLogin/Templates/'
|
|
felogin.view.partialRootPath: 'EXT:headless/Resources/Private/FeLogin/Partials/'
|
|
felogin.view.layoutRootPath: 'EXT:headless/Resources/Private/FeLogin/Layouts/'
|