Massen-Wiederherstellung

Die Diskussion aus Bester Weg, den öffentlichen Zugriff auf die Themen eines Benutzers vorübergehend zu entfernen? wird fortgesetzt:

Wäre es möglich, einen Massen-Wiederherstellungs-Selektor in der Liste /u/username/deleted-posts zu aktivieren? Soweit ich das beurteilen kann, würde dies ein technisch sehr anspruchsvolles und potenziell gefährliches SQL/Rails-Skript erfordern, um sie programmatisch wiederherzustellen.

Damit diese Funktion am nützlichsten ist, wäre es am besten, zwischen gelöschten Themen und gelöschten Antworten zu unterscheiden. Vielleicht könnte die bestehende URL /u/username/deleted-posts beibehalten und dann /u/username/deleted-posts/topics und /u/username/deleted-posts/replies hinzugefügt werden.

2 „Gefällt mir“

Die Themen sind bereits gelöscht, und ich habe keine Schätzung, wann der Benutzer die Wiederherstellung der Themen beantragen könnte. Ich denke, ich kann darauf warten, dass die Massenlöschung implementiert wird. Ich glaube nicht, dass ich der Einzige bin, der dies nützlich finden würde, es gibt hier einige Beiträge, die um Hilfe dabei bitten.

Dies scheint auch eine potenziell einfachere und sicherere Methode zu sein, um programmgesteuert die Löschung rückgängig zu machen, vorausgesetzt, ich kann herausfinden, wie ich die Liste der gelöschten Themen-IDs des Benutzers generieren kann:

Dies findet gelöschte Themen, die vom Benutzer_id 1 erstellt wurden.

dts=Topic.with_deleted.where(user_id: 1).where("deleted_at is not null");
dts.pluck(:deleted_at, :id)
dps=Post.with_deleted.where(user_id: 1).where("deleted_at is not null");
dbs.pluck(:deleted_at, :id)

Und es sieht so aus, als ob Sie Beiträge mit so etwas wie

dp=dps.first
dp.deleted_at=nil
dp.deleted_by=nil
dp.save

wiederherstellen können.

Und Sie würden etwas Ähnliches für Themen tun.

Wenn es an der Zeit ist, die Dinge wiederherzustellen, sollte das oben für jemanden, der ein kleines bisschen über Rails weiß, ausreichen, um sie alle wiederherzustellen.

Nur zur Information: Wenn Sie sie in eine versteckte Kategorie verschoben hätten, wäre es vielleicht etwas einfacher gewesen, sie alle auf die letzte Revision zurückzusetzen. Aber wenn keines von beiden für Sie überhaupt möglich ist, denke ich, ist das ein Unterschied ohne Bedeutung.

Zuletzt entschuldige ich mich dafür, dass ich eine Funktionsanfrage wieder einmal als Support behandle. Ich glaube, ich tue es, weil ich keine Macht habe, Funktionen zu erstellen, aber ich kann Probleme lösen.

4 „Gefällt mir“

Kein Problem, Jay, ich weiß das wirklich zu schätzen. Natürlich würde ich es bevorzugen, wenn eine GUI-Methode in Discourse implementiert werden könnte, aber wenn nicht, weiß ich es wirklich zu schätzen, dass du mich da durchführst.

1 „Gefällt mir“

Es ist sicherlich ein Grenzfall, aber wir versuchen, im Auge zu behalten, wenn eine Funktion mehrmals angefordert wird (insbesondere von Kunden), um eine bessere Vorstellung davon zu bekommen, wann wir weitermachen sollen :slight_smile:

1 „Gefällt mir“