alnv / catalog-manager

Backend Module ohne Programmierkenntnisse erstellen.
https://catalog-manager.org
33 stars 8 forks source link

Frontend Editing aktivieren und Benutzerberechtigungen aktivieren #7

Closed Anke closed 7 years ago

Anke commented 7 years ago

Hallo,

wenn ich im Catalog-Listenmodul das Frontend-Editing aktiviere, kann jeder, also auch Unberechtigte, die Datensätze bearbeiten. Aktiviere ich zusätzlich die Option "Benutzerberechtigungen aktivieren", bekommen nicht angemeldete User die Tabelle gar nicht zu sehen, sondern ein "Zugriff verweigert".

Wenn ich das Frontend-Editing wieder abschalte, kommt trotzdem "Zugriff verweigert" und ich muss das Frontend-Editing wieder aktivieren, um das Häkchen bei "Benutzerberechtigungen" wegzunehmen und den Zustand zu speichern, und dann das Frontend-Editing wieder deaktivieren, damit mir die Tabelle als Gast anzeiegt wird, allerdings erscheint nun trotzdem der Button "Create" zum Erstellen eines neuen Datensatzes.

Irgendwie ist das etwas verwirrend und ich weiß nicht, ob ich etwas übersehe oder es sich um einen Bug handelt. Die Listen sollen idealerweise für jedermann (Gäste) einsehbar sein, und nur Mitglieder einer bestimmten Mitgliedergruppe sollen Datensätze im FE anlegen und bearbeiten dürfen.

Hilfe wäre nett ...

LG Anke

alnv commented 7 years ago

Wenn man die Benutzerberechtigungen aktiviert, sollten die entsprechenden Rechte bei Mitgliedergruppen gesetzt werden. Das ganze läuft ähnlich wie bei Benutzergruppen ab.

Eine "Nur für Gäste sichtbar" Funktion gibt es noch nicht, wäre aber sinnvoll. Dieses feature kommt bald :)

Wenn ich das Frontend-Editing wieder abschalte, kommt trotzdem "Zugriff verweigert" und ich muss das Frontend-Editing wieder aktivieren, um das Häkchen bei "Benutzerberechtigungen" wegzunehmen und den Zustand zu speichern, und dann das Frontend-Editing wieder deaktivieren, damit mir die Tabelle als Gast anzeiegt wird

Das ist ein Bug, werde mich drum kümmern…

Anke commented 7 years ago

Wenn man die Benutzerberechtigungen aktiviert, sollten die entsprechenden Rechte bei Mitgliedergruppen gesetzt werden. Das ganze läuft ähnlich wie bei Benutzergruppen ab.

Das habe ich entdeckt und finde es sehr praktisch, denn so kann man es bei Bedarf so einrichten, dass im FE nur der Besitzer seinen Datensatz ändern kann, falls eine solche Funktion nicht explizit vorgesehen ist.

alnv commented 7 years ago

Was die Sache mit dem Besitzer anbetrifft. Dafür benötigt jeder Datensatz erstmal eine User ID. Danach kann man bei Filter/Taxonomies die Datensätze nach der User ID filtern. Dazu kann der user Insert Tag verwendet werden.

Auf der Demo Seite gibt es ein Beispiel mit einer Todo Liste: http://catalog-manager-demo.alexandernaumov.de/contao

Siehe FE Modul: Todo: Listenansicht & FE Editing

Allgemein werde ich die Benutzerberechtigungen ausbessern. Sollte nicht all zu lang dauern mit dem update…

Anke commented 7 years ago

Super! Danke, klingt gut!

Anke commented 7 years ago

Damit wir hier nicht aneinander vorbeireden - ich habe mir das gerade noch mal angesehen:

Wenn ich im FE-Listen-Modul anklicke "Benutzerberechtigungen aktivieren", ist die ganze Seite gesperrt (Access denied), also auch Überschrift und Text-Inhaltselemente, die gar nicht Teil des Catalog Managers sind.

Nach meinem Verständnis sollte mit der Option "Benutzerberechtigungen aktivieren" lediglich die Anzeige der FE-Bearbeitungsbuttons gesteuert werden. (Also z.B. wenn Besitzer oder Mitgliedergruppe, zeige Bearbeitungsbuttons, ansonsten verstecken). Für alles andere sind doch die Berechtigungen eigentlich über die Core-Module einstellbar ("Zugriffsschutz" in Seitenstruktur, Artikeln, Inhaltselementen, FE-Modulen) ...?

PS: Vielen Dank für die Erledigung der anderen Issues!

PPS: Ich finde es nicht so gut, dass ein Mitglied im Feld Autor seinen eigenen Namen raussuchen soll; da hier kann jeder jeden anklicken kann. Diese Option ist IMHO nur im BE sinnvoll für Admins. ID und Gruppe des im FE angemeldeten Mitglieds sollten automatisch als Besitzer eines Datensatzes registriert werden.

alnv commented 7 years ago

Genauso ist es geplant.

Wegen dem Autor. Man könnte es hier über ein hidden input field lösen. Sobald der Task hier erledigt ist, mache ich ein Beispiel dazu.

alnv commented 7 years ago

Die Benutzerberechtigungen wurden in der v1.3 überarbeitet. Es gibt keine 403 mehr stattdessen werden die Operatoren ein/ausgeblendet.

Anke commented 7 years ago

Fast perfekt! Wäre schön, wenn die ganze Spalte "Edit" für Unberechtigte ausgeblendet werden könnte (die leeren td's erscheinen trotzdem, auch die Kopfzeile "Edit").

alnv commented 7 years ago

Ist erledigt in v1.3.1

Anke commented 7 years ago

Ein kleines Fehlerchen steckt da noch drin. Wenn man im Modul "Catalog Listeansicht" die Frontend-Bearbeitung mal eingerichtet hatte und sie wieder deaktiviert, ohne vorher die "Operatoren"-Häkchen zu entfernen, erscheint im Tabellenkopf weiterhin die Spalte "Edit".

Es funktioniert, wenn ich in mod_catalog_table.hmtl5, Zeile 25: <?php if ( $this->hasOperations ): ?>

ersetze durch diese Zeile (aus ctlg_view_table.html5): <?php if ( $this->hasOperations && is_array( $this->operations ) ): ?>

alnv commented 7 years ago

Danke für den Hinweis. Bugfix gibt es in der v1.4.3

Anke commented 7 years ago

Sorry, aber <?php if ( $this->hasOperations && is_array( $this->operations ) ): ?> im mod_catalog_table.html5 scheint auch nicht DIE Lösung zu sein, denn jetzt bin ich als FE-User eingeloggt, bekomme auch nur "meinen" Datensatz angezeigt und der Edit-Button ist da, aber in der Kopfzeile fehlt jetzt die Spaltenüberschrift.

alnv commented 7 years ago

<?php if ( $this->hasOperations ): ?> genügt als Abfrage. In der aktuellsten Version ist der Bug behoben.