Zammad: Le gestionnaire d'objets ajoute un nouvel état

Créé le 2 janv. 2017  ·  25Commentaires  ·  Source: zammad/zammad

Dans le gestionnaire d'objets, je n'arrive pas à créer un nouveau statut de ticket. Si vous cliquez sur l'objet mangeoire / Tickets, tout n'est pas cliquable

duplicate

Commentaire le plus utile

Donc, vous dites que l'API est fausse dans ce cas ? Peut-être faut-il le noter dans la documentation ?

Vous pouvez également utiliser l'API REST pour effectuer ces modifications.

-=> Notre objectif est de le couvrir via l'interface utilisateur. Il ne s'agit donc que d'une petite mini-unité de procédure / solution de contournement pour laquelle l'interface utilisateur est disponible.

Tous les 25 commentaires

Quelqu'un pourrait-il m'expliquer comment je peux ajouter un nouveau statut. J'ai besoin du statut "Résolu".

Pour toute aide, je serais très reconnaissant

METTRE À JOUR:

J'ai ajouté un nouveau TicketState dans la documentation via l'interface API. Le nouveau statut n'apparaît pas.

{
    "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
J'ai également ajouté un nouveau statut via api mais il ne s'affiche pas. Qu'est-ce qui ne va pas ?

J'ai aussi besoin d'un état "Travail en cours" :+1:

En attendant, un petit howto/workaround pour ajouter un nouvel état via la console rails (notre but est de le couvrir via l'UI) :

Ajoutez un nouvel état, disons "commentaire client":

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,
)

En second lieu, vous devez indiquer à l'attribut d'état du ticket pour lui permettre de sélectionner, voici un exemple, veuillez faire attention (au cas où vous ne savez pas ce que vous allez faire, créez d'abord une sauvegarde de la base de données) !

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,
)

Donc, vous dites que l'API est fausse dans ce cas ? Peut-être faut-il le noter dans la documentation ?

Donc, vous dites que l'API est fausse dans ce cas ? Peut-être faut-il le noter dans la documentation ?

Vous pouvez également utiliser l'API REST pour effectuer ces modifications.

-=> Notre objectif est de le couvrir via l'interface utilisateur. Il ne s'agit donc que d'une petite mini-unité de procédure / solution de contournement pour laquelle l'interface utilisateur est disponible.

Notre objectif est de le couvrir via l'interface utilisateur. Il ne s'agit donc que d'une petite mini-unité de procédure / solution de contournement pour laquelle l'interface utilisateur est disponible.

+1 pour cette amélioration de l'interface utilisateur

+1 pour cette amélioration de l'interface utilisateur

existe-t-il un moyen d'accéder aux nouveaux états créés via api ?
comme l' état de recherche de la requête : newone ?

j'ai créé 2 autres états et ils fonctionnent bien mais j'ai besoin d'un accès api

@skibson En essayant d'apporter cette modification via l'API, la réponse suivante est renvoyée :

"error": "Attribut non modifiable !"

Que devez-vous modifier pour rendre visible un deuxième ou un troisième état ?
Cela ne fonctionne que pour le premier état que nous ayons jamais ajouté via les rails.

NVM redémarrant Zammad l'a fait ..

Mais existe-t-il un moyen de faire en sorte que l'état se comporte comme celui du "rappel en attente" ? Je veux ajouter une date liée à l'état.

Définir le type d'état sur le même type que "rappel en attente" ne fonctionnait pas.

@martini

J'obtiens l'erreur suivante lorsque j'ai suivi vos étapes :

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

Une idée pourquoi?
je suis sur zammad 2.3
Merci!

@AchuM Peut-être avez-vous oublié les dernières parenthèses fermantes ")". Essayez de vérifier cela. 😊

Salut @AchuM - il semble qu'il y ait eu un problème lors du copier-coller du contenu dans la console. Je recommanderais de coller le contenu dans un fichier dans votre $ZAMMAD_DIR comme par exemple $ZAMMAD_DIR/add_state.rb et de l'exécuter via rails r add_state.rb depuis votre $ZAMMAD_DIR.

Il semble que vous ayez manqué une virgule devant la ligne décrite name: 'state_id', .

Oui! ) était mon erreur 🙈

@thorsteneckel C'est un très bon conseil, merci ! Je le ferai jusqu'à ce que nous ayons cela via l'interface utilisateur

Merci!

@martini @thorsteneckel Existe-t-il un moyen de désactiver complètement la sélection d'état pour les clients ? Merci!

@martini , comment traduiriez-vous ces commandes shell rails en appels d'API Elasticsearch purs ?
Après avoir installé le package DEB appelant /opt/zammad/bin/rails c renvoie des erreurs de dépendances et, n'étant pas habitué à ruby, je ne peux pas ajouter de nouvel état.

@gualican avez-vous vu https://docs.zammad.org/en/latest/admin-console.html ? Cordialement

@martini savez-vous quand l'interface utilisateur de l'État sera-t-elle disponible ? Nous aimerions également définir la couleur de l'état.

De plus, nous aimerions également que l'utilisateur ne puisse pas modifier l'état d'un ticket. Ils en sélectionnent souvent un mauvais, seul l'agent devrait pouvoir le faire.

+1 pour cette fonctionnalité également.

+1 pour cette fonctionnalité

+1

Verrouillage de la conversation pour l'instant, car ce problème n'a reçu aucun commentaire utile dans le passé, mais seulement +1.

Je vais fermer ce problème puisque techniquement c'est un doublon de #1525. Nous décrivons comment vous pouvez déjà ajouter des états via la console Zammad Rails dans la documentation jusqu'à ce que nous résolvions #1525. Fermeture maintenant.

Cette page vous a été utile?
0 / 5 - 0 notes