brewman/brewman/routes.py

137 lines
5.3 KiB
Python

import datetime
def includeme(config):
config.add_route("api_dashboard", "/api/Dashboard")
config.add_route("dashboard", "/Dashboard")
config.add_route("api_db_integrity", "/api/DbIntegrity")
config.add_route("api_login", "/api/login")
config.add_route("login", "/login")
config.add_route("logout", "/logout")
config.add_route("api_logout", "/api/logout")
config.add_route("home", "/")
config.add_route("api_account_type_list", "/api/AccountTypes")
add_route(config, "cost_centre", "/CostCentre")
add_route(config, "account", "/Account")
add_route(config, "employee", "/Employee")
add_route(config, "user", "/User")
add_route(config, "group", "/Group")
add_route(config, "client", "/Client")
add_route(config, "product", "/Product")
add_route(config, "recipe", "/Recipe")
add_route(config, "product_group", "/ProductGroup")
config.add_route("journal_id", "/Journal/{id}")
config.add_route("journal", "/Journal")
config.add_route("purchase_id", "/Purchase/{id}")
config.add_route("purchase", "/Purchase")
config.add_route("purchase_return_id", "/Return/{id}")
config.add_route("purchase_return", "/Return")
config.add_route("payment_id", "/Payment/{id}")
config.add_route("payment", "/Payment")
config.add_route("receipt_id", "/Receipt/{id}")
config.add_route("receipt", "/Receipt")
config.add_route("issue_id", "/Issue/{id}")
config.add_route("issue", "/Issue")
config.add_route("api_issue_grid", "/api/IssueGrid/{date}")
config.add_route("employee_benefits_id", "/EmployeeBenefits/{id}")
config.add_route("employee_benefits", "/EmployeeBenefits")
config.add_route("incentive_id", "/Incentive/{id}")
config.add_route("incentive", "/Incentive")
config.add_route("db_image", "/api/DbImage/{id}/{type}")
config.add_route("api_voucher_id", "/api/Voucher/{id}")
config.add_route("api_voucher", "/api/Voucher")
config.add_route("message_id", "/Message/{id}")
config.add_route("message", "/Message")
config.add_route("api_message_id", "/api/Message/{id}")
config.add_route("api_message", "/api/Message")
config.add_route("api_tag_list", "/api/Tags")
config.add_route("settings", "/Settings")
config.add_route("api_lock_information", "/api/LockInformation")
config.add_route("api_maintenance", "/api/Maintenance")
add_route(config, "attendance", "/Attendance", has_list=False, variable="date")
config.add_route("api_attendance_types", "/api/AttendanceTypes")
add_route(config, "employee_attendance", "/EmployeeAttendance", has_list=False)
config.add_route("attendance_report", "/AttendanceReport")
config.add_route("api_credit_salary", "/api/CreditSalary")
config.add_route("employee_functions", "/EmployeeFunctions")
config.add_route("api_fingerprint", "/api/Fingerprint")
add_route(config, "ledger", "/Ledger", has_list=False)
add_route(config, "reconcile", "/Reconcile", has_list=False)
add_route(config, "product_ledger", "/ProductLedger", has_list=False)
add_route(config, "trial_balance", "/TrialBalance", has_list=False, variable="date")
config.add_route("api_net_transactions", "/api/NetTransactions")
config.add_route("net_transactions", "/NetTransactions")
config.add_route("api_purchases", "/api/Purchases")
config.add_route("purchases", "/Purchases")
add_route(config, "closing_stock", "/ClosingStock", has_list=False, variable="date")
add_route(config, "cash_flow", "/CashFlow", has_list=False)
add_route(config, "raw_material_cost", "/RawMaterialCost", has_list=False)
config.add_route("api_daybook", "/api/Daybook")
config.add_route("daybook", "/Daybook")
config.add_route("api_unposted", "/api/Unposted")
config.add_route("unposted", "/Unposted")
config.add_route("api_profit_loss", "/api/ProfitLoss")
config.add_route("profit_loss", "/ProfitLoss")
config.add_route("api_stock_movement", "/api/StockMovement")
config.add_route("stock_movement", "/StockMovement")
add_route(config, "balance_sheet", "/BalanceSheet", has_list=False, variable="date")
config.add_route("api_purchase_entries", "/api/PurchaseEntries")
config.add_route("purchase_entries", "/PurchaseEntries")
config.add_route("api_auth", "/api/Auth")
config.add_route("api_rebase", "/api/Rebase/{date}")
config.add_route("api_reset_stock", "/api/ResetStock/{id}")
config.add_route("api_batch", "/api/Batch")
config.add_static_view("", "brewman:static")
def add_route(config, name, url, has_list=True, variable="id"):
config.add_route(name + "_" + variable, url + "/{" + variable + "}")
config.add_route(name, url)
if has_list:
config.add_route(name + "_list", pluralize(url))
config.add_route(
"api_" + name + "_" + variable, "/api" + url + "/{" + variable + "}"
)
config.add_route("api_" + name, "/api" + url)
def pluralize(word, num=None):
if num is None or num != 1:
if word.endswith("y"):
return word[:-1] + "ies"
elif word[-1] in "sx" or word[-2:] in ["sh", "ch"]:
return word + "es"
elif word.endswith("an"):
return word[:-2] + "en"
else:
return word + "s"
return word
def get_age(days):
return datetime.timedelta(days=days).total_seconds()