Benutzer kann Titel eines gesperrten Beitrags bearbeiten (immer noch/wieder möglich)

Dieses Thema wurde geschlossen:

Aber auf unserer Installation (sehr neueste Discourse-Version) ist dies für TL3±Benutzer immer noch/erneut möglich.

TL3 kann den Titel, die Kategorie und die Tags des ursprünglichen Beitrags (OP) auch bei gesperrten Beiträgen ändern.

Admin sperrt Beitrag:

TL3 kann den gesperrten Beitrag dennoch bearbeiten/ändern:

Funktioniert dies wie vorgesehen (hoffentlich nicht) oder ist dies ein alter Bug, der wieder im Code herumschleicht?

1 „Gefällt mir“

Wenn ich das richtig verstanden habe, funktioniert dies zumindest so, wie es der Code “beabsichtigt”:

TL3 kann nur dann nicht bearbeiten, wenn das Thema archiviert ist oder es sich um eine PN handelt.

Ich denke, du kannst trusted_users_can_edit_others ändern, wenn du dieses Verhalten deaktivieren möchtest. AFAIK ist der Standardwert für trusted_users_can_edit_others nicht false, um eine konsistente Verhaltensweise mit dem Zustand vor der Einführung dieser Einstellung beizubehalten.

3 „Gefällt mir“

Was ist dann der Zweck des Sperrens von Beiträgen? Es gibt keinen. Oder ich habe keinen gefunden, weshalb die Funktion entweder veraltet, dysfunktional oder zumindest verwirrend ist.

image

Der Text sagt eindeutig: „Ein Mitarbeiter hat diesen Beitrag vor Änderungen gesperrt.

2 „Gefällt mir“

Und es wird noch verwirrender…

Der Topic Guardian erlaubt es TL3- und TL4-Nutzern, einen gesperrten Thread/Eintrag (den ersten Eintrag) zu bearbeiten, aber der Post Guardian (siehe Code unten) verhindert, dass TL3- und TL4-Nutzer einen gesperrten Nicht-OP-Eintrag bearbeiten:

def can_edit_post?(post)
  if Discourse.static_doc_topic_ids.include?(post.topic_id) && !is_admin?
    return false
  end

  return true if is_admin?

  # Nur Mitarbeiter dürfen gesperrte Beiträge bearbeiten
  return false if post.locked? && !is_staff?

@eviltrout, ist das beabsichtigt? Logischer (und als gesperrte Funktion wertvoller) wäre es meiner Meinung nach, wenn der Topic Guardian genauso funktionieren würde wie der Post Guardian, der den gesperrten Zustand respektiert. Wie gesagt, ich bin damit einverstanden, dass TL3- und TL4-Nutzer nicht-gesperrte Beiträge bearbeiten können, aber keine gesperrten (dies schließt den ersten Eintrag ein).

1 „Gefällt mir“

Es lohnt sich, die RSpec-Dateien anzusehen.

1 „Gefällt mir“

Das habe ich bereits getan. Aber allein der Blick darauf, wie beide Wächter den gesperrten Zustand unterschiedlich behandeln, ist bereits verwirrend.

Es sollte so sein, wie der Post-Wächter den gesperrten Zustand handhabt, also: # Nur Mitarbeiter dürfen einen gesperrten Beitrag bearbeiten.

Gemeint ist: Derzeit sind gesperrte Beiträge, die nicht die erste Antwort sind, wirklich gesperrt (Benutzer mit TL3+ können sie nicht bearbeiten/ändern), während gesperrte OP-Beiträge überhaupt nicht gesperrt sind (außer für den OP können Benutzer mit TL3+ sie immer noch bearbeiten/ändern). Das ergibt für mich überhaupt keinen Sinn, insbesondere da weder TL3 noch TL4 die Berechtigung haben, einen Beitrag oder ein Thema zu sperren.

Angesichts dessen sollten auch gesperrte OPs für Benutzer mit TL3+ wirklich nicht bearbeitbar sein, trotz der Einstellung, die es ihnen erlaubt, (nicht gesperrte) Beiträge und Themen zu bearbeiten.

2 „Gefällt mir“

Das fühlt sich wirklich wie ein Fehler an, @j.jaffeux – ein gesperrter Beitrag sollte nur von Mitarbeitern bearbeitet werden können, sonst macht das doch keinen Sinn.

5 „Gefällt mir“

Danke, dass du das anerkennst, @codinghorror.

Ja, das ist ein Fehler, und beide Wächter sollten einen Beitrag unabhängig von der Position und der Einstellung, die TL3 und TL4 das Bearbeiten von Beiträgen erlaubt, tatsächlich sperren. Ich habe mein Bestes gegeben, um es in allen Einzelheiten zu erklären.

1 „Gefällt mir“

Kannst du diese Aufgabe @eviltrout zuweisen? Das aktuelle Verhalten scheint mir nicht richtig zu sein.

1 „Gefällt mir“

Ich habe hier einen PR eröffnet

Zusammengeführt, schließe dieses Thema.

5 „Gefällt mir“