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
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"
}
+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.
Comentários muito úteis
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.