Zammad: Objektmanager fügt neuen Zustand hinzu

Erstellt am 2. Jan. 2017  ·  25Kommentare  ·  Quelle: zammad/zammad

Im Objektmanager kann ich keinen neuen Ticketstatus erstellen. Wenn Sie auf das Objekt Krippe/Tickets klicken, ist alles nicht anklickbar

duplicate

Hilfreichster Kommentar

Sie sagen also, API ist in diesem Fall falsch? Vielleicht sollte es in der Dokumentation vermerkt werden?

Sie können auch die REST-API verwenden, um diese Änderungen vorzunehmen.

-=> Unser Ziel ist es, es über die Benutzeroberfläche abzudecken. Dies ist also nur eine kleine Mini-Howto/Workaround-Einheit, für die die Benutzeroberfläche verfügbar ist.

Alle 25 Kommentare

Kann mir jemand erklären, wie ich einen neuen Status hinzufügen kann. Ich brauche den Status "Gelöst".

Für jede Hilfe wäre ich sehr dankbar

AKTUALISIEREN:

Ich habe in der Dokumentation per API-Schnittstelle einen neuen TicketState hinzugefügt. Der neue Status wird nicht angezeigt.

{
    "id": 11,
    "state_type_id": 10,
    "name": "In Bearbeitung",
    "next_state_id": null,
    "ignore_escalation": true,
    "note": "In Bearbeitung",
    "active": true,
    "updated_by_id": 3,
    "created_by_id": 3,
    "created_at": "2017-01-02T21:13:27.003Z",
    "updated_at": "2017-01-02T21:13:27.003Z"
}

states

+1
Ich habe auch einen neuen Status über API hinzugefügt, aber er wird nicht angezeigt. Was könnte falsch sein?

Ich brauche auch einen Status "Work in progress" :+1:

In der Zwischenzeit ein kleines Howto/Workaround, um einen neuen Zustand über die Rails-Konsole hinzuzufügen (unser Ziel ist es, dies über die Benutzeroberfläche abzudecken):

Fügen Sie einen neuen Status hinzu, sagen wir "Kundenfeedback":

rails c
Ticket::State.create_or_update(
  name: 'customer feedback',
  state_type_id: Ticket::StateType.find_by(name: 'open').id,
  ignore_escalation: true,
  created_by_id: 1,
  updated_by_id: 1,
)

Als zweites müssen Sie dem Ticketstatusattribut mitteilen, dass es auswählen darf, hier ist ein Beispiel, bitte seien Sie vorsichtig (falls Sie nicht wissen, was Sie tun werden, erstellen Sie zuerst eine Datenbanksicherung)!

ObjectManager::Attribute.add(
  force: true,
  object: 'Ticket',
  name: 'state_id',
  display: 'State',
  data_type: 'select',
  data_option: {
    relation: 'TicketState',
    nulloption: true,
    multiple: false,
    null: false,
    default: Ticket::State.find_by(default_follow_up: true).id,
    translate: true,
    filter: Ticket::State.by_category(:viewable).pluck(:id),
  },
  editable: false,
  active: true,
  screens: {
    create_middle: {
      'ticket.agent' => {
        null: false,
        item_class: 'column',
        filter: Ticket::State.by_category(:viewable_agent_new).pluck(:id),
      },
      'ticket.customer' => {
        item_class: 'column',
        nulloption: false,
        null: true,
        filter: Ticket::State.by_category(:viewable_customer_new).pluck(:id),
        default: Ticket::State.find_by(default_create: true).id,
      },
    },
    edit: {
      'ticket.agent' => {
        nulloption: false,
        null: false,
        filter: Ticket::State.by_category(:viewable_agent_edit).pluck(:id),
      },
      'ticket.customer' => {
        nulloption: false,
        null: true,
        filter: Ticket::State.by_category(:viewable_customer_edit).pluck(:id),
        default: Ticket::State.find_by(default_follow_up: true).id,
      },
    },
  },
  to_create: false,
  to_migrate: false,
  to_delete: false,
  position: 40,
)

Sie sagen also, API ist in diesem Fall falsch? Vielleicht sollte es in der Dokumentation vermerkt werden?

Sie sagen also, API ist in diesem Fall falsch? Vielleicht sollte es in der Dokumentation vermerkt werden?

Sie können auch die REST-API verwenden, um diese Änderungen vorzunehmen.

-=> Unser Ziel ist es, es über die Benutzeroberfläche abzudecken. Dies ist also nur eine kleine Mini-Howto/Workaround-Einheit, für die die Benutzeroberfläche verfügbar ist.

Unser Ziel ist es, es über die Benutzeroberfläche abzudecken. Dies ist also nur eine kleine Mini-Howto/Workaround-Einheit, für die die Benutzeroberfläche verfügbar ist.

+1 für diese UI-Verbesserung

+1 für diese UI-Verbesserung

Gibt es eine Möglichkeit, über API auf neu erstellte Zustände zuzugreifen?
wie Abfrage suchen state:newone ?

Ich habe 2 weitere Zustände erstellt und sie funktionieren gut, benötigen aber API-Zugriff

@skibson Beim Versuch, diese Änderung über die API vorzunehmen, wird die folgende Antwort zurückgegeben:

"error": "Attribut nicht editierbar!"

Was muss man verändern, um einen zweiten oder dritten Zustand sichtbar zu machen?
Es funktioniert nur für den ersten Zustand, den wir jemals über Schienen hinzugefügt haben.

NVM-Neustart von Zammad hat es getan.

Aber gibt es eine Möglichkeit, den Zustand dazu zu bringen, sich wie die "ausstehende Erinnerung" zu verhalten? Ich möchte ein Datum hinzufügen, das sich auf den Staat bezieht.

Das Festlegen des Statustyps auf denselben Typ wie "Ausstehende Erinnerung" hat nicht funktioniert.

@Martini

Ich erhalte die folgende Fehlermeldung, wenn ich Ihren Schritten gefolgt bin:

SyntaxError: (irb):11: syntax error, unexpected tIDENTIFIER, expecting ')' name: 'state_id',

Irgendeine Idee warum?
Ich habe Zammad 2.3
Danke!

@AchuM Vielleicht hast du die letzten schließenden ")" Klammern vergessen. Versuchen Sie, das zu überprüfen. 😊

Hallo @AchuM - anscheinend gab es ein Problem beim Kopieren und Einfügen des Inhalts in die Konsole. Ich würde empfehlen, den Inhalt in eine Datei in Ihrem $ZAMMAD_DIR wie zB $ZAMMAD_DIR/add_state.rb einzufügen und über rails r add_state.rb von Ihrem $ZAMMAD_DIR auszuführen.

Anscheinend haben Sie ein Komma vor der beschriebenen Zeile name: 'state_id', übersehen.

Ja! ) war mein Fehler 🙈

@thorsteneckel Das ist ein sehr guter Tipp, Danke! Ich werde das tun, bis wir dies über die Benutzeroberfläche haben

Danke schön!

@martini @thorsteneckel Gibt es eine Möglichkeit, die Statusauswahl für Kunden vollständig zu deaktivieren? Danke!

@martini wie würden Sie diese Rails-Shell-Befehle in reine Elasticsearch-API-Aufrufe übersetzen?
Nachdem ich das DEB-Paket installiert habe, das /opt/zammad/bin/rails c aufruft, gibt es Abhängigkeitsfehler zurück, und da ich nicht an Ruby gewöhnt bin, kann ich keinen neuen Zustand hinzufügen.

@gualican hast du https://docs.zammad.org/en/latest/admin-console.html gesehen? Grüße

@martini weißt du, wann die Benutzeroberfläche für den Staat verfügbar sein wird? Wir möchten auch die Farbe des Staates festlegen.

Außerdem möchten wir, dass Benutzer den Status eines Tickets nicht ändern können. Sie wählen oft einen falschen aus, nur der Agent sollte in der Lage sein, dies zu tun.

+1 auch für diese Funktion.

+1 für diese Funktion

+1

Die Konversation wird vorerst gesperrt, da dieses Problem in der Vergangenheit keine nützlichen Kommentare erhalten hat, sondern nur +1.

Ich werde dieses Problem schließen, da es technisch gesehen ein Duplikat von # 1525 ist. Wie Sie bereits Zustände über die Zammad-Rails-Konsole hinzufügen können, beschreiben wir in der Dokumentation bis wir #1525 lösen. Schließt jetzt.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen