Files
openfoodnetwork/lib/open_food_network/column_preference_defaults.rb
Pierre de Lacroix 72d264fab9 Make "on demand" columns visible by default
on admin "bulk product edit" and "inventory" (variant overrides) tables
2017-09-15 16:09:26 +10:00

87 lines
4.6 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 }
}
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_bulk_edit_columns
node = "admin.products.bulk_edit"
{
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 }
}
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
end
end