Zammad: Менеджер объектов добавляет новое состояние

Созданный на 2 янв. 2017  ·  25Комментарии  ·  Источник: zammad/zammad

В диспетчере объектов не могу создать новый статус тикета. Если щелкнуть объект ясли/тикеты, все не кликабельно

duplicate

Самый полезный комментарий

Итак, вы говорите, что API в этом случае неверен? Может быть, это должно быть отмечено в документации?

Вы также можете использовать REST API для внесения этих изменений.

-=> Наша цель - покрыть это через пользовательский интерфейс. Так что это всего лишь небольшой мини-инструктор с практическими рекомендациями/обходными путями, доступный в пользовательском интерфейсе.

Все 25 Комментарий

Может кто-нибудь объяснить мне, как я могу добавить новый статус. Мне нужен статус "Решено".

За любую помощь буду очень благодарен

ОБНОВИТЬ:

Я добавил новый TicketState в документацию через интерфейс API. Новый статус не отображается.

{
    "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
Я также добавил новый статус через API, но он не отображается. Что может быть не так?

Еще мне нужно состояние "В работе" :+1:

А пока небольшое руководство/обходной путь для добавления нового состояния через консоль rails (наша цель — охватить его через пользовательский интерфейс):

Добавьте новое состояние, скажем, «отзывы клиентов»:

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

Во-вторых, вам нужно сообщить атрибуту состояния заявки, чтобы разрешить его выбор, вот пример, пожалуйста, будьте осторожны (если вы не знаете, что собираетесь делать, сначала создайте резервную копию базы данных)!

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

Итак, вы говорите, что API в этом случае неверен? Может быть, это должно быть отмечено в документации?

Итак, вы говорите, что API в этом случае неверен? Может быть, это должно быть отмечено в документации?

Вы также можете использовать REST API для внесения этих изменений.

-=> Наша цель - покрыть это через пользовательский интерфейс. Так что это всего лишь небольшой мини-инструктор с практическими рекомендациями/обходными путями, доступный в пользовательском интерфейсе.

Наша цель — покрыть это через пользовательский интерфейс. Так что это всего лишь небольшой мини-инструктор с практическими рекомендациями/обходными путями, доступный в пользовательском интерфейсе.

+1 за это улучшение пользовательского интерфейса

+1 за это улучшение пользовательского интерфейса

есть ли способ получить доступ к новым созданным состояниям через API?
как состояние поиска запроса: newone ?

Я создал еще 2 состояния, и они работают нормально, но им нужен доступ к API.

@skibson При попытке внести это изменение через API возвращается следующий ответ:

"error": "Атрибут не редактируется!"

Что нужно изменить, чтобы второе или третье состояние стало видимым?
Это работает только для первого состояния, которое мы когда-либо добавляли через рельсы.

Перезапуск NVM Zammad сделал это..

Но есть ли способ заставить состояние вести себя как «ожидающее напоминание»? Я хочу добавить дату, связанную с государством.

Установка типа состояния того же типа, что и «ожидающее напоминание», не сработала.

@мартини

Я получаю следующую ошибку, когда я следовал вашим шагам:

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

Есть идеи, почему?
у меня заммад 2.3
Спасибо!

@AchuM Может быть, вы забыли последние закрывающие скобки «)». Попробуйте проверить это. 😊

Привет @AchuM - кажется, возникла проблема при копировании содержимого в консоль. Я бы рекомендовал вставить содержимое в файл в вашем $ZAMMAD_DIR, например, $ZAMMAD_DIR/add_state.rb , и выполнить его через rails r add_state.rb из вашего $ZAMMAD_DIR.

Кажется, вы пропустили запятую перед описанной строкой name: 'state_id', .

Да! ) была моей ошибкой 🙈

@thorsteneckel Это очень хороший совет, спасибо! Я буду делать это, пока у нас не будет этого через пользовательский интерфейс

Спасибо!

@martini @thorsteneckel Есть ли способ полностью отключить выбор состояния для клиентов? Спасибо!

@martini , как бы вы перевели эти команды оболочки rails в чистые вызовы API Elasticsearch?
Установив DEB-пакет, вызов /opt/zammad/bin/rails c возвращает ошибки зависимостей и, не привыкнув к ruby, не могу добавить новое состояние.

@gualican вы видели https://docs.zammad.org/en/latest/admin-console.html ? С уважением

@martini вы знаете, когда будет доступен пользовательский интерфейс для штата? Мы также хотели бы установить цвет состояния.

Кроме того, мы также хотели бы, чтобы пользователь не мог изменить состояние заявки. Они часто выбирают не тот, это должен уметь делать только агент.

+1 за эту функцию.

+1 за эту функцию

+1

На данный момент обсуждение заблокировано, так как в прошлом эта проблема не получала полезных комментариев, а только +1.

Я закрою этот вопрос, так как технически это дубликат # 1525. Мы описываем , как вы уже можете добавлять состояния через консоль Zammad Rails в документации , пока не разрешим #1525. Закрытие сейчас.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги