Zammad: 对象管理器添加新状态

创建于 2017-01-02  ·  25评论  ·  资料来源: zammad/zammad

在对象管理器中,我无法创建新的工单状态。 如果单击 manger / Tickets 对象,则所有内容均不可单击

duplicate

最有用的评论

所以你说在这种情况下API是错误的? 也许应该在文档中注明?

您还可以使用 REST API 来执行此更改。

-=> 我们的目标是通过 UI 覆盖它。 所以这只是 UI 可用的一个小型迷你操作方法/解决方法单元。

所有25条评论

有人可以向我解释如何添加新状态。 我需要状态“已解决”。

对于任何帮助,我将不胜感激

更新:

我通过 API 接口在文档中添加了一个新的 TicketState。 新状态不会出现。

{
    "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 控制台添加新状态的小方法/解决方法(我们的目标是通过 UI 覆盖它):

添加一个新状态,比如说“客户反馈”:

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 来执行此更改。

-=> 我们的目标是通过 UI 覆盖它。 所以这只是 UI 可用的一个小型迷你操作方法/解决方法单元。

我们的目标是通过 UI 覆盖它。 所以这只是 UI 可用的一个小型迷你操作方法/解决方法单元。

此 UI 增强功能 +1

此 UI 增强功能 +1

有没有办法通过 api 访问新创建的状态?
像查询搜索状态:newone

我又创建了 2 个状态,它们工作正常,但需要 api 访问

@skibson尝试通过 API 进行此更改,将返回以下响应:

"error": "属性不可编辑!"

你必须改变什么才能使第二个或第三个状态可见?
它只适用于我们通过 rails 添加的第一个状态。

NVM重新启动Zammad做到了..

但是有没有办法让状态表现得像“待定提醒”呢? 我想添加一个与州有关的日期。

将状态类型设置为与“待处理提醒”相同的类型不起作用。

@马丁尼

当我按照您的步骤操作时出现以下错误:

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

知道为什么吗?
我在 zammad 2.3
谢谢!

@AchuM也许您忘记了最后一个结束的“)”括号。 试着检查一下。 😊

@AchuM - 将内容复制粘贴到控制台时似乎存在问题。 我建议将内容粘贴到 $ZAMMAD_DIR 中的文件中,例如$ZAMMAD_DIR/add_state.rb ,然后通过 $ZAMMAD_DIR 中的rails r add_state.rb执行它。

似乎您在所描述的行name: 'state_id',前面错过了一个逗号。

是的! )是我的错误🙈

@thorsteneckel这是一个非常好的提示,谢谢! 我会这样做,直到我们通过 UI 获得这个

谢谢!

@martini @thorsteneckel有没有办法完全禁用客户的状态选择? 谢谢!

@martini您如何将这些 rails shell 命令转换为纯 Elasticsearch API 调用?
安装了调用 /opt/zammad/bin/rails c 的 DEB 包返回依赖项错误,并且不习惯 ruby​​,我无法添加新状态。

@martini您知道该州的 UI 何时可用? 我们还想设置状态的颜色。

此外,我们还希望该用户无法更改工单的状态。 他们经常选择错误的,只有代理才能做到。

也为此功能+1。

为此功能 +1

+1

暂时锁定对话,因为这个问题过去没有收到任何有用的评论,只是 +1。

我将关闭此问题,因为从技术上讲它是 #1525 的副本。 我们在文档中描述了如何通过 Zammad Rails 控制台添加状态,直到我们解决 #1525。 现在关闭。

此页面是否有帮助?
0 / 5 - 0 等级