fix: partage dirigé — ACL court-circuitée après résolution Partage/ + chemin canonique au token #196
- le partage EST l'autorisation: plus de 403 'Accès refusé à la vault' pour un destinataire sans accès au vault émetteur (api_file, raw, download) - chemin virtuel canonique Partage/<token>/<nom> — désambiguïse les homonymes, fallback par nom conservé - 'reçu' = partagé_avec contient l'utilisateur: un admin ne voit plus les partages des autres comme reçus (fix File not found: Partage/…) - +3 tests (14 total)
This commit is contained in:
@@ -62,7 +62,11 @@ const DashboardSharedWidget = {
|
||||
if (empty) empty.style.display = "none";
|
||||
const me = (AuthManager.getUser() || {}).username;
|
||||
grid.innerHTML = shares.map(s => {
|
||||
const received = me && s.created_by && s.created_by !== me;
|
||||
// Reçu = adressé à moi (et pas créé par moi). Un admin voit TOUS les
|
||||
// partages via /api/shares — ceux des autres comptes ne sont pas
|
||||
// « reçus » pour lui : ils ne se résolvent pas dans son Partage/.
|
||||
const received = me && s.created_by && s.created_by !== me
|
||||
&& Array.isArray(s.shared_with) && s.shared_with.includes(me);
|
||||
const actions = received
|
||||
? `<button class="shared-open-btn">${t('dashboard.open_btn')}</button>`
|
||||
: `<button class="shared-copy-btn" data-url="${window.location.origin}/s/${s.token}">${t('dashboard.copy_btn')}</button>
|
||||
|
||||
Reference in New Issue
Block a user