Kundenansicht der Mitarbeiter: Einschalten gesperrt statt 403-Text nach dem Tipp
Die Hülle reicht viewAs der Sitzung an die Einschalt-Option der Module durch (News, Terminplaner, Webshop, Buchungskalender, Zeiten), auch wenn ein Modul es nicht nennt. In Entdecken ist der Einschalten-Knopf gesperrt, daneben steht "In der Kundenansicht nicht möglich." Meine bleibt bei gesperrtem Knopf auf der Bestätigungsseite (jetzt gepinnt). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0df96611dc
commit
524ac64d20
5 files changed
+57
-4
No files matched your search
@@ -121,3 +121,18 @@ test('Zähler: Verträge laden beim Betreten und bei kn:zaehler-neu (document) n
|
||||
b.doc.dispatchEvent(new CustomEvent('kn:zaehler-neu', { detail: { was: 'vertraege' } })); await b.fx.ruhe(); assert.equal(n('/api/invoices'), i0 + 2)
|
||||
await b.zeige('#chat', 'tab'); assert.equal(chatTab(), null)
|
||||
})
|
||||
|
||||
test('Option einschalten in der Mitarbeiter-Kundenansicht: die Hülle reicht viewAs true durch, auch wenn das Modul es nicht nennt; sonst bleibt die Option unverändert', async () => {
|
||||
const MODULE = { news: ['/funktionen.js', 'initNews'], termine: ['/termine.js', 'initTermine'], webshop: ['/shop.js', 'initShop'], buchungen: ['/buchungen.js', 'initBuchungen'], zeiten: ['/zeiten.js', 'initZeiten'] }
|
||||
for (const [etage, [, init]] of Object.entries(MODULE)) {
|
||||
const aufrufe = []
|
||||
const lade = async (p) => (p === '/neu/funktion-einschalten.js' ? { zeigeEinschalten: (platz, o) => aufrufe.push(['zeige', o]) } : { [init]: (root, opt) => aufrufe.push(['init', opt]) })
|
||||
await boot({ hash: `#${etage}`, karte: { ...KARTE_KUNDE, '/api/auth/me': ME_VIEW }, lade })
|
||||
const einschalten = aufrufe.find((a) => a[0] === 'init')[1].einschalten
|
||||
const platz = { id: 'platz' }
|
||||
await einschalten(platz, { key: etage, projectId: 'p1' })
|
||||
assert.deepEqual(aufrufe.at(-1), ['zeige', { key: etage, projectId: 'p1', viewAs: true }], `${etage}: viewAs fehlt im Aufruf`)
|
||||
await einschalten(platz, { key: etage, projectId: 'p1', viewAs: false })
|
||||
assert.equal(aufrufe.at(-1)[1].viewAs, true, `${etage}: ein viewAs false des Moduls darf die Sperre nicht aufheben`)
|
||||
}
|
||||
})
|
||||
Reference in new issue
Block a user