Files
openfoodnetwork/lib/open_food_network/column_preference_defaults.rb
Frank West 8324b00999 Renames product bulk edit action to index
When a user hit cancel while editing a product it took them to the spree
products index page instead of the bulk edit page. The button was part
of a shared view for all resources so changing it's actions were not
readily available.

It was suggested that instead of carrying our own separate controller
action we could just override the index action of the products
controller with the bulk edit functionality instead. This has the
advantage of removing some overrides and allows us to not add
additional overrides in the future.
2018-06-19 17:51:23 +10:00

118 lines
6.5 KiB
Ruby

module OpenFoodNetwork
module ColumnPreferenceDefaults
private
# NOTE: These methods define valid column names (via hash keys)
# as well as default values for column attributes (eg. visiblity)
# Default values can be overridden by storing a different value
# for a given user, action_name and column_name
def variant_overrides_index_columns
node = 'admin.variant_overrides.index'
{
producer: { name: I18n.t("admin.producer"), visible: true },
product: { name: I18n.t("admin.product"), visible: true },
sku: { name: I18n.t("admin.sku"), visible: false },
price: { name: I18n.t("admin.price"), visible: true },
on_hand: { name: I18n.t("admin.on_hand"), visible: true },
on_demand: { name: I18n.t("admin.on_demand?"), visible: true },
reset: { name: I18n.t("#{node}.enable_reset?"), visible: false },
inheritance: { name: I18n.t("#{node}.inherit?"), visible: false },
tags: { name: I18n.t("admin.tags"), visible: false },
visibility: { name: I18n.t("#{node}.hide"), visible: false },
import_date: { name: I18n.t("#{node}.import_date"), visible: false }
}
end
def customers_index_columns
node = 'admin.customers.index'
{
email: { name: I18n.t("admin.email"), visible: true },
name: { name: I18n.t("admin.name"), visible: true },
code: { name: I18n.t("#{node}.code"), visible: true },
tags: { name: I18n.t("admin.tags"), visible: true },
bill_address: { name: I18n.t("#{node}.bill_address"), visible: true },
ship_address: { name: I18n.t("#{node}.ship_address"), visible: true }
}
end
def orders_bulk_management_columns
node = "admin.orders.bulk_management"
{
order_no: { name: I18n.t("#{node}.order_no"), visible: false },
full_name: { name: I18n.t("admin.name"), visible: true },
email: { name: I18n.t("admin.email"), visible: false },
phone: { name: I18n.t("admin.phone"), visible: false },
order_date: { name: I18n.t("#{node}.order_date"), visible: true },
producer: { name: I18n.t("admin.producer"), visible: true },
order_cycle: { name: I18n.t("admin.order_cycle"), visible: false },
hub: { name: I18n.t("admin.shop"), visible: false },
variant: { name: I18n.t("#{node}.product_unit"), visible: true },
quantity: { name: I18n.t("admin.quantity"), visible: true },
max: { name: I18n.t("#{node}.max"), visible: true },
final_weight_volume: { name: I18n.t("#{node}.weight_volume"), visible: false },
price: { name: I18n.t("admin.price"), visible: false }
}
end
def products_index_columns
node = "spree.admin.products.index.products_head"
{
image: { name: I18n.t("admin.image"), visible: true },
producer: { name: I18n.t("admin.producer"), visible: true },
sku: { name: I18n.t("admin.sku"), visible: false },
name: { name: I18n.t("admin.name"), visible: true },
unit: { name: I18n.t("#{node}.unit"), visible: true },
price: { name: I18n.t("admin.price"), visible: true },
on_hand: { name: I18n.t("admin.on_hand"), visible: true },
on_demand: { name: I18n.t("admin.on_demand"), visible: true },
category: { name: I18n.t("#{node}.category"), visible: false },
tax_category: { name: I18n.t("#{node}.tax_category"), visible: false },
inherits_properties: { name: I18n.t("#{node}.inherits_properties?"), visible: false },
available_on: { name: I18n.t("#{node}.available_on"), visible: false },
import_date: { name: I18n.t("#{node}.import_date"), visible: false }
}
end
def enterprises_index_columns
node = "admin.enterprises.index"
{
name: { name: I18n.t("admin.name"), visible: true },
producer: { name: I18n.t("#{node}.producer?"), visible: true },
package: { name: I18n.t("#{node}.package"), visible: true },
status: { name: I18n.t("#{node}.status"), visible: true },
manage: { name: I18n.t("#{node}.manage"), visible: true }
}
end
def order_cycles_index_columns
node = "admin.order_cycles.index"
{
name: { name: I18n.t("admin.name"), visible: true },
schedules: { name: I18n.t("#{node}.schedules"), visible: true },
open: { name: I18n.t("open"), visible: true },
close: { name: I18n.t("close"), visible: true },
producers: { name: I18n.t("label_producers"), visible: false },
coordinator: { name: I18n.t("coordinator"), visible: true },
shops: { name: I18n.t("label_shops"), visible: false },
products: { name: I18n.t("products"), visible: true }
}
end
def subscriptions_index_columns
_node = "admin.subscriptions.index"
{
customer: { name: I18n.t("admin.customer"), visible: true },
schedule: { name: I18n.t("admin.schedule"), visible: true },
items: { name: I18n.t("items"), visible: true },
orders: { name: I18n.t("orders"), visible: true },
state: { name: I18n.t("admin.status_state"), visible: true },
begins_on: { name: I18n.t("admin.begins_on"), visible: false },
ends_on: { name: I18n.t("admin.ends_on"), visible: false },
payment_method: { name: I18n.t("admin.payment_method"), visible: false },
shipping_method: { name: I18n.t("admin.shipping_method"), visible: false }
}
end
end
end