redaxo / redaxo

REDAXO, a PHP-based CMS since 2004. Both simple and flexible.
https://redaxo.org
Other
327 stars 116 forks source link

Bug: Medienpool-Rechte Upload #4135

Closed skerbis closed 3 years ago

skerbis commented 3 years ago

Version: 5.11.1 Obwohl nur eine Kategorie freigegeben wurde, können die User auch in der Kategorie eine Ebene höher Dateien hochladen.

Bildschirmfoto 2020-11-29 um 23 40 48 Bildschirmfoto 2020-11-29 um 23 40 16
gharlan commented 3 years ago

Komisch, bei mir ist in dem Fall die Liste ganz leer, was auch falsch ist. Den Fehler bei mir kann ich mir im Code erklären. Den Fehler bei dir kann ich mir hingegen nicht erklären.

Aber ich versuche mal den Fehler bei mir zu fixen, und dann kannst du ja mal testen, ob es den bei dir auch fixt.

gharlan commented 3 years ago

Hmm, was erwarten wir denn eigentlich, wenn kreuz und quer im Baum einzelne Kategorien erlaubt sind? Wahrscheinlich wäre das beste, den kompletten Kategoriebaum auszugeben, aber die nicht erlaubten zu disablen. Den Mountpoint-Ansatz wie in der Struktur nutzen wir im MP eigentlich bisher nicht, und wäre aufwendiger dafür den jetzt einzubauen. Kann man dann vielleicht eher beim MP3.0 überlegen.

skerbis commented 3 years ago

Also ich erwarte hier eigentlich dass Medien nur in den Kategorien hochgeladen werden können die ich ausgewählt habe. Das war auch mal so. Hier wird komischerweise die Kategorie darüber auch angezeigt. Das war als ich es begonnen habe umzusetzen nicht so. Das mit den mountpoints wäre ja für die allgemeine Sichtbarkeit - aber hier geht es um Upload.

gharlan commented 3 years ago

Also ich erwarte hier eigentlich dass Medien nur in den Kategorien hochgeladen werden können die ich ausgewählt habe.

Korrekt. Mir geht es um die Darstellung des Baums im Select. Die nicht erlaubten könnten ja als disabled erscheinen.

Das war als ich es begonnen habe umzusetzen nicht so.

Mit welcher Rex-Version hattest du begonnen, weißt du das noch? Wobei der entsprechende Code eigentlich seit 8 Jahren nicht geändert wurde.

Für mich sieht es im Code so aus:

Für mich aktuell alles recht skurril. Kann gut sein, dass ich es noch nicht richtig blicke.

Das mit den mountpoints wäre ja für die allgemeine Sichtbarkeit - aber hier geht es um Upload.

Ja, es geht um das Selectfeld beim Upload. Aus deinem Screenshot, angenommen es wären "Partner", "Linienpläne" und "0010 :: Verkehrmeldungen" ausgewählt, wie sollte deiner Meinung nach dann das Select aussehen? Die drei Kategorien auf oberster Ebene, obwohl sie eigentlich auf unterschiedlichen Ebenen sitzen? Das wäre der Mountpoint-Ansatz. Oder alternativ könnte man den kompletten Baum zeigen, und die nicht erlaubten aber disablen. Dann würde man sehen, wo die Kategorien im Baum sitzen.

gharlan commented 3 years ago

Sorry, wenn ich so nachfrage, aber bist du sicher, dass du nicht irgendeinen diese MP-Rechte-Patches bei dir drin hast? Mir kommt das Verhalten bei dir komisch vor. Sieht dieser Abschnitt bei dir genauso aus? https://github.com/redaxo/redaxo/blob/5.11.1/redaxo/src/addons/mediapool/lib/media_category_select.php#L40-L79

skerbis commented 3 years ago

Wobei der entsprechende Code eigentlich seit 8 Jahren nicht geändert wurde.

Vielleicht irre ich mich und hatte es doch zuvor auf oberster Ebene.

Aber du sagst ja, in meinem Fall sollte es garnicht gezeigt werden, was auch verwirrend wäre.

Die Kategorien sind Keine Kategorie -> 00 :: NIAG Online ->0010 :: Verkehrsmeldungen

und die nicht erlaubten aber disablen...

Dann könnte man sie auch ausblenden. Es ist ja ein Select ohne echte Hierarchie.

Ich habe keine Patches installiert.

Sieht dieser Abschnitt bei dir genauso aus?

Exakt wie bei dir:

Bildschirmfoto 2020-12-01 um 23 15 52
skerbis commented 3 years ago

Ich löse es jetzt erstmal für mich so, dass ich diese Kategorie auf oberster Ebene ablege. Was in diesem Fall jedoch bei den Redakteuren dafür sorgt, dass sie denken es wäre Domainübergreifend.

gharlan commented 3 years ago

Füge bitte mal diese dumps bei dir ein, und schaue was da rauskommt, wenn du die Upload-Page aufrufst: https://github.com/redaxo/redaxo/commit/b2d398999f09ee1de52b1f98c886d398e215c1c6

skerbis commented 3 years ago

@gharlan bei diesem User:

null
true
"00 :: NIAG Online"
"0010 :: Verkehrsmeldungen"
gharlan commented 3 years ago

Dann schau bitte mal direkt in der Datenbank in rex_user_role in die Rolle rein, was steht da genau im perms json bei "media":?

skerbis commented 3 years ago

Sorry ... es gibt 2 Rechnet mit dem gleichen Namen. Das zugeordnete hat beide Kategorien. So wie es "sein" sollte.