在Spree中,如何禁用“为管理员添加订单”

时间:2017-01-28 12:26:08

标签: spree

如何禁止管理员手动添加订单?

或者至少如何隐藏为管理员添加订单的按钮?

我查看了配置标签,但没有迹象表明这是可配置的。

2 个答案:

答案 0 :(得分:0)

没有配置选项,您可以通过几种方式完成,但最简单,最清晰的是使用SpreeDeface隐藏管理面板中的按钮。 这里是带有文档的gem Spree Deface的链接。您还可以使用一些CanCan(或CanCanCan)功能来阻止管理员,但这可能会导致一些副作用。 以下是适用于我的代码示例

Deface::Override.new(virtual_path: 'spree/admin/orders/index',
                     name: "remove page actions",
                     remove: "erb[silent]:contains('content_for :page_actions')",
                     closing_selector: "erb[silent]:contains('end')")

答案 1 :(得分:0)

我现在选择通过CSS隐藏按钮。

vendor/assets/stylesheets/spree/backend/中,我创建了admin_overrides.scss

并添加了以下内容:

body.admin #admin_new_order {
  display: none;
}