# -*- coding: utf-8; -*- """ Web Menus """ from tailbone_corepos.menus import make_corepos_menu def simple_menus(request): url = request.route_url rattail_config = request.rattail_config people_menu = { 'title': "People", 'type': 'menu', 'items': [ { 'title': "Members", 'url': url('members'), 'perm': 'members.list', }, { 'title': "Customers", 'url': url('customers'), 'perm': 'customers.list', }, { 'title': "Employees", 'url': url('employees'), 'perm': 'employees.list', }, { 'title': "All People", 'url': url('people'), 'perm': 'people.list', }, ], } products_menu = { 'title': "Products", 'type': 'menu', 'items': [ { 'title': "Products", 'url': url('products'), 'perm': 'products.list', }, { 'title': "Departments", 'url': url('departments'), 'perm': 'departments.list', }, { 'title': "Subdepartments", 'url': url('subdepartments'), 'perm': 'subdepartments.list', }, { 'title': "Brands", 'url': url('brands'), 'perm': 'brands.list', }, { 'title': "Families", 'url': url('families'), 'perm': 'families.list', }, { 'title': "Report Codes", 'url': url('reportcodes'), 'perm': 'reportcodes.list', }, { 'title': "Units of Measure", 'url': url('uoms'), 'perm': 'uoms.list', }, ], } vendors_menu = { 'title': "Vendors", 'type': 'menu', 'items': [ { 'title': "Vendors", 'url': url('vendors'), 'perm': 'vendors.list', }, {'type': 'sep'}, { 'title': "Ordering", 'url': url('ordering'), 'perm': 'ordering.list', }, { 'title': "Receiving", 'url': url('receiving'), 'perm': 'receiving.list', }, {'type': 'sep'}, { 'title': "Purchases", 'url': url('purchases'), 'perm': 'purchases.list', }, { 'title': "Credits", 'url': url('purchases.credits'), 'perm': 'purchases.credits.list', }, ], } corepos_menu = make_corepos_menu(request) shopfoo_menu = { 'title': "Shopfoo", 'type': 'menu', 'items': [ { 'title': "Products", 'url': url('shopfoo.products'), 'perm': 'shopfoo.products.list', }, { 'title': "Product Exports", 'url': url('shopfoo.product_exports'), 'perm': 'shopfoo.product_exports.list', }, {'type': 'sep'}, { 'title': "WooCommerce Products", 'url': url('woocommerce.products'), 'perm': 'woocommerce.products.list', }, ], } reporting_menu = { 'title': "Reporting", 'type': 'menu', 'items': [ { 'title': "New Report", 'url': url('generate_report'), 'perm': 'report_output.generate', }, { 'title': "Generated Reports", 'url': url('report_output'), 'perm': 'report_output.list', }, { 'title': "Problem Reports", 'url': url('problem_reports'), 'perm': 'problem_reports.list', }, ], } batch_menu = { 'title': "Batches", 'type': 'menu', 'items': [ { 'title': "Handheld", 'url': url('batch.handheld'), 'perm': 'batch.handheld.list', }, { 'title': "Inventory", 'url': url('batch.inventory'), 'perm': 'batch.inventory.list', }, { 'title': "Import / Export", 'url': url('batch.importer'), 'perm': 'batch.importer.list', }, ], } trainwreck_menu = { 'title': "Trainwreck", 'type': 'menu', 'items': [ { 'title': "Transactions", 'url': url('trainwreck.transactions'), 'perm': 'trainwreck.transactions.list', }, ], } tempmon_menu = { 'title': "TempMon", 'type': 'menu', 'items': [ { 'title': "Appliances", 'url': url('tempmon.appliances'), 'perm': 'tempmon.appliances.list', }, { 'title': "Clients", 'url': url('tempmon.clients'), 'perm': 'tempmon.clients.list', }, { 'title': "Probes", 'url': url('tempmon.probes'), 'perm': 'tempmon.probes.list', }, { 'title': "Readings", 'url': url('tempmon.readings'), 'perm': 'tempmon.readings.list', }, ], } other_menu = { 'title': "Other", 'type': 'menu', 'items': [ { 'title': "Documentation", 'url': 'https://rattailproject.org/moin/RattailDemo', 'target': '_blank', }, { 'title': "Source Code", 'url': 'https://kallithea.rattailproject.org/rattail-project/rattail-demo', 'target': '_blank', }, { 'title': "RattailProject.org", 'url': 'https://rattailproject.org', 'target': '_blank', }, {'type': 'sep'}, { 'title': "Generate New Project", 'url': url('generate_project'), 'perm': 'common.generate_project', }, ], } admin_menu = { 'title': "Admin", 'type': 'menu', 'items': [ { 'title': "Stores", 'url': url('stores'), 'perm': 'stores.list', }, { 'title': "Users", 'url': url('users'), 'perm': 'users.list', }, { 'title': "User Events", 'url': url('userevents'), 'perm': 'userevents.list', }, { 'title': "Roles", 'url': url('roles'), 'perm': 'roles.list', }, {'type': 'sep'}, { 'title': "App Settings", 'url': url('appsettings'), 'perm': 'settings.list', }, { 'title': "Email Settings", 'url': url('emailprofiles'), 'perm': 'emailprofiles.list', }, { 'title': "Email Attempts", 'url': url('email_attempts'), 'perm': 'email_attempts.list', }, { 'title': "Raw Settings", 'url': url('settings'), 'perm': 'settings.list', }, {'type': 'sep'}, { 'title': "DataSync Changes", 'url': url('datasyncchanges'), 'perm': 'datasync.list', }, { 'title': "Tables", 'url': url('tables'), 'perm': 'tables.list', }, { 'title': "Rattail Demo Upgrades", 'url': url('upgrades'), 'perm': 'upgrades.list', }, ], } menus = [ people_menu, products_menu, vendors_menu, corepos_menu, shopfoo_menu, reporting_menu, batch_menu, ] if rattail_config.trainwreck_engine: menus.append(trainwreck_menu) menus.extend([ tempmon_menu, other_menu, admin_menu, ]) return menus