Zammad: Gerenciador de objetos adiciona novo estado

Criado em 2 jan. 2017  ·  25Comentários  ·  Fonte: zammad/zammad

No gerenciador de objetos, não consigo criar um novo status de ticket. Se você clicar no objeto manjedoura/Tíquetes, nem tudo é clicável

duplicate

Comentários muito úteis

Então você diz que a API está errada neste caso? Talvez devesse ser anotado na documentação?

Você também pode usar a API REST para fazer essas alterações.

-=> Nosso objetivo é cobri-lo através da interface do usuário. Portanto, esta é apenas uma pequena unidade de instruções/solução alternativa na qual a interface do usuário está disponível.

Todos 25 comentários

Alguém poderia me explicar como posso adicionar um novo status. Preciso do status "Resolvido".

Por qualquer ajuda ficarei muito grato

ATUALIZAR:

Eu adicionei um novo TicketState na documentação via interface da API. O novo status não aparece.

{
    "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
Eu também adicionei novo status via api, mas ele não aparece. O que pode estar errado?

Eu também preciso de um estado "Trabalho em andamento" :+1:

Enquanto isso, um pequeno tutorial/solução para adicionar um novo estado via console do rails (nosso objetivo é cobri-lo através da interface do usuário):

Adicione um novo estado, digamos "feedback do cliente":

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

Como segundo você precisa informar o atributo de estado do ticket para permitir que ele selecione, aqui está um exemplo, por favor, tome cuidado (caso você não saiba o que vai fazer, crie um backup do banco de dados primeiro)!

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

Então você diz que a API está errada neste caso? Talvez devesse ser anotado na documentação?

Então você diz que a API está errada neste caso? Talvez devesse ser anotado na documentação?

Você também pode usar a API REST para fazer essas alterações.

-=> Nosso objetivo é cobri-lo através da interface do usuário. Portanto, esta é apenas uma pequena unidade de instruções/solução alternativa na qual a interface do usuário está disponível.

Nosso objetivo é cobri-lo por meio da interface do usuário. Portanto, esta é apenas uma pequena unidade de instruções/solução alternativa na qual a interface do usuário está disponível.

+1 para este aprimoramento de interface do usuário

+1 para este aprimoramento de interface do usuário

existe uma maneira de acessar novos estados criados via api?
como pesquisa de consulta state:newone ?

eu criei mais 2 estados e eles estão funcionando bem, mas precisam de acesso api

@skibson Tentando fazer essa alteração via API, a seguinte resposta é retornada:

"error": "Atributo não editável!"

O que você precisa alterar para tornar um segundo ou terceiro estado visível?
Está funcionando apenas para o primeiro estado que adicionamos via trilhos.

NVM reiniciando Zammad fez isso ..

Mas existe uma maneira de fazer o estado se comportar como o "lembrete pendente"? Quero adicionar uma data relacionada ao estado.

Definir o tipo de estado para o mesmo tipo de "lembrete pendente" não funcionou.

@martini

Estou recebendo o seguinte erro ao seguir seus passos:

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

Alguma ideia do porquê?
estou no zammad 2.3
Obrigado!

@AchuM Talvez você tenha esquecido os últimos parênteses de fechamento ")". Tente verificar isso. 😊

Oi @AchuM - parece que houve um problema ao copiar e colar o conteúdo no console. Eu recomendaria colar o conteúdo em um arquivo em seu $ZAMMAD_DIR como por exemplo $ZAMMAD_DIR/add_state.rb e executá-lo via rails r add_state.rb de seu $ZAMMAD_DIR.

Parece que você perdeu uma vírgula na frente da linha descrita name: 'state_id', .

Sim! ) foi meu erro 🙈

@thorsteneckel Essa é uma dica muito boa, obrigado! Farei isso até que tenhamos isso via interface do usuário

Obrigada!

@martini @thorsteneckel Existe uma maneira de desabilitar completamente a seleção de estado para os clientes? Obrigado!

@martini como você traduziria esses comandos do shell do Rails para chamadas de API do Elasticsearch puras?
Tendo instalado o pacote DEB chamando /opt/zammad/bin/rails c retorna erros de dependências e, não estando acostumado com ruby, não consigo adicionar um novo estado.

@gualican você viu https://docs.zammad.org/en/latest/admin-console.html ? Saudações

@martini você sabe quando a interface do estado estará disponível? Também gostaríamos de definir a cor do estado.

Além disso, gostaríamos que o usuário não pudesse alterar o estado de um ticket. Eles geralmente selecionam um errado, apenas o agente deve ser capaz de fazê-lo.

+1 para este recurso também.

+1 para este recurso

+1

Bloqueando a conversa por enquanto, pois esse problema não recebeu comentários úteis no passado, mas apenas +1s.

Vou fechar este problema, pois tecnicamente é uma duplicata de #1525. Descrevemos como você já pode adicionar estados através do console Zammad Rails na documentação até resolvermos #1525. Fechando agora.

Esta página foi útil?
0 / 5 - 0 avaliações