From 63b0fc6269b38edf7234b9f151b80d81f614c0a3 Mon Sep 17 00:00:00 2001
From: Filipp Lepalaan
Date: Tue, 4 Aug 2015 10:11:24 +0300
Subject: Initial commit
First public commit
---
servo/templates/about.html | 25 +++
servo/templates/accounts/calendar_form.html | 12 ++
servo/templates/accounts/calendars.html | 55 ++++++
servo/templates/accounts/delete_calendar.html | 17 ++
.../templates/accounts/delete_calendar_event.html | 13 ++
servo/templates/accounts/edit_calendar_event.html | 14 ++
servo/templates/accounts/login.html | 22 +++
servo/templates/accounts/logout.html | 17 ++
servo/templates/accounts/orders.html | 59 ++++++
servo/templates/accounts/print_calendar.html | 82 +++++++++
servo/templates/accounts/register.html | 14 ++
servo/templates/accounts/settings.html | 46 +++++
servo/templates/accounts/stats.html | 42 +++++
servo/templates/accounts/tabs.html | 22 +++
servo/templates/accounts/updates.html | 65 +++++++
servo/templates/accounts/view_calendar.html | 66 +++++++
servo/templates/admin/backups.html | 17 ++
servo/templates/admin/checklist/form.html | 31 ++++
servo/templates/admin/checklist/index.html | 6 +
servo/templates/admin/fields/form.html | 17 ++
servo/templates/admin/fields/index.html | 30 +++
servo/templates/admin/fields/remove.html | 8 +
servo/templates/admin/gsx/form.html | 20 ++
servo/templates/admin/gsx/index.html | 6 +
servo/templates/admin/gsx/remove.html | 13 ++
servo/templates/admin/index.html | 50 +++++
servo/templates/admin/inventory/index.html | 18 ++
servo/templates/admin/locations/form.html | 40 ++++
servo/templates/admin/locations/index.html | 6 +
servo/templates/admin/notifications/form.html | 5 +
servo/templates/admin/notifications/index.html | 39 ++++
servo/templates/admin/queues/form.html | 81 ++++++++
servo/templates/admin/queues/index.html | 6 +
servo/templates/admin/queues/remove.html | 17 ++
servo/templates/admin/settings.html | 136 ++++++++++++++
servo/templates/admin/sites/edit_site.html | 9 +
servo/templates/admin/sites/index.html | 23 +++
servo/templates/admin/statuses/form.html | 21 +++
servo/templates/admin/statuses/index.html | 6 +
servo/templates/admin/statuses/remove.html | 17 ++
servo/templates/admin/tags/form.html | 17 ++
servo/templates/admin/tags/index.html | 37 ++++
servo/templates/admin/templates/form.html | 21 +++
.../templates/admin/templates/list_templates.html | 7 +
servo/templates/admin/users/delete_group.html | 11 ++
servo/templates/admin/users/form.html | 70 +++++++
servo/templates/admin/users/group_form.html | 23 +++
servo/templates/admin/users/groups.html | 37 ++++
servo/templates/admin/users/index.html | 51 +++++
servo/templates/admin/users/remove.html | 17 ++
servo/templates/admin/users/tabs.html | 7 +
servo/templates/admin/users/upload_users.html | 13 ++
servo/templates/checkin/confirmation.html | 13 ++
servo/templates/checkin/customer_form.html | 87 +++++++++
servo/templates/checkin/device_form.html | 62 +++++++
servo/templates/checkin/error.html | 15 ++
servo/templates/checkin/index.html | 95 ++++++++++
servo/templates/checkin/newindex.html | 146 +++++++++++++++
servo/templates/checkin/status-show.html | 35 ++++
servo/templates/checkin/status.html | 21 +++
servo/templates/checkin/terms.html | 9 +
servo/templates/checkin/thanks.html | 26 +++
servo/templates/customers/choose-list.html | 8 +
servo/templates/customers/choose.html | 45 +++++
servo/templates/customers/delete_group.html | 17 ++
servo/templates/customers/edit_group.html | 8 +
servo/templates/customers/find.html | 95 ++++++++++
servo/templates/customers/form.html | 51 +++++
servo/templates/customers/index.html | 84 +++++++++
servo/templates/customers/list.html | 11 ++
servo/templates/customers/merge.html | 19 ++
servo/templates/customers/move.html | 20 ++
servo/templates/customers/remove.html | 17 ++
servo/templates/customers/results-merge.html | 5 +
servo/templates/customers/search-results.html | 5 +
servo/templates/customers/search.html | 44 +++++
servo/templates/customers/upload.html | 13 ++
servo/templates/customers/view.html | 119 ++++++++++++
servo/templates/default.html | 185 +++++++++++++++++++
servo/templates/default_print.html | 23 +++
servo/templates/devices/accessories_edit.html | 40 ++++
servo/templates/devices/choose-error.html | 5 +
servo/templates/devices/choose-list.html | 12 ++
servo/templates/devices/choose.html | 26 +++
servo/templates/devices/diagnostic_error.html | 1 +
servo/templates/devices/diagnostic_init.html | 16 ++
servo/templates/devices/diagnostic_ios.html | 20 ++
servo/templates/devices/diagnostic_results.html | 22 +++
servo/templates/devices/diagnostics.html | 13 ++
servo/templates/devices/find.html | 66 +++++++
servo/templates/devices/form.html | 44 +++++
servo/templates/devices/get_info.html | 45 +++++
servo/templates/devices/index.html | 78 ++++++++
servo/templates/devices/list.html | 38 ++++
servo/templates/devices/parts.html | 42 +++++
servo/templates/devices/remove.html | 17 ++
servo/templates/devices/search.html | 15 ++
servo/templates/devices/search_gsx.html | 41 +++++
servo/templates/devices/search_gsx_error.html | 19 ++
servo/templates/devices/search_gsx_parts.html | 30 +++
servo/templates/devices/search_gsx_repairs.html | 27 +++
servo/templates/devices/search_gsx_results.html | 5 +
servo/templates/devices/search_gsx_warranty.html | 71 +++++++
servo/templates/devices/specs.html | 42 +++++
servo/templates/devices/summary.html | 48 +++++
servo/templates/devices/upload_devices.html | 13 ++
servo/templates/devices/view.html | 83 +++++++++
servo/templates/dropdown_snippet.html | 8 +
servo/templates/error.html | 49 +++++
servo/templates/form_buttons.html | 5 +
servo/templates/form_field_snippet.html | 30 +++
servo/templates/form_snippet.html | 7 +
servo/templates/generic/admin_list.html | 18 ++
servo/templates/generic/button_dropdown.html | 12 ++
servo/templates/generic/delete.html | 17 ++
servo/templates/generic/index.html | 23 +++
servo/templates/invoices/index.html | 106 +++++++++++
servo/templates/invoices/view_invoice.html | 0
servo/templates/login.html | 26 +++
servo/templates/modal.html | 19 ++
servo/templates/notes/edit_escalation.html | 17 ++
servo/templates/notes/find.html | 39 ++++
servo/templates/notes/form.html | 112 +++++++++++
servo/templates/notes/list_notes.html | 75 ++++++++
servo/templates/notes/messages.html | 22 +++
servo/templates/notes/remove.html | 17 ++
servo/templates/notes/search-results.html | 25 +++
servo/templates/notes/search.html | 18 ++
servo/templates/notes/templates.html | 10 +
servo/templates/notes/view_escalation.html | 1 +
servo/templates/notes/view_note.html | 38 ++++
servo/templates/oauth/challenge.html | 0
servo/templates/orders/batch_process.html | 14 ++
servo/templates/orders/checklists.html | 10 +
servo/templates/orders/close.html | 17 ++
servo/templates/orders/close_repair.html | 17 ++
servo/templates/orders/customer.html | 52 ++++++
servo/templates/orders/delete_order.html | 17 ++
servo/templates/orders/devices.html | 139 ++++++++++++++
servo/templates/orders/dispatch.html | 115 ++++++++++++
servo/templates/orders/edit.html | 115 ++++++++++++
servo/templates/orders/edit_product.html | 33 ++++
servo/templates/orders/events.html | 21 +++
servo/templates/orders/followers.html | 28 +++
servo/templates/orders/gsx_repair_form.html | 94 ++++++++++
servo/templates/orders/history.html | 9 +
servo/templates/orders/index.html | 55 ++++++
servo/templates/orders/list.html | 43 +++++
servo/templates/orders/list_products.html | 22 +++
servo/templates/orders/notes.html | 84 +++++++++
servo/templates/orders/parts.html | 36 ++++
servo/templates/orders/print_confirmation.html | 193 +++++++++++++++++++
servo/templates/orders/print_dispatch.html | 38 ++++
servo/templates/orders/print_quote.html | 3 +
servo/templates/orders/print_receipt.html | 46 +++++
servo/templates/orders/products.html | 98 ++++++++++
servo/templates/orders/remove_customer.html | 17 ++
servo/templates/orders/remove_device.html | 17 ++
servo/templates/orders/remove_product.html | 17 ++
servo/templates/orders/repair.html | 63 +++++++
servo/templates/orders/reserve_products.html | 13 ++
servo/templates/orders/search.html | 7 +
servo/templates/orders/statuses.html | 7 +
servo/templates/orders/tabs.html | 8 +
servo/templates/orders/toggle_flagged.html | 1 +
servo/templates/orders/toggle_follow.html | 1 +
servo/templates/orders/toolbar.html | 116 ++++++++++++
servo/templates/pagination.html | 18 ++
servo/templates/products/category_form.html | 13 ++
servo/templates/products/choose-list.html | 9 +
servo/templates/products/choose.html | 25 +++
servo/templates/products/delete_category.html | 17 ++
servo/templates/products/form.html | 90 +++++++++
servo/templates/products/get_info.html | 59 ++++++
servo/templates/products/index.html | 104 +++++++++++
servo/templates/products/index_outgoing.html | 56 ++++++
servo/templates/products/list.html | 27 +++
servo/templates/products/list_rows.html | 55 ++++++
servo/templates/products/receive_item.html | 51 +++++
servo/templates/products/remove.html | 13 ++
servo/templates/products/search.html | 20 ++
servo/templates/products/tabs.html | 21 +++
servo/templates/products/upload_gsx_parts.html | 13 ++
servo/templates/products/upload_products.html | 13 ++
servo/templates/products/view.html | 205 +++++++++++++++++++++
servo/templates/products/view_incoming.html | 1 +
servo/templates/purchases/edit_po.html | 92 +++++++++
servo/templates/purchases/list_pos.html | 132 +++++++++++++
servo/templates/purchases/order_stock.html | 17 ++
servo/templates/purchases/view_po.html | 56 ++++++
servo/templates/repairs/add_part.html | 22 +++
servo/templates/repairs/check_parts.html | 10 +
servo/templates/repairs/delete_part.html | 12 ++
servo/templates/repairs/delete_repair.html | 16 ++
servo/templates/repairs/get_details.html | 27 +++
servo/templates/repairs/part_menu.html | 33 ++++
servo/templates/rules/form.html | 142 ++++++++++++++
servo/templates/rules/list.html | 6 +
servo/templates/rules/list_rules.html | 22 +++
servo/templates/search/results/articles.html | 10 +
servo/templates/search/results/customers.html | 26 +++
servo/templates/search/results/devices.html | 10 +
servo/templates/search/results/gsx.html | 41 +++++
servo/templates/search/results/gsx_error.html | 4 +
servo/templates/search/results/gsx_notfound.html | 4 +
.../search/results/gsx_repair_details.html | 19 ++
servo/templates/search/results/gsx_results.html | 5 +
servo/templates/search/results/gsx_warranty.html | 49 +++++
servo/templates/search/results/notes.html | 20 ++
servo/templates/search/results/orders.html | 10 +
servo/templates/search/results/products.html | 10 +
servo/templates/search/spotlight.html | 37 ++++
.../templates/shipments/add_to_return-results.html | 8 +
servo/templates/shipments/add_to_return.html | 14 ++
servo/templates/shipments/edit_bulk_return.html | 101 ++++++++++
servo/templates/shipments/index.html | 46 +++++
servo/templates/shipments/list_bulk_returns.html | 37 ++++
servo/templates/shipments/list_incoming.html | 61 ++++++
servo/templates/shipments/list_returns.html | 44 +++++
servo/templates/shipments/submit_bulk_return.html | 15 ++
servo/templates/shipments/update_part.html | 14 ++
servo/templates/shipments/view_bulk_return.html | 35 ++++
servo/templates/snippets/alert.html | 1 +
servo/templates/snippets/control_group.html | 3 +
servo/templates/snippets/dropdown.html | 11 ++
servo/templates/snippets/dropdown_menu.html | 5 +
servo/templates/snippets/error_modal.html | 10 +
servo/templates/snippets/filtering_form.html | 15 ++
servo/templates/snippets/form_field.html | 12 ++
servo/templates/snippets/form_field_label.html | 1 +
servo/templates/snippets/form_input.html | 22 +++
servo/templates/snippets/modal.html | 14 ++
servo/templates/stats/index.html | 68 +++++++
servo/templates/stats/locations.html | 33 ++++
servo/templates/stats/newstats.html | 87 +++++++++
servo/templates/stats/plot_snippet.html | 9 +
servo/templates/stats/queues.html | 29 +++
servo/templates/stats/sales.html | 33 ++++
servo/templates/stats/statuses.html | 21 +++
servo/templates/tabbed_form.html | 14 ++
servo/templates/three_column_layout.html | 27 +++
servo/templates/two_column_layout.html | 18 ++
242 files changed, 8371 insertions(+)
create mode 100755 servo/templates/about.html
create mode 100755 servo/templates/accounts/calendar_form.html
create mode 100755 servo/templates/accounts/calendars.html
create mode 100755 servo/templates/accounts/delete_calendar.html
create mode 100755 servo/templates/accounts/delete_calendar_event.html
create mode 100755 servo/templates/accounts/edit_calendar_event.html
create mode 100755 servo/templates/accounts/login.html
create mode 100755 servo/templates/accounts/logout.html
create mode 100755 servo/templates/accounts/orders.html
create mode 100755 servo/templates/accounts/print_calendar.html
create mode 100755 servo/templates/accounts/register.html
create mode 100755 servo/templates/accounts/settings.html
create mode 100755 servo/templates/accounts/stats.html
create mode 100755 servo/templates/accounts/tabs.html
create mode 100644 servo/templates/accounts/updates.html
create mode 100755 servo/templates/accounts/view_calendar.html
create mode 100644 servo/templates/admin/backups.html
create mode 100644 servo/templates/admin/checklist/form.html
create mode 100644 servo/templates/admin/checklist/index.html
create mode 100644 servo/templates/admin/fields/form.html
create mode 100644 servo/templates/admin/fields/index.html
create mode 100644 servo/templates/admin/fields/remove.html
create mode 100755 servo/templates/admin/gsx/form.html
create mode 100755 servo/templates/admin/gsx/index.html
create mode 100755 servo/templates/admin/gsx/remove.html
create mode 100644 servo/templates/admin/index.html
create mode 100644 servo/templates/admin/inventory/index.html
create mode 100644 servo/templates/admin/locations/form.html
create mode 100644 servo/templates/admin/locations/index.html
create mode 100644 servo/templates/admin/notifications/form.html
create mode 100644 servo/templates/admin/notifications/index.html
create mode 100644 servo/templates/admin/queues/form.html
create mode 100644 servo/templates/admin/queues/index.html
create mode 100644 servo/templates/admin/queues/remove.html
create mode 100644 servo/templates/admin/settings.html
create mode 100644 servo/templates/admin/sites/edit_site.html
create mode 100644 servo/templates/admin/sites/index.html
create mode 100644 servo/templates/admin/statuses/form.html
create mode 100644 servo/templates/admin/statuses/index.html
create mode 100644 servo/templates/admin/statuses/remove.html
create mode 100644 servo/templates/admin/tags/form.html
create mode 100644 servo/templates/admin/tags/index.html
create mode 100644 servo/templates/admin/templates/form.html
create mode 100644 servo/templates/admin/templates/list_templates.html
create mode 100644 servo/templates/admin/users/delete_group.html
create mode 100644 servo/templates/admin/users/form.html
create mode 100644 servo/templates/admin/users/group_form.html
create mode 100644 servo/templates/admin/users/groups.html
create mode 100644 servo/templates/admin/users/index.html
create mode 100644 servo/templates/admin/users/remove.html
create mode 100644 servo/templates/admin/users/tabs.html
create mode 100644 servo/templates/admin/users/upload_users.html
create mode 100644 servo/templates/checkin/confirmation.html
create mode 100644 servo/templates/checkin/customer_form.html
create mode 100644 servo/templates/checkin/device_form.html
create mode 100644 servo/templates/checkin/error.html
create mode 100644 servo/templates/checkin/index.html
create mode 100644 servo/templates/checkin/newindex.html
create mode 100644 servo/templates/checkin/status-show.html
create mode 100644 servo/templates/checkin/status.html
create mode 100644 servo/templates/checkin/terms.html
create mode 100644 servo/templates/checkin/thanks.html
create mode 100755 servo/templates/customers/choose-list.html
create mode 100755 servo/templates/customers/choose.html
create mode 100755 servo/templates/customers/delete_group.html
create mode 100755 servo/templates/customers/edit_group.html
create mode 100644 servo/templates/customers/find.html
create mode 100755 servo/templates/customers/form.html
create mode 100755 servo/templates/customers/index.html
create mode 100755 servo/templates/customers/list.html
create mode 100644 servo/templates/customers/merge.html
create mode 100755 servo/templates/customers/move.html
create mode 100755 servo/templates/customers/remove.html
create mode 100644 servo/templates/customers/results-merge.html
create mode 100755 servo/templates/customers/search-results.html
create mode 100755 servo/templates/customers/search.html
create mode 100644 servo/templates/customers/upload.html
create mode 100755 servo/templates/customers/view.html
create mode 100755 servo/templates/default.html
create mode 100755 servo/templates/default_print.html
create mode 100755 servo/templates/devices/accessories_edit.html
create mode 100755 servo/templates/devices/choose-error.html
create mode 100755 servo/templates/devices/choose-list.html
create mode 100755 servo/templates/devices/choose.html
create mode 100644 servo/templates/devices/diagnostic_error.html
create mode 100644 servo/templates/devices/diagnostic_init.html
create mode 100644 servo/templates/devices/diagnostic_ios.html
create mode 100755 servo/templates/devices/diagnostic_results.html
create mode 100755 servo/templates/devices/diagnostics.html
create mode 100755 servo/templates/devices/find.html
create mode 100755 servo/templates/devices/form.html
create mode 100755 servo/templates/devices/get_info.html
create mode 100755 servo/templates/devices/index.html
create mode 100755 servo/templates/devices/list.html
create mode 100755 servo/templates/devices/parts.html
create mode 100755 servo/templates/devices/remove.html
create mode 100755 servo/templates/devices/search.html
create mode 100755 servo/templates/devices/search_gsx.html
create mode 100755 servo/templates/devices/search_gsx_error.html
create mode 100755 servo/templates/devices/search_gsx_parts.html
create mode 100755 servo/templates/devices/search_gsx_repairs.html
create mode 100755 servo/templates/devices/search_gsx_results.html
create mode 100755 servo/templates/devices/search_gsx_warranty.html
create mode 100755 servo/templates/devices/specs.html
create mode 100755 servo/templates/devices/summary.html
create mode 100755 servo/templates/devices/upload_devices.html
create mode 100755 servo/templates/devices/view.html
create mode 100755 servo/templates/dropdown_snippet.html
create mode 100644 servo/templates/error.html
create mode 100755 servo/templates/form_buttons.html
create mode 100755 servo/templates/form_field_snippet.html
create mode 100755 servo/templates/form_snippet.html
create mode 100644 servo/templates/generic/admin_list.html
create mode 100755 servo/templates/generic/button_dropdown.html
create mode 100755 servo/templates/generic/delete.html
create mode 100755 servo/templates/generic/index.html
create mode 100755 servo/templates/invoices/index.html
create mode 100755 servo/templates/invoices/view_invoice.html
create mode 100755 servo/templates/login.html
create mode 100755 servo/templates/modal.html
create mode 100755 servo/templates/notes/edit_escalation.html
create mode 100755 servo/templates/notes/find.html
create mode 100755 servo/templates/notes/form.html
create mode 100755 servo/templates/notes/list_notes.html
create mode 100644 servo/templates/notes/messages.html
create mode 100755 servo/templates/notes/remove.html
create mode 100755 servo/templates/notes/search-results.html
create mode 100755 servo/templates/notes/search.html
create mode 100755 servo/templates/notes/templates.html
create mode 100755 servo/templates/notes/view_escalation.html
create mode 100755 servo/templates/notes/view_note.html
create mode 100755 servo/templates/oauth/challenge.html
create mode 100644 servo/templates/orders/batch_process.html
create mode 100755 servo/templates/orders/checklists.html
create mode 100755 servo/templates/orders/close.html
create mode 100755 servo/templates/orders/close_repair.html
create mode 100755 servo/templates/orders/customer.html
create mode 100755 servo/templates/orders/delete_order.html
create mode 100755 servo/templates/orders/devices.html
create mode 100755 servo/templates/orders/dispatch.html
create mode 100755 servo/templates/orders/edit.html
create mode 100755 servo/templates/orders/edit_product.html
create mode 100755 servo/templates/orders/events.html
create mode 100755 servo/templates/orders/followers.html
create mode 100755 servo/templates/orders/gsx_repair_form.html
create mode 100644 servo/templates/orders/history.html
create mode 100755 servo/templates/orders/index.html
create mode 100755 servo/templates/orders/list.html
create mode 100755 servo/templates/orders/list_products.html
create mode 100755 servo/templates/orders/notes.html
create mode 100755 servo/templates/orders/parts.html
create mode 100755 servo/templates/orders/print_confirmation.html
create mode 100755 servo/templates/orders/print_dispatch.html
create mode 100755 servo/templates/orders/print_quote.html
create mode 100755 servo/templates/orders/print_receipt.html
create mode 100755 servo/templates/orders/products.html
create mode 100755 servo/templates/orders/remove_customer.html
create mode 100755 servo/templates/orders/remove_device.html
create mode 100755 servo/templates/orders/remove_product.html
create mode 100755 servo/templates/orders/repair.html
create mode 100755 servo/templates/orders/reserve_products.html
create mode 100755 servo/templates/orders/search.html
create mode 100755 servo/templates/orders/statuses.html
create mode 100755 servo/templates/orders/tabs.html
create mode 100755 servo/templates/orders/toggle_flagged.html
create mode 100755 servo/templates/orders/toggle_follow.html
create mode 100755 servo/templates/orders/toolbar.html
create mode 100755 servo/templates/pagination.html
create mode 100755 servo/templates/products/category_form.html
create mode 100755 servo/templates/products/choose-list.html
create mode 100755 servo/templates/products/choose.html
create mode 100755 servo/templates/products/delete_category.html
create mode 100755 servo/templates/products/form.html
create mode 100755 servo/templates/products/get_info.html
create mode 100755 servo/templates/products/index.html
create mode 100755 servo/templates/products/index_outgoing.html
create mode 100755 servo/templates/products/list.html
create mode 100755 servo/templates/products/list_rows.html
create mode 100755 servo/templates/products/receive_item.html
create mode 100755 servo/templates/products/remove.html
create mode 100755 servo/templates/products/search.html
create mode 100755 servo/templates/products/tabs.html
create mode 100755 servo/templates/products/upload_gsx_parts.html
create mode 100755 servo/templates/products/upload_products.html
create mode 100755 servo/templates/products/view.html
create mode 100755 servo/templates/products/view_incoming.html
create mode 100755 servo/templates/purchases/edit_po.html
create mode 100755 servo/templates/purchases/list_pos.html
create mode 100755 servo/templates/purchases/order_stock.html
create mode 100755 servo/templates/purchases/view_po.html
create mode 100755 servo/templates/repairs/add_part.html
create mode 100755 servo/templates/repairs/check_parts.html
create mode 100755 servo/templates/repairs/delete_part.html
create mode 100755 servo/templates/repairs/delete_repair.html
create mode 100755 servo/templates/repairs/get_details.html
create mode 100755 servo/templates/repairs/part_menu.html
create mode 100644 servo/templates/rules/form.html
create mode 100644 servo/templates/rules/list.html
create mode 100644 servo/templates/rules/list_rules.html
create mode 100755 servo/templates/search/results/articles.html
create mode 100755 servo/templates/search/results/customers.html
create mode 100755 servo/templates/search/results/devices.html
create mode 100755 servo/templates/search/results/gsx.html
create mode 100755 servo/templates/search/results/gsx_error.html
create mode 100755 servo/templates/search/results/gsx_notfound.html
create mode 100755 servo/templates/search/results/gsx_repair_details.html
create mode 100755 servo/templates/search/results/gsx_results.html
create mode 100755 servo/templates/search/results/gsx_warranty.html
create mode 100755 servo/templates/search/results/notes.html
create mode 100755 servo/templates/search/results/orders.html
create mode 100755 servo/templates/search/results/products.html
create mode 100755 servo/templates/search/spotlight.html
create mode 100755 servo/templates/shipments/add_to_return-results.html
create mode 100755 servo/templates/shipments/add_to_return.html
create mode 100755 servo/templates/shipments/edit_bulk_return.html
create mode 100755 servo/templates/shipments/index.html
create mode 100755 servo/templates/shipments/list_bulk_returns.html
create mode 100755 servo/templates/shipments/list_incoming.html
create mode 100755 servo/templates/shipments/list_returns.html
create mode 100755 servo/templates/shipments/submit_bulk_return.html
create mode 100755 servo/templates/shipments/update_part.html
create mode 100755 servo/templates/shipments/view_bulk_return.html
create mode 100644 servo/templates/snippets/alert.html
create mode 100755 servo/templates/snippets/control_group.html
create mode 100755 servo/templates/snippets/dropdown.html
create mode 100755 servo/templates/snippets/dropdown_menu.html
create mode 100755 servo/templates/snippets/error_modal.html
create mode 100755 servo/templates/snippets/filtering_form.html
create mode 100755 servo/templates/snippets/form_field.html
create mode 100755 servo/templates/snippets/form_field_label.html
create mode 100755 servo/templates/snippets/form_input.html
create mode 100755 servo/templates/snippets/modal.html
create mode 100755 servo/templates/stats/index.html
create mode 100755 servo/templates/stats/locations.html
create mode 100644 servo/templates/stats/newstats.html
create mode 100755 servo/templates/stats/plot_snippet.html
create mode 100755 servo/templates/stats/queues.html
create mode 100755 servo/templates/stats/sales.html
create mode 100755 servo/templates/stats/statuses.html
create mode 100755 servo/templates/tabbed_form.html
create mode 100755 servo/templates/three_column_layout.html
create mode 100755 servo/templates/two_column_layout.html
(limited to 'servo/templates')
diff --git a/servo/templates/about.html b/servo/templates/about.html
new file mode 100755
index 0000000..c8a6521
--- /dev/null
+++ b/servo/templates/about.html
@@ -0,0 +1,25 @@
+{% load staticfiles %}
+
+
+
+ Servo Credits
+
+
+
+
+
+
+
+
+
+
+
Creator and Developer
+ Filipp Lepalaaan
+
Special Thanks
+ Janne, Rami, Joonas and Vesa
+
+
+
+
+
+
diff --git a/servo/templates/accounts/calendar_form.html b/servo/templates/accounts/calendar_form.html
new file mode 100755
index 0000000..4094d01
--- /dev/null
+++ b/servo/templates/accounts/calendar_form.html
@@ -0,0 +1,12 @@
+{% extends "snippets/modal.html" %}
+
+{% block header %}
+ {{ title }}
+{% endblock header %}
+
+{% block body %}
+
+{% endblock body %}
diff --git a/servo/templates/accounts/calendars.html b/servo/templates/accounts/calendars.html
new file mode 100755
index 0000000..c10276c
--- /dev/null
+++ b/servo/templates/accounts/calendars.html
@@ -0,0 +1,55 @@
+{% extends "accounts/orders.html" %}
+{% load i18n %}
+{% load servo_tags %}
+
+{% block toolbar %}
+
+
+
+
+
+
+{% endblock toolbar %}
+
+{% block second_row %}
+
+
+
+
+
+ {% block detail_view %}
+
{% trans "No calendar selected" %}
+ {% endblock detail_view %}
+
+
+{% endblock second_row %}
+
+{% block crumbs %}
+ {% trans "Calendars" %}
+{% endblock crumbs %}
diff --git a/servo/templates/accounts/delete_calendar.html b/servo/templates/accounts/delete_calendar.html
new file mode 100755
index 0000000..bae2e16
--- /dev/null
+++ b/servo/templates/accounts/delete_calendar.html
@@ -0,0 +1,17 @@
+{% extends "snippets/modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {{ title }}
+{% endblock header %}
+
+{% block body %}
+ {% trans "This will also delete all events in this calendar" %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/accounts/delete_calendar_event.html b/servo/templates/accounts/delete_calendar_event.html
new file mode 100755
index 0000000..58fbef3
--- /dev/null
+++ b/servo/templates/accounts/delete_calendar_event.html
@@ -0,0 +1,13 @@
+{% extends "snippets/modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {{ title }}
+{% endblock header %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/accounts/edit_calendar_event.html b/servo/templates/accounts/edit_calendar_event.html
new file mode 100755
index 0000000..7316791
--- /dev/null
+++ b/servo/templates/accounts/edit_calendar_event.html
@@ -0,0 +1,14 @@
+{% extends "accounts/calendars.html" %}
+
+{% block detail_view %}
+
+{% endblock detail_view %}
diff --git a/servo/templates/accounts/login.html b/servo/templates/accounts/login.html
new file mode 100755
index 0000000..80ba716
--- /dev/null
+++ b/servo/templates/accounts/login.html
@@ -0,0 +1,22 @@
+{% extends "login.html" %}
+{% load i18n %}
+
+{% block content %}
+
+
+{% endblock content %}
diff --git a/servo/templates/accounts/logout.html b/servo/templates/accounts/logout.html
new file mode 100755
index 0000000..1b64d45
--- /dev/null
+++ b/servo/templates/accounts/logout.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+{% trans "Logging out?" %}
+{% endblock header %}
+
+{% block body %}
+{% trans "This will terminate your Servo session." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/accounts/orders.html b/servo/templates/accounts/orders.html
new file mode 100755
index 0000000..8420ad8
--- /dev/null
+++ b/servo/templates/accounts/orders.html
@@ -0,0 +1,59 @@
+{% extends "default.html" %}
+{% load i18n %}
+{% load servo_tags %}
+
+{% block toolbar %}
+{% if perms.servo.add_order %}
+ {% trans "Create Order" %}
+{% endif %}
+{% endblock toolbar %}
+
+{% block content %}
+
+
+
+
+ {% include "accounts/tabs.html" %}
+
+
+
+{% block second_row %}
+
+
+{% block second_column %}
+ {% include "orders/list.html" %}
+{% endblock second_column %}
+
+{% endblock second_row %}
+
+{% endblock content %}
+
+{% block crumbs %}
+{% trans "Orders" %}
+{% endblock crumbs %}
diff --git a/servo/templates/accounts/print_calendar.html b/servo/templates/accounts/print_calendar.html
new file mode 100755
index 0000000..64edbe3
--- /dev/null
+++ b/servo/templates/accounts/print_calendar.html
@@ -0,0 +1,82 @@
+{% extends "default_print.html" %}
+{% load servo_tags %}
+{% load mptt_tags %}
+{% load static %}
+{% load i18n %}
+
+{% block content %}
+
+
+ {% if location.logo %}
+
+ {% endif %}
+
+
+ {{ location.title }}
+ {{ location.address }}
+ {{ location.zip_code }}, {{ location.city }}
+ {{ location.notes }}
+
+
+ {% block location_info %}
+ {% endblock location_info %}
+ {% trans "Email Address" %}: {{ location.email }}
+ {% trans "Phone" %}: {{ location.phone }}
+
+
+
+
+ {% trans "Employee" %}: {{ calendar.user.get_full_name }}
+ {% trans "Date" %}: {% now "SHORT_DATE_FORMAT" %}
+
+
+
+
+
+
+
+
+ {% trans "Date" %}
+ {% trans "Started At" %}
+ {% trans "Finished At" %}
+ {% trans "Duration" %}
+ {% trans "Notes" %}
+
+
+
+ {% for i in events %}
+
+ {% ifchanged i.started_at|date %}{{ i.started_at|date:"SHORT_DATE_FORMAT" }}{% endifchanged %}
+ {{ i.started_at|time:"TIME_FORMAT" }}
+ {{ i.finished_at|time:"TIME_FORMAT"|default:"-" }}
+ {{ i.get_duration }}
+ {{ i.notes|default:'' }}
+
+ {% empty %}
+ {% trans "No events found" %}
+ {% endfor %}
+
+
+
+ {% trans "Total" %}
+ {{ subtitle }}
+
+
+
+
+
+
+
+
+
+
+ {% trans "Manager" %}
+
+
+
+ {% trans "Employee" %}
+
+
+{% endblock content %}
diff --git a/servo/templates/accounts/register.html b/servo/templates/accounts/register.html
new file mode 100755
index 0000000..e1410ff
--- /dev/null
+++ b/servo/templates/accounts/register.html
@@ -0,0 +1,14 @@
+{% extends "login.html" %}
+{% load i18n %}
+
+{% block content %}
+
+{% endblock content %}
diff --git a/servo/templates/accounts/settings.html b/servo/templates/accounts/settings.html
new file mode 100755
index 0000000..a48ab19
--- /dev/null
+++ b/servo/templates/accounts/settings.html
@@ -0,0 +1,46 @@
+{% extends "accounts/orders.html" %}
+{% load i18n %}
+
+{% block first_column %}
+{% endblock first_column %}
+
+{% block second_row %}
+
+{% endblock second_row %}
+
+{% block crumbs %}
+ {% trans "Settings" %}
+{% endblock crumbs %}
diff --git a/servo/templates/accounts/stats.html b/servo/templates/accounts/stats.html
new file mode 100755
index 0000000..d56e1a5
--- /dev/null
+++ b/servo/templates/accounts/stats.html
@@ -0,0 +1,42 @@
+{% extends "accounts/orders.html" %}
+{% load i18n %}
+
+{% block second_row %}
+
+
+ {% block filter_block %}
+
+ {% endblock filter_block %}
+
+
+
+
+
{% trans "Runrate" %}
+
{% trans "Shows you how many you've been assigned to during the selected period, averaged over the time scale." %}
+
+
+
+{% endblock second_row %}
+
+{% block media %}
+
+
+
+
+
+
+{% endblock media %}
diff --git a/servo/templates/accounts/tabs.html b/servo/templates/accounts/tabs.html
new file mode 100755
index 0000000..4444ab8
--- /dev/null
+++ b/servo/templates/accounts/tabs.html
@@ -0,0 +1,22 @@
+{% load i18n %}
+{% load servo_tags %}
+
+
diff --git a/servo/templates/accounts/updates.html b/servo/templates/accounts/updates.html
new file mode 100644
index 0000000..121aea9
--- /dev/null
+++ b/servo/templates/accounts/updates.html
@@ -0,0 +1,65 @@
+{% extends "default.html" %}
+{% load humanize %}
+{% load i18n %}
+
+{% block toolbar %}
+{% if perms.servo.add_order %}
+ {% trans "Clear all" %}
+{% endif %}
+{% endblock toolbar %}
+
+{% block content %}
+
+
+
+ {% include "accounts/tabs.html" %}
+
+
+{% block second_row %}
+
+
+
+
+
+
+
+ {% trans "Event" %}
+ {% trans "Order" %}
+
+
+
+
+
+ {% for event in events %}
+
+
+ {{ event.description }}
+ {{ event.content_object }}
+ {{ event.triggered_by }}
+ {{ event.triggered_at|naturaltime }}
+
+
+ {% endfor %}
+
+
+ {% include "pagination.html" with items=events %}
+
+
+
+{% endblock second_row %}
+
+{% endblock content %}
+
+{% block crumbs %}
+{% trans "Updates" %}
+{% endblock crumbs %}
diff --git a/servo/templates/accounts/view_calendar.html b/servo/templates/accounts/view_calendar.html
new file mode 100755
index 0000000..2b063e2
--- /dev/null
+++ b/servo/templates/accounts/view_calendar.html
@@ -0,0 +1,66 @@
+{% extends "accounts/calendars.html" %}
+{% load i18n %}
+{% load servo_tags %}
+
+{% block detail_view %}
+
+
+{% block view_block %}
+
+{% endblock view_block %}
+
+{% block browse_block %}
+
+{% endblock browse_block %}
+
+
+
+
+
+ {% trans "Date" %}
+ {% trans "Started At" %}
+ {% trans "Finished At" %}
+ {% trans "Duration" %}
+ {% trans "Notes" %}
+
+
+
+
+ {% for i in events %}
+
+ {% ifchanged i.started_at|date %}{{ i.started_at|date:"SHORT_DATE_FORMAT" }}{% endifchanged %}
+ {{ i.started_at|time:"TIME_FORMAT" }}
+ {{ i.finished_at|time:"TIME_FORMAT"|default:"-" }}
+ {{ i.get_duration }}
+ {{ i.notes|default:'' }}
+
+
+ {% if i.finished_at %}
+
+ {% else %}
+
+ {% endif %}
+
+
+
+
+
+ {% empty %}
+ {% trans "No events found" %}
+ {% endfor %}
+
+
+{% endblock detail_view %}
+
+{% block crumbs %}
+ {% trans "Calendars" %} /
+ {{ calendar.title }}
+{% endblock crumbs %}
diff --git a/servo/templates/admin/backups.html b/servo/templates/admin/backups.html
new file mode 100644
index 0000000..1670ea5
--- /dev/null
+++ b/servo/templates/admin/backups.html
@@ -0,0 +1,17 @@
+{% extends "admin/index.html" %}
+{% load i18n %}
+
+{% block second_column %}
+ {% trans "Backups" %}
+
+
+ {% for b in backups %}
+
+ {{ b.filename }}
+ {{ b.filesize|filesizeformat }}
+
+
+ {% endfor %}
+
+
+{% endblock second_column %}
diff --git a/servo/templates/admin/checklist/form.html b/servo/templates/admin/checklist/form.html
new file mode 100644
index 0000000..3b44576
--- /dev/null
+++ b/servo/templates/admin/checklist/form.html
@@ -0,0 +1,31 @@
+{% extends "admin/checklist/index.html" %}
+{% load i18n %}
+
+{% block third_column %}
+
+{% endblock third_column %}
diff --git a/servo/templates/admin/checklist/index.html b/servo/templates/admin/checklist/index.html
new file mode 100644
index 0000000..f4a2820
--- /dev/null
+++ b/servo/templates/admin/checklist/index.html
@@ -0,0 +1,6 @@
+{% extends "generic/admin_list.html" %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Checklist" %}
+{% endblock toolbar %}
diff --git a/servo/templates/admin/fields/form.html b/servo/templates/admin/fields/form.html
new file mode 100644
index 0000000..f377594
--- /dev/null
+++ b/servo/templates/admin/fields/form.html
@@ -0,0 +1,17 @@
+{% extends "admin/fields/index.html" %}
+{% load i18n %}
+
+{% block third_column %}
+
+{% endblock third_column %}
diff --git a/servo/templates/admin/fields/index.html b/servo/templates/admin/fields/index.html
new file mode 100644
index 0000000..e005c75
--- /dev/null
+++ b/servo/templates/admin/fields/index.html
@@ -0,0 +1,30 @@
+{% extends "generic/admin_list.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Field" %}
+{% endblock toolbar %}
+
+{% block second_column %}
+
+
+ {% for k, v in types %}
+ {{ v }}
+ {% endfor %}
+
+
+
+
+
+ {% block third_column %}
+ {% endblock third_column %}
+
+
+{% endblock second_column %}
diff --git a/servo/templates/admin/fields/remove.html b/servo/templates/admin/fields/remove.html
new file mode 100644
index 0000000..04c2c93
--- /dev/null
+++ b/servo/templates/admin/fields/remove.html
@@ -0,0 +1,8 @@
+{% load i18n %}
+
diff --git a/servo/templates/admin/gsx/form.html b/servo/templates/admin/gsx/form.html
new file mode 100755
index 0000000..b154d5d
--- /dev/null
+++ b/servo/templates/admin/gsx/form.html
@@ -0,0 +1,20 @@
+{% extends "admin/gsx/index.html" %}
+{% load i18n %}
+
+{% block third_column %}
+
+
+{% endblock third_column %}
diff --git a/servo/templates/admin/gsx/index.html b/servo/templates/admin/gsx/index.html
new file mode 100755
index 0000000..f137e29
--- /dev/null
+++ b/servo/templates/admin/gsx/index.html
@@ -0,0 +1,6 @@
+{% extends "generic/admin_list.html" %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Account" %}
+{% endblock toolbar %}
diff --git a/servo/templates/admin/gsx/remove.html b/servo/templates/admin/gsx/remove.html
new file mode 100755
index 0000000..184e154
--- /dev/null
+++ b/servo/templates/admin/gsx/remove.html
@@ -0,0 +1,13 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Remove GSX account" %}?
+{% endblock header %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/admin/index.html b/servo/templates/admin/index.html
new file mode 100644
index 0000000..e982e28
--- /dev/null
+++ b/servo/templates/admin/index.html
@@ -0,0 +1,50 @@
+{% extends "two_column_layout.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block first_column %}
+
+{% endblock first_column %}
+
+{% block second_column %}
+
+{% endblock second_column %}
+
+{% block crumbs %}
+ {% trans "Systen Settings" %}
+{% endblock crumbs %}
diff --git a/servo/templates/admin/inventory/index.html b/servo/templates/admin/inventory/index.html
new file mode 100644
index 0000000..ef31079
--- /dev/null
+++ b/servo/templates/admin/inventory/index.html
@@ -0,0 +1,18 @@
+{% extends "admin/index.html" %}
+{% load i18n %}
+
+{% block second_column %}
+
+{% endblock second_column %}
diff --git a/servo/templates/admin/locations/form.html b/servo/templates/admin/locations/form.html
new file mode 100644
index 0000000..777c9ab
--- /dev/null
+++ b/servo/templates/admin/locations/form.html
@@ -0,0 +1,40 @@
+{% extends "admin/locations/index.html" %}
+{% load i18n %}
+
+{% block third_column %}
+
+
+
+{% endblock third_column %}
diff --git a/servo/templates/admin/locations/index.html b/servo/templates/admin/locations/index.html
new file mode 100644
index 0000000..92fe940
--- /dev/null
+++ b/servo/templates/admin/locations/index.html
@@ -0,0 +1,6 @@
+{% extends "generic/admin_list.html" %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Location" %}
+{% endblock toolbar %}
diff --git a/servo/templates/admin/notifications/form.html b/servo/templates/admin/notifications/form.html
new file mode 100644
index 0000000..ce4a8f9
--- /dev/null
+++ b/servo/templates/admin/notifications/form.html
@@ -0,0 +1,5 @@
+{% extends "admin/index.html" %}
+
+{% block admin_content %}
+
+{% endblock admin_content %}
diff --git a/servo/templates/admin/notifications/index.html b/servo/templates/admin/notifications/index.html
new file mode 100644
index 0000000..1fd05a0
--- /dev/null
+++ b/servo/templates/admin/notifications/index.html
@@ -0,0 +1,39 @@
+{% extends "admin/index.html" %}
+{% load i18n %}
+
+{% block second_column %}
+
+
+
+{% endblock second_column %}
diff --git a/servo/templates/admin/queues/form.html b/servo/templates/admin/queues/form.html
new file mode 100644
index 0000000..119275a
--- /dev/null
+++ b/servo/templates/admin/queues/form.html
@@ -0,0 +1,81 @@
+{% extends "admin/queues/index.html" %}
+{% load i18n %}
+
+{% block third_column %}
+
+{% endblock third_column %}
+
+{% block media %}
+
+{% endblock media %}
diff --git a/servo/templates/admin/queues/index.html b/servo/templates/admin/queues/index.html
new file mode 100644
index 0000000..d161dbb
--- /dev/null
+++ b/servo/templates/admin/queues/index.html
@@ -0,0 +1,6 @@
+{% extends "generic/admin_list.html" %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Queue" %}
+{% endblock toolbar %}
diff --git a/servo/templates/admin/queues/remove.html b/servo/templates/admin/queues/remove.html
new file mode 100644
index 0000000..125f89e
--- /dev/null
+++ b/servo/templates/admin/queues/remove.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% blocktrans with queue.title as title %}Delete queue "{{ title }}"?{% endblocktrans %}
+{% endblock header %}
+
+{% block body %}
+ {% trans "Orders in this queue will not be deleted." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/admin/settings.html b/servo/templates/admin/settings.html
new file mode 100644
index 0000000..15266b7
--- /dev/null
+++ b/servo/templates/admin/settings.html
@@ -0,0 +1,136 @@
+{% extends "admin/index.html" %}
+{% load i18n %}
+
+{% block second_column %}
+
+{% endblock second_column %}
+
+{% block media %}
+
+{% endblock media %}
diff --git a/servo/templates/admin/sites/edit_site.html b/servo/templates/admin/sites/edit_site.html
new file mode 100644
index 0000000..5c0004a
--- /dev/null
+++ b/servo/templates/admin/sites/edit_site.html
@@ -0,0 +1,9 @@
+{% extends "admin/sites/index.html" %}
+
+{% block detail_block %}
+
+{% endblock detail_block %}
diff --git a/servo/templates/admin/sites/index.html b/servo/templates/admin/sites/index.html
new file mode 100644
index 0000000..4cf96f3
--- /dev/null
+++ b/servo/templates/admin/sites/index.html
@@ -0,0 +1,23 @@
+{% extends "admin/index.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Site" %}
+{% endblock toolbar %}
+
+{% block second_column %}
+
+
+ {% block detail_block %}
+
{% trans "No site selected" %}
+ {% endblock detail_block %}
+
+{% endblock second_column %}
diff --git a/servo/templates/admin/statuses/form.html b/servo/templates/admin/statuses/form.html
new file mode 100644
index 0000000..7998ddf
--- /dev/null
+++ b/servo/templates/admin/statuses/form.html
@@ -0,0 +1,21 @@
+{% extends "admin/statuses/index.html" %}
+{% load i18n %}
+
+{% block third_column %}
+
+
+
+{% endblock third_column %}
diff --git a/servo/templates/admin/statuses/index.html b/servo/templates/admin/statuses/index.html
new file mode 100644
index 0000000..01df5fa
--- /dev/null
+++ b/servo/templates/admin/statuses/index.html
@@ -0,0 +1,6 @@
+{% extends "generic/admin_list.html" %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Status" %}
+{% endblock toolbar %}
diff --git a/servo/templates/admin/statuses/remove.html b/servo/templates/admin/statuses/remove.html
new file mode 100644
index 0000000..78385a6
--- /dev/null
+++ b/servo/templates/admin/statuses/remove.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% blocktrans with status.title as title %}Delete status "{{ title }}"?{% endblocktrans %}
+{% endblock header %}
+
+{% block body %}
+ {% trans "This action cannot be undone." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/admin/tags/form.html b/servo/templates/admin/tags/form.html
new file mode 100644
index 0000000..8f6d975
--- /dev/null
+++ b/servo/templates/admin/tags/form.html
@@ -0,0 +1,17 @@
+{% extends "admin/tags/index.html" %}
+{% load i18n %}
+
+{% block third_column %}
+
+{% endblock third_column %}
diff --git a/servo/templates/admin/tags/index.html b/servo/templates/admin/tags/index.html
new file mode 100644
index 0000000..26ff6bd
--- /dev/null
+++ b/servo/templates/admin/tags/index.html
@@ -0,0 +1,37 @@
+{% extends "generic/admin_list.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Tag" %}
+{% endblock toolbar %}
+
+{% block second_column %}
+
+
+
+ {% for k, v in types %}
+ {{ v }}
+ {% endfor %}
+
+
+
+
+
+
+ {% for o in object_list %}
+ {{ o.title }}
+ {% empty %}
+ {% blocktrans with objects=title %}No {{ objects }} found.{% endblocktrans %}
+ {% endfor %}
+
+
+
+
+ {% block third_column %}
+ {% endblock third_column %}
+
+
+{% endblock second_column %}
diff --git a/servo/templates/admin/templates/form.html b/servo/templates/admin/templates/form.html
new file mode 100644
index 0000000..a55803a
--- /dev/null
+++ b/servo/templates/admin/templates/form.html
@@ -0,0 +1,21 @@
+{% extends "admin/templates/list_templates.html" %}
+{% load i18n %}
+
+{% block third_column %}
+
+
+
+{% endblock third_column %}
diff --git a/servo/templates/admin/templates/list_templates.html b/servo/templates/admin/templates/list_templates.html
new file mode 100644
index 0000000..3af70d3
--- /dev/null
+++ b/servo/templates/admin/templates/list_templates.html
@@ -0,0 +1,7 @@
+{% extends "generic/admin_list.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Template" %}
+{% endblock toolbar %}
diff --git a/servo/templates/admin/users/delete_group.html b/servo/templates/admin/users/delete_group.html
new file mode 100644
index 0000000..2c733df
--- /dev/null
+++ b/servo/templates/admin/users/delete_group.html
@@ -0,0 +1,11 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}{% trans "Really delete this group?" %}{% endblock header %}
+{% block body %}{% trans "Group member accounts will not be deleted." %}{% endblock body %}
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/admin/users/form.html b/servo/templates/admin/users/form.html
new file mode 100644
index 0000000..34764ab
--- /dev/null
+++ b/servo/templates/admin/users/form.html
@@ -0,0 +1,70 @@
+{% extends "admin/users/index.html" %}
+{% load i18n %}
+
+{% block third_column %}
+
+{% endblock third_column %}
diff --git a/servo/templates/admin/users/group_form.html b/servo/templates/admin/users/group_form.html
new file mode 100644
index 0000000..07b9785
--- /dev/null
+++ b/servo/templates/admin/users/group_form.html
@@ -0,0 +1,23 @@
+{% extends "admin/users/groups.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block third_column %}
+
+
+
+ {% for o in object_list %}
+ {{ o.name }}
+ {% endfor %}
+
+
+
+
+
+
+
+{% endblock third_column %}
diff --git a/servo/templates/admin/users/groups.html b/servo/templates/admin/users/groups.html
new file mode 100644
index 0000000..0d81c3b
--- /dev/null
+++ b/servo/templates/admin/users/groups.html
@@ -0,0 +1,37 @@
+{% extends "admin/users/index.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block second_column %}
+{% include "admin/users/tabs.html" %}
+
+{% block third_column %}
+
+
+
+ {% trans "Group" %}
+ {% trans "Members" %}
+
+
+
+
+ {% for group in object_list %}
+
+ {{ group.name }}
+ {{ group.user_set.all|join:", "}}
+
+
+
+
+ {% empty %}
+
+ {% trans "No groups defined" %}
+
+ {% endfor %}
+
+
+{% endblock third_column %}
+{% endblock second_column %}
diff --git a/servo/templates/admin/users/index.html b/servo/templates/admin/users/index.html
new file mode 100644
index 0000000..c85ced1
--- /dev/null
+++ b/servo/templates/admin/users/index.html
@@ -0,0 +1,51 @@
+{% extends "admin/index.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+
+{% endblock toolbar %}
+
+{% block second_column %}
+
+ {% include "admin/users/tabs.html" %}
+
+
+
+
+
+ {% block third_column %}
+ {% endblock third_column %}
+
+
+{% endblock second_column %}
diff --git a/servo/templates/admin/users/remove.html b/servo/templates/admin/users/remove.html
new file mode 100644
index 0000000..5c80d29
--- /dev/null
+++ b/servo/templates/admin/users/remove.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% blocktrans with user=user.get_full_name %}Delete user {{ user }}?{% endblocktrans %}
+{% endblock header %}
+
+{% block body %}
+ {% trans 'This action cannot be undone.' %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/admin/users/tabs.html b/servo/templates/admin/users/tabs.html
new file mode 100644
index 0000000..576e5da
--- /dev/null
+++ b/servo/templates/admin/users/tabs.html
@@ -0,0 +1,7 @@
+{% load i18n %}
+{% load servo_tags %}
+
+
diff --git a/servo/templates/admin/users/upload_users.html b/servo/templates/admin/users/upload_users.html
new file mode 100644
index 0000000..746842b
--- /dev/null
+++ b/servo/templates/admin/users/upload_users.html
@@ -0,0 +1,13 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {{ title }}
+{% endblock header %}
+
+{% block body %}
+
+{% endblock body %}
diff --git a/servo/templates/checkin/confirmation.html b/servo/templates/checkin/confirmation.html
new file mode 100644
index 0000000..00125c3
--- /dev/null
+++ b/servo/templates/checkin/confirmation.html
@@ -0,0 +1,13 @@
+{% extends "checkin/index.html" %}
+{% load i18n %}
+
+{% block main %}
+
+
+{% endblock main %}
diff --git a/servo/templates/checkin/customer_form.html b/servo/templates/checkin/customer_form.html
new file mode 100644
index 0000000..305c67a
--- /dev/null
+++ b/servo/templates/checkin/customer_form.html
@@ -0,0 +1,87 @@
+{% load i18n %}
+{% load bootstrap3 %}
+
+
+
+ {% bootstrap_field customer_form.phone %}
+
+
+ {% bootstrap_field customer_form.email %}
+
+
+
+
+
+ {% bootstrap_field customer_form.fname %}
+
+
+ {% bootstrap_field customer_form.lname %}
+
+
+
+
+ {% bootstrap_field customer_form.address %}
+
+
+ {% bootstrap_field customer_form.company %}
+
+
+
+
+
+
+ {% bootstrap_field customer_form.postal_code %}
+
+
+ {% bootstrap_field customer_form.city %}
+
+
+
+
+ {% bootstrap_field customer_form.country %}
+
+
+{% comment %}
+
+
+ {% bootstrap_field customer_form.notify_by_sms %}
+ {% bootstrap_field customer_form.notify_by_email %}
+
+
+{% endcomment %}
+
+{% block media %}
+{% if request.user.is_authenticated %}
+
+{% endif %}
+{% endblock media %}
diff --git a/servo/templates/checkin/device_form.html b/servo/templates/checkin/device_form.html
new file mode 100644
index 0000000..16450e7
--- /dev/null
+++ b/servo/templates/checkin/device_form.html
@@ -0,0 +1,62 @@
+{% load i18n %}
+{% load bootstrap3 %}
+
+{% if device.fmip_active %}
+
+ {% trans "Find My iPhone is active!" %}
+ ×
+
+{% endif %}
+
+{% if error %}
+
+ {{ error }}
+ ×
+
+{% endif %}
+
+
+
+
+
+
+
+ {% bootstrap_field device_form.sn %}
+
+
+ {% bootstrap_field device_form.description %}
+
+
+
+ {% bootstrap_field device_form.purchased_on %}
+ {% bootstrap_field device_form.purchase_country %}
+
+
+ {% if device.is_mac %}
+ {% bootstrap_field device_form.username %}
+ {% endif %}
+
+
+ {% bootstrap_field device_form.password %}
+
+
+
+
+ {% bootstrap_field device_form.accessories %}
+
+
+
+
\ No newline at end of file
diff --git a/servo/templates/checkin/error.html b/servo/templates/checkin/error.html
new file mode 100644
index 0000000..eaa45d5
--- /dev/null
+++ b/servo/templates/checkin/error.html
@@ -0,0 +1,15 @@
+{% extends "checkin/index.html" %}
+{% load i18n %}
+
+{% block title %}{% trans "An error occurred" %}{% endblock title %}
+
+{% block main %}
+
+
+
{% trans "Oops!" %}
+
{% trans "It appears that an error has occurred." %}
+
{{ message }}
+
{% trans "Try again" %}
+
+
+{% endblock main %}
diff --git a/servo/templates/checkin/index.html b/servo/templates/checkin/index.html
new file mode 100644
index 0000000..9ecc884
--- /dev/null
+++ b/servo/templates/checkin/index.html
@@ -0,0 +1,95 @@
+{% load i18n %}{% load bootstrap3 %}
+
+
+
+ {% block title %}{{ title }}{% endblock title %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% if request.user.is_authenticated %}
+
+ {% endif %}
+
+
+
+
+
+
+ {% if request.user.is_authenticated %}
+
+ {% endif %}
+
+
+ {% bootstrap_messages %}
+ {% block main %}(no content){% endblock main %}
+
+
+
+
+
+
+ {% block media %}{% endblock media %}
+
+
+
diff --git a/servo/templates/checkin/newindex.html b/servo/templates/checkin/newindex.html
new file mode 100644
index 0000000..41a6a05
--- /dev/null
+++ b/servo/templates/checkin/newindex.html
@@ -0,0 +1,146 @@
+{% extends "checkin/index.html" %}
+{% load servo_tags %}
+{% load bootstrap3 %}
+{% load i18n %}
+
+{% block main %}
+
+
+
+
+{% comment %}
+
+{% endcomment %}
+
+{% endblock main %}
diff --git a/servo/templates/checkin/status-show.html b/servo/templates/checkin/status-show.html
new file mode 100644
index 0000000..fcd503c
--- /dev/null
+++ b/servo/templates/checkin/status-show.html
@@ -0,0 +1,35 @@
+{% extends "checkin/index.html" %}
+{% load bootstrap3 %}
+{% load humanize %}
+{% load i18n %}
+
+{% block main %}
+
+ {% if timeline|length %}
+
+ {% endif %}
+ {% bootstrap_icon "refresh" %} {% trans "Refresh" %}
+ {% trans "Return" %}
+{% endblock main %}
diff --git a/servo/templates/checkin/status.html b/servo/templates/checkin/status.html
new file mode 100644
index 0000000..ddb49fb
--- /dev/null
+++ b/servo/templates/checkin/status.html
@@ -0,0 +1,21 @@
+{% extends "checkin/index.html" %}
+{% load bootstrap3 %}
+{% load i18n %}
+
+{% block main %}
+
+ {% trans "The Service Order number is an 8-digit code printed on your work confirmation" %}
+
+{% endblock main %}
diff --git a/servo/templates/checkin/terms.html b/servo/templates/checkin/terms.html
new file mode 100644
index 0000000..72d1fa6
--- /dev/null
+++ b/servo/templates/checkin/terms.html
@@ -0,0 +1,9 @@
+{% extends "checkin/index.html" %}
+{% load servo_tags %}
+{% load i18n %}
+{% block main %}
+
+{{ conf.terms_of_service|markdown }}
+{% endblock main %}
diff --git a/servo/templates/checkin/thanks.html b/servo/templates/checkin/thanks.html
new file mode 100644
index 0000000..ae5b8da
--- /dev/null
+++ b/servo/templates/checkin/thanks.html
@@ -0,0 +1,26 @@
+{% extends "checkin/index.html" %}
+{% load bootstrap3 %}
+{% load i18n %}
+
+{% block main %}
+
+
+{% endblock main %}
+
+{% block media %}
+{% comment %}
+
+{% endcomment %}
+{% endblock media %}
diff --git a/servo/templates/customers/choose-list.html b/servo/templates/customers/choose-list.html
new file mode 100755
index 0000000..84efa7d
--- /dev/null
+++ b/servo/templates/customers/choose-list.html
@@ -0,0 +1,8 @@
+{% load i18n %}
+
diff --git a/servo/templates/customers/choose.html b/servo/templates/customers/choose.html
new file mode 100755
index 0000000..cf812a6
--- /dev/null
+++ b/servo/templates/customers/choose.html
@@ -0,0 +1,45 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Search for customer" %}
+{% endblock header %}
+
+{% block body %}
+
+{% trans "Enter search query" %}
+{% endblock body %}
+
+{% block footer %}
+ {% trans "New Customer" %}
+ {% trans "Search" %}
+
+{% endblock footer %}
diff --git a/servo/templates/customers/delete_group.html b/servo/templates/customers/delete_group.html
new file mode 100755
index 0000000..1c06e0f
--- /dev/null
+++ b/servo/templates/customers/delete_group.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Delete customer group?" %}
+{% endblock header %}
+
+{% block body %}
+ {% trans "This action will not delete the customers in this group." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/customers/edit_group.html b/servo/templates/customers/edit_group.html
new file mode 100755
index 0000000..3f5fe5c
--- /dev/null
+++ b/servo/templates/customers/edit_group.html
@@ -0,0 +1,8 @@
+{% extends "modal.html" %}
+
+{% block body %}
+
+{% endblock body %}
diff --git a/servo/templates/customers/find.html b/servo/templates/customers/find.html
new file mode 100644
index 0000000..6d8cb14
--- /dev/null
+++ b/servo/templates/customers/find.html
@@ -0,0 +1,95 @@
+{% extends "customers/index.html" %}
+{% load i18n %}
+
+{% block toolbar %}
+
+{% endblock toolbar %}
+
+{% block tabs %}
+ {% trans "Browse" %}
+ {% trans "Search" %}
+{% endblock tabs %}
+
+{% block customers %}
+
+
+{% if form.errors %}
+
+ {% for k, v in form.errors.items %}
+ {{ v }}
+ {% endfor %}
+
+{% endif %}
+
+
+
+
+ {% trans "Name" %}
+ {% trans "Email" %}
+ {% trans "Phone" %}
+ {% trans "Address" %}
+ {% trans "Postal Code" %}
+ {% trans "City" %}
+
+
+
+
+{% for i in customers %}
+
+ {{ i.fullname }}
+ {{ i.email }}
+ {{ i.phone }}
+ {{ i.street_address }}
+ {{ i.zip_code }}
+ {{ i.city }}
+
+
+
+
+{% empty %}
+
+ {% trans "No customers found" %}
+
+{% endfor %}
+
+
+ {% include "pagination.html" with items=customers %}
+{% endblock customers %}
diff --git a/servo/templates/customers/form.html b/servo/templates/customers/form.html
new file mode 100755
index 0000000..69c6138
--- /dev/null
+++ b/servo/templates/customers/form.html
@@ -0,0 +1,51 @@
+{% extends "customers/view.html" %}
+{% load i18n %}
+
+{% block third_column %}
+
+{% endblock third_column %}
diff --git a/servo/templates/customers/index.html b/servo/templates/customers/index.html
new file mode 100755
index 0000000..84407d9
--- /dev/null
+++ b/servo/templates/customers/index.html
@@ -0,0 +1,84 @@
+{% extends "default.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+
+
+{% endblock toolbar %}
+
+{% block content %}
+
+
+
+
+{% block customers %}
+
+ {% block first_column %}
+
+ {% endblock first_column %}
+
+
+ {% block second_column %}
+ {% include "customers/list.html" %}
+ {% endblock second_column %}
+
+
+ {% block third_column %}
+
{% trans "No customer selected" %}
+ {% endblock third_column %}
+
+{% endblock customers %}
+
+{% endblock content %}
+
+{% block crumbs %}
+{% trans "Customers" %}
+{% endblock crumbs %}
diff --git a/servo/templates/customers/list.html b/servo/templates/customers/list.html
new file mode 100755
index 0000000..ee1e926
--- /dev/null
+++ b/servo/templates/customers/list.html
@@ -0,0 +1,11 @@
+{% load servo_tags %}
+{% load i18n %}
+
+
+{% include "pagination.html" with items=customers %}
diff --git a/servo/templates/customers/merge.html b/servo/templates/customers/merge.html
new file mode 100644
index 0000000..942286d
--- /dev/null
+++ b/servo/templates/customers/merge.html
@@ -0,0 +1,19 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {{ title }}
+{% endblock header %}
+
+{% block body %}
+
+
+{% endblock body %}
+
+{% block footer %}
+{% trans "Close" %}
+{% endblock footer %}
diff --git a/servo/templates/customers/move.html b/servo/templates/customers/move.html
new file mode 100755
index 0000000..8bed17b
--- /dev/null
+++ b/servo/templates/customers/move.html
@@ -0,0 +1,20 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+{% trans "Move customer" %}
+{% endblock header %}
+
+{% block body %}
+
+
+{% endblock body %}
+
+{% block footer %}
+{% trans "Move to top" %}
+{% trans "Close" %}
+{% endblock footer %}
diff --git a/servo/templates/customers/remove.html b/servo/templates/customers/remove.html
new file mode 100755
index 0000000..faa2cbc
--- /dev/null
+++ b/servo/templates/customers/remove.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans 'Delete' %} {{ customer.name }}?
+{% endblock header %}
+
+{% block body %}
+ {% trans "This will also delete all customer's contacts. Customer's orders will not be deleted" %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/customers/results-merge.html b/servo/templates/customers/results-merge.html
new file mode 100644
index 0000000..a3c6a43
--- /dev/null
+++ b/servo/templates/customers/results-merge.html
@@ -0,0 +1,5 @@
+
diff --git a/servo/templates/customers/search-results.html b/servo/templates/customers/search-results.html
new file mode 100755
index 0000000..2af581e
--- /dev/null
+++ b/servo/templates/customers/search-results.html
@@ -0,0 +1,5 @@
+
diff --git a/servo/templates/customers/search.html b/servo/templates/customers/search.html
new file mode 100755
index 0000000..39cccb8
--- /dev/null
+++ b/servo/templates/customers/search.html
@@ -0,0 +1,44 @@
+{% extends "two_column_layout.html" %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Customer" %}
+{% endblock toolbar %}
+
+{% block first_column %}
+
+{% endblock first_column %}
+
+{% block second_column %}
+{% if customers %}
+{% for i in customers %}
+
+ {{ i.fullname }}
+ {% if i.street_address %}
+ {{ i.street_address }}
+ {{ i.zip_code }}, {{ i.city }}
+ {% endif %}
+ {% if i.phone %}
+ P: {{ i.phone }}
+ {% endif %}
+ {% if i.email %}
+
+ {{ i.email }}
+ {% endif %}
+
+
+{% endfor %}
+{% else %}
+ {% trans "No customers found" %}
+{% endif %}
+{% endblock second_column %}
+
+{% block crumbs %}
+ {% trans "Customers" %} /
+ {{ title }}
+{% endblock crumbs %}
diff --git a/servo/templates/customers/upload.html b/servo/templates/customers/upload.html
new file mode 100644
index 0000000..9c5447c
--- /dev/null
+++ b/servo/templates/customers/upload.html
@@ -0,0 +1,13 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+{% trans "Import customer data" %}
+{% endblock header %}
+
+{% block body %}
+
+{% endblock body %}
diff --git a/servo/templates/customers/view.html b/servo/templates/customers/view.html
new file mode 100755
index 0000000..6e28643
--- /dev/null
+++ b/servo/templates/customers/view.html
@@ -0,0 +1,119 @@
+{% extends "customers/index.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block third_column %}
+
+
+
+
+ {{ customer.name }}
+ {% if customer.parent %}
+ {{ customer.parent.name }}
+ {% endif %}
+
+
+ {% if customer.email %}
+ {% trans "Email" %}
+ {{ customer.email }}
+ {% endif %}
+ {% if customer.phone %}
+ {% trans "Phone" %}
+ {{ customer.get_international_phone }}
+ {% endif %}
+ {% if customer.street_address %}
+ {% trans "Address" %}
+ {{ customer.street_address }} {{ customer.zip_code }} {{ customer.city }}
+ {% endif %}
+ {% for ci in customer.contactinfo_set.all %}
+ {{ ci.key }}
+ {{ ci.value }}
+ {% endfor %}
+ {% if customer.country %}
+ {% trans "Country" %}
+ {{ customer.get_country_display }}
+ {% endif %}
+ {% if customer.notes %}
+ {% trans "Notes" %}
+ {{ customer.notes }}
+ {% endif %}
+
+ {% if customer.is_company %}
+
+ {% trans "Contacts" %}
+ {% for c in customer.get_contacts %}{{ c }} {% endfor %}
+
+ {% endif %}
+
+ {% with request.session.current_order_id as order_id %}
+ {% if order_id and not request.session.current_order_customer %}
+
{% trans "Use in " %} #{{ request.session.current_order_code }}
+ {% else %}
+
{% trans "Use in current order" %}
+ {% endif %}
+ {% endwith %}
+
+
+
+
+
+ {% include "orders/list.html" %}
+
+
+ {% include "devices/list.html" with devices=customer.devices.all tag_id=None %}
+
+
+
+
+ {% for i in customer.note_set.all %}
+
+ {{ i.code }}
+ {{ i.subject }}
+ {{ i.created_at|date:"SHORT_DATE_FORMAT" }}
+ {{ i.sender }}
+
+ {% empty %}
+ {% trans "No messages found" %}
+ {% endfor %}
+
+
+
+
+{% endblock third_column %}
+
+{% block crumbs %}
+ {% trans "Customers" %} /
+ {{ customer.name }}
+{% endblock crumbs %}
diff --git a/servo/templates/default.html b/servo/templates/default.html
new file mode 100755
index 0000000..922d567
--- /dev/null
+++ b/servo/templates/default.html
@@ -0,0 +1,185 @@
+{% load servo_tags %}
+{% load humanize %}
+{% load cache %}
+{% load i18n %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ title }} | Servo
+
+
+
+
+
+
+
+
+
+ {% block toolbar %}
+ {% endblock toolbar %}
+
+
+
+
+
+
+
+ {% with request.user as user %}
+
+ {% endwith %}
+
+
+ {% with request.user.notifications as notifications %}
+
+
+
+
+
+
+
+ {% for message in messages %}
+
+ ×
+ {{ message }}
+
+ {% endfor %}
+ {% block content %}
+ {% endblock content %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% block media %}{% endblock media %}
+
+
diff --git a/servo/templates/default_print.html b/servo/templates/default_print.html
new file mode 100755
index 0000000..ed3f4de
--- /dev/null
+++ b/servo/templates/default_print.html
@@ -0,0 +1,23 @@
+
+
+
+ {{ title }}
+
+
+
+
+
+
+ {% block content %}
+ {% endblock content %}
+
+
+ {% if request.user.autoprint %}
+
+ {% endif %}
+
+
diff --git a/servo/templates/devices/accessories_edit.html b/servo/templates/devices/accessories_edit.html
new file mode 100755
index 0000000..db390b3
--- /dev/null
+++ b/servo/templates/devices/accessories_edit.html
@@ -0,0 +1,40 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}{% trans "Manage Accessories" %}{% endblock header %}
+
+{% block body %}
+
+
+{% endblock body %}
diff --git a/servo/templates/devices/choose-error.html b/servo/templates/devices/choose-error.html
new file mode 100755
index 0000000..73da7e2
--- /dev/null
+++ b/servo/templates/devices/choose-error.html
@@ -0,0 +1,5 @@
+{% load i18n %}
+{% load servo_tags %}
+
diff --git a/servo/templates/devices/choose-list.html b/servo/templates/devices/choose-list.html
new file mode 100755
index 0000000..8f5d3f4
--- /dev/null
+++ b/servo/templates/devices/choose-list.html
@@ -0,0 +1,12 @@
+{% load i18n %}
+
diff --git a/servo/templates/devices/choose.html b/servo/templates/devices/choose.html
new file mode 100755
index 0000000..49d7151
--- /dev/null
+++ b/servo/templates/devices/choose.html
@@ -0,0 +1,26 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+{% trans "Search for device" %}
+{% endblock header %}
+
+{% block body %}
+
+
+{% endblock body %}
+
+{% block footer %}
+{% trans "New Device" %}
+{% trans "Search" %}
+
+{% endblock footer %}
diff --git a/servo/templates/devices/diagnostic_error.html b/servo/templates/devices/diagnostic_error.html
new file mode 100644
index 0000000..242b340
--- /dev/null
+++ b/servo/templates/devices/diagnostic_error.html
@@ -0,0 +1 @@
+{{ error }}
diff --git a/servo/templates/devices/diagnostic_init.html b/servo/templates/devices/diagnostic_init.html
new file mode 100644
index 0000000..6363ca9
--- /dev/null
+++ b/servo/templates/devices/diagnostic_init.html
@@ -0,0 +1,16 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}{% trans "Initiate iOS diagnostics" %}{% endblock header %}
+
+{% block body %}
+
+{% endblock body %}
diff --git a/servo/templates/devices/diagnostic_ios.html b/servo/templates/devices/diagnostic_ios.html
new file mode 100644
index 0000000..7dee528
--- /dev/null
+++ b/servo/templates/devices/diagnostic_ios.html
@@ -0,0 +1,20 @@
+
+{% for k, v in diagnostics.diags.result.items %}
+ {{ k }}
+ {{ v }}
+{% endfor %}
+
+
+
+{% for k, v in diagnostics.diags.profile.items %}
+ {{ k }}
+ {{ v }}
+{% endfor %}
+
+
+
+{% for k, v in diagnostics.diags.report.items %}
+ {{ k }}
+ {{ v }}
+{% endfor %}
+
diff --git a/servo/templates/devices/diagnostic_results.html b/servo/templates/devices/diagnostic_results.html
new file mode 100755
index 0000000..85b9748
--- /dev/null
+++ b/servo/templates/devices/diagnostic_results.html
@@ -0,0 +1,22 @@
+{% load i18n %}
+
+{% with diagnostics.eventHeader as header %}
+ {% trans "Result" %}
+ {{ header.diagnosticEventEndResult|default:"-" }}
+ {% trans "Tool" %}
+ {{ header.toolID|default:"-" }} ({{ header.toolVersion|default:"-" }})
+ {% trans "Passed modules" %}
+ {{ header.modulePassCount|default:"-" }}
+{% endwith %}
+
+
+
+{% for i in diagnostics.eventItems %}
+
+ {{ i.moduleName }}
+ {{ i.moduleLocation }}
+ {{ i.moduleTestName }}
+ {{ i.moduleTestResult }}
+
+{% endfor %}
+
diff --git a/servo/templates/devices/diagnostics.html b/servo/templates/devices/diagnostics.html
new file mode 100755
index 0000000..eb146c0
--- /dev/null
+++ b/servo/templates/devices/diagnostics.html
@@ -0,0 +1,13 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}{% trans "Diagnostics" %}{% endblock header %}
+
+{% block body %}
+
+
+
{% trans "Fetching diagnostics..." %}
+
+{% endblock body %}
diff --git a/servo/templates/devices/find.html b/servo/templates/devices/find.html
new file mode 100755
index 0000000..1f8e291
--- /dev/null
+++ b/servo/templates/devices/find.html
@@ -0,0 +1,66 @@
+{% extends "devices/index.html" %}
+{% load i18n %}
+
+{% block content %}
+
+
+
+
+
+
+
+
+ {% trans "Serial Number" %}
+ {% trans "Description" %}
+ {% trans "Created" %}
+ {% trans "Warranty Status" %}
+
+
+
+ {% for i in devices %}
+
+ {{ i.sn|safe }}
+ {{ i.description }}
+ {{ i.created_at|date:"SHORT_DATE_FORMAT" }}
+ {{ i.get_warranty_status_display }}
+
+
+
+
+ {% empty %}
+ {% trans "No search results" %}
+ {% endfor %}
+
+
+{% include "pagination.html" with items=devices %}
+{% endblock content %}
diff --git a/servo/templates/devices/form.html b/servo/templates/devices/form.html
new file mode 100755
index 0000000..8682101
--- /dev/null
+++ b/servo/templates/devices/form.html
@@ -0,0 +1,44 @@
+{% extends "devices/view.html" %}
+{% load i18n %}
+
+{% block fourth_column %}
+
+{% endblock fourth_column %}
diff --git a/servo/templates/devices/get_info.html b/servo/templates/devices/get_info.html
new file mode 100755
index 0000000..e16b1c5
--- /dev/null
+++ b/servo/templates/devices/get_info.html
@@ -0,0 +1,45 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+{{ device.description }}
+{% endblock header %}
+
+{% block body %}
+
+ {% trans "Warranty Status" %}
+ {{ device.get_warranty_status_display }}
+ {% trans "Purchase Date" %}
+ {{ device.purchased_on|date:"SHORT_DATE_FORMAT"|default:"-" }}, {{ device.purchase_country|default:"-" }}
+ {% trans "Serial Number" %}
+ {{ device.sn }}
+ {% if device.configuration %}
+ {% trans "Configration" %}
+ {{ device.configuration }}
+ {% endif %}
+ {% if device.imei %}
+ IMEI
+ {{ device.imei }}
+ {% trans "Activation Profile" %}
+ {{ device.initial_activation_policy }}
+ {% trans "Unlocked" %}
+ {{ device.unlocked|yesno }}
+ {% endif %}
+ {% if device.username %}
+ {% trans "Username" %}
+ {{ device.username }}
+ {% endif %}
+ {% if device.password %}
+ {% trans "Password" %}
+ {{ device.password }}
+ {% endif %}
+ {% if device.get_coverage_details %}
+ {% trans "Details" %}
+ {{ device.get_coverage_details|join:" " }}
+ {% endif %}
+ {% if device.notes %}
+ {% trans "Notes" %}
+ {{ device.notes }}
+ {% endif %}
+
+{% endblock body %}
diff --git a/servo/templates/devices/index.html b/servo/templates/devices/index.html
new file mode 100755
index 0000000..aba62b1
--- /dev/null
+++ b/servo/templates/devices/index.html
@@ -0,0 +1,78 @@
+{% extends "default.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+{% if model %}
+ {% trans "New Device" %}
+ {% trans "Show Parts" %}
+{% else %}
+ {% trans "New Device" %}
+ {% trans "Show Parts" %}
+{% endif %}
+ {% trans "Upload" %}
+{% endblock toolbar %}
+
+{% block content %}
+
+
+
+
+
+
+
+ {% for k, v in product_lines.items %}
+ {{ v.name }}
+ {% endfor %}
+
+
+
+
+ {% block second_column %}
+
+ {% endblock second_column %}
+
+
+
+ {% block third_column %}
+
+ {% endblock third_column %}
+
+
+ {% block fourth_column %}
+ {% if query %}
+ {% include "devices/parts.html" %}
+ {% else %}
+
{% trans "No device selected" %}
+ {% endif %}
+ {% endblock fourth_column %}
+
+
+
+{% endblock content %}
+
+{% block crumbs %}
+ {% trans "Devices" %} {% block path %}{% endblock path %}
+{% endblock crumbs %}
diff --git a/servo/templates/devices/list.html b/servo/templates/devices/list.html
new file mode 100755
index 0000000..b11cab8
--- /dev/null
+++ b/servo/templates/devices/list.html
@@ -0,0 +1,38 @@
+{% load i18n %}
+
+
+
+ {% for device in devices %}
+
+ {{ device.sn }}
+ {{ device.description }}
+ {{ device.purchased_on|default:"-" }}
+ {{ device.get_warranty_status_display }}
+
+
+
+
+ {% empty %}
+ {% trans "No devices found" %}
+ {% endfor %}
+
+
diff --git a/servo/templates/devices/parts.html b/servo/templates/devices/parts.html
new file mode 100755
index 0000000..1f4f12c
--- /dev/null
+++ b/servo/templates/devices/parts.html
@@ -0,0 +1,42 @@
+{% load i18n %}
+{% load servo_tags %}
+
+
+
diff --git a/servo/templates/devices/remove.html b/servo/templates/devices/remove.html
new file mode 100755
index 0000000..8bd7def
--- /dev/null
+++ b/servo/templates/devices/remove.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% blocktrans with sn=device.sn%}Delete device {{ sn }}"?{% endblocktrans %}
+{% endblock header %}
+
+{% block body %}
+ {% trans "This will also remove it from all service orders." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/devices/search.html b/servo/templates/devices/search.html
new file mode 100755
index 0000000..28760b5
--- /dev/null
+++ b/servo/templates/devices/search.html
@@ -0,0 +1,15 @@
+{% extends "two_column_layout.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block first_column %}
+
+{% endblock first_column %}
+
+{% block second_column %}
+{% include "devices/list.html" %}
+{% endblock second_column %}
+
+{% block crumbs %}
+{% trans "Devices" %} / {{ title }}
+{% endblock crumbs %}
diff --git a/servo/templates/devices/search_gsx.html b/servo/templates/devices/search_gsx.html
new file mode 100755
index 0000000..4f06b81
--- /dev/null
+++ b/servo/templates/devices/search_gsx.html
@@ -0,0 +1,41 @@
+{% extends "devices/search.html" %}
+{% load i18n %}
+
+{% block second_column %}
+{% block tabs %}
+
+{% endblock tabs %}
+
+{% block results %}
+ {% include "devices/search_gsx_results.html" %}
+{% endblock results %}
+
+{% endblock second_column %}
+
+{% block media %}
+
+{% endblock media %}
diff --git a/servo/templates/devices/search_gsx_error.html b/servo/templates/devices/search_gsx_error.html
new file mode 100755
index 0000000..1a0de98
--- /dev/null
+++ b/servo/templates/devices/search_gsx_error.html
@@ -0,0 +1,19 @@
+{% extends "devices/search.html" %}
+{% load i18n %}
+
+{% block second_column %}
+{% block tabs %}
+
+{% endblock tabs %}
+
+{% block results %}
+ {% include "search/results/gsx_error.html" %}
+{% endblock results %}
+
+{% endblock second_column %}
diff --git a/servo/templates/devices/search_gsx_parts.html b/servo/templates/devices/search_gsx_parts.html
new file mode 100755
index 0000000..63bfdb9
--- /dev/null
+++ b/servo/templates/devices/search_gsx_parts.html
@@ -0,0 +1,30 @@
+{% load i18n %}
+{% load servo_tags %}
+
+{% autoescape on %}
+{% for p in results %}
+
+ {{ p.code }}
+ {{ p.title }}{{ p.eee_code|truncatechars:40 }}
+ {{ p.price_sales_exchange|currency }}
+ {{ p.price_sales_stock|currency }}
+ 0
+
+
+
+
+{% endfor %}
+{% endautoescape %}
diff --git a/servo/templates/devices/search_gsx_repairs.html b/servo/templates/devices/search_gsx_repairs.html
new file mode 100755
index 0000000..6cb9f7f
--- /dev/null
+++ b/servo/templates/devices/search_gsx_repairs.html
@@ -0,0 +1,27 @@
+{% load i18n %}
+
+
+
+ {% trans "Number" %}
+ {% trans "Reference" %}
+ {% trans "Created" %}
+ {% trans "Customer" %}
+ {% trans "Status" %}
+
+
+
+ {% for r in results %}
+
+ {% with r.repairConfirmationNumber as repconf %}
+ {{ repconf }}
+ {% endwith %}
+ {{ r.purchaseOrderNumber|safe }}
+ {{ r.createdOn }}
+ {{ r.customerName }}
+ {{ r.repairStatus }}
+
+ {% empty %}
+ {% trans "No search results" %}
+ {% endfor %}
+
+
diff --git a/servo/templates/devices/search_gsx_results.html b/servo/templates/devices/search_gsx_results.html
new file mode 100755
index 0000000..b7a0926
--- /dev/null
+++ b/servo/templates/devices/search_gsx_results.html
@@ -0,0 +1,5 @@
+
diff --git a/servo/templates/devices/search_gsx_warranty.html b/servo/templates/devices/search_gsx_warranty.html
new file mode 100755
index 0000000..e278001
--- /dev/null
+++ b/servo/templates/devices/search_gsx_warranty.html
@@ -0,0 +1,71 @@
+{% load i18n %}
+
+{% for d in results %}
+
+
+
+
+
+
{{ d.description }}
+ {% if d.tags %}
+ {% for t in d.tags.all %}
{{ t.tag }}{% endfor %}
+ {% endif %}
+
+ {% trans "Warranty Status" %}
+ {{ d.get_warranty_status_display }}
+ {% trans "Purchase Date" %}
+ {{ d.purchased_on|date:"SHORT_DATE_FORMAT"|default:"-" }}, {{ d.purchase_country|default:"-" }}
+ {% trans "Serial Number" %}
+ {{ d.sn }}
+ {% trans "Configration" %}
+ {{ d.configuration }}
+ {% if d.imei %}
+ {% trans "IMEI" %}
+ {{ d.imei|safe }}
+ {% trans "Applied Activation Policy" %}
+ {{ d.applied_activation_policy }}
+ {% trans "Initial Activation Policy" %}
+ {{ d.initial_activation_policy }}
+ {% trans "Next Tether Policy" %}
+ {{ d.next_tether_policy }}
+ {% trans "Find My iPhone" %}
+ {{ d.get_fmip_status }}
+ {% trans "Unlocked" %}
+ {{ d.unlocked|yesno }}
+ {% endif %}
+ {% if d.repeat_service %}
+ {% with d.repeat_service as order %}
+ {% trans "Sales Order" %}
+ {{ d.repeat_service.code }} ({{ order.created_at|date:"SHORT_DATE_FORMAT" }})
+ {% endwith %}
+ {% endif %}
+ {% if d.get_coverage_details %}
+ {% trans "Details" %}
+ {{ d.get_coverage_details|join:" " }}
+ {% endif %}
+ {% if d.has_onsite %}
+ {% trans "Onsite Coverage" %}
+ {{ d.onsite_start_date }} - {{ d.onsite_end_date }}
+ {% endif %}
+ {% if d.contract_start_date %}
+ {% trans "Contract Coverage" %}
+ {{ d.contract_start_date }} - {{ d.contract_end_date }}
+ {% endif %}
+ {% if d.notes %}
+ {% trans "Notes" %}
+ {{ d.notes }}
+ {% endif %}
+
+
+ {% if request.session.current_order_id %}
+ {% with request.session.current_order_id as co %}
+
{% trans "Use in order" %} #{{ request.session.current_order_code }}
+ {% endwith %}
+ {% endif %}
+
{% trans "Create Service Order" %}
+ {% if d.manual_url %}
+
{% trans "Download Manual" %}
+ {% endif %}
+
+
+{% endfor %}
diff --git a/servo/templates/devices/specs.html b/servo/templates/devices/specs.html
new file mode 100755
index 0000000..dcad375
--- /dev/null
+++ b/servo/templates/devices/specs.html
@@ -0,0 +1,42 @@
+{% extends "devices/index.html" %}
+{% load mptt_tags %}
+{% load i18n %}
+
+{% block navtabs %}
+
+{% endblock navtabs %}
+
+{% block content %}
+
+
+
+ {% recursetree specs %}
+ {{ node.title }}
+ {% if not node.is_leaf_node %}
+
+ {% endif %}
+
+ {% endrecursetree %}
+
+
+
+
+ {% block specs %}
+ {% endblock specs %}
+
+
+{% endblock content %}
diff --git a/servo/templates/devices/summary.html b/servo/templates/devices/summary.html
new file mode 100755
index 0000000..cc6b4dc
--- /dev/null
+++ b/servo/templates/devices/summary.html
@@ -0,0 +1,48 @@
+{% load i18n %}
+
+
+
+
+
+
{{ device.description }}
+
+ {% trans "Warranty Status" %}
+ {{ device.get_warranty_status_display }}
+ {% trans "Purchase Date" %}
+ {{ device.purchased_on|date:"SHORT_DATE_FORMAT"|default:"-" }}, {{ device.get_purchase_country|default:"-" }}
+ {% trans "Serial Number" %}
+ {{ device.sn|default:"-" }}
+ {% if device.configuration %}
+ {% trans "Configration" %}
+ {{ device.configuration }}
+ {% endif %}
+ {% if device.username %}
+ {% trans "Username" %}
+ {{ device.username }}
+ {% endif %}
+ {% if device.password %}
+ {% trans "Password" %}
+ {{ device.password }}
+ {% endif %}
+ {% if device.imei %}
+ {% trans "IMEI" %}
+ {{ device.imei }}
+ {% trans "Applied Activation Policy" %}
+ {{ device.applied_activation_policy }}
+ {% trans "Initial Activation Policy" %}
+ {{ device.initial_activation_policy }}
+ {% trans "Find My iPhone" %}
+ {{ device.get_fmip_status }}
+ {% trans "Unlocked" %}
+ {{ device.unlocked }}
+ {% endif %}
+ {% if device.notes %}
+ {% trans "Notes" %}
+ {{ device.notes }}
+ {% endif %}
+
+ {% for t in device.tags.all %}
+
{{ t.tag }}
+ {% endfor %}
+
+
diff --git a/servo/templates/devices/upload_devices.html b/servo/templates/devices/upload_devices.html
new file mode 100755
index 0000000..1d30242
--- /dev/null
+++ b/servo/templates/devices/upload_devices.html
@@ -0,0 +1,13 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+{% trans "Upload devices" %}
+{% endblock header %}
+
+{% block body %}
+
+{% endblock body %}
diff --git a/servo/templates/devices/view.html b/servo/templates/devices/view.html
new file mode 100755
index 0000000..fd6d3a9
--- /dev/null
+++ b/servo/templates/devices/view.html
@@ -0,0 +1,83 @@
+{% extends "devices/index.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block fourth_column %}
+
+
+
+
+ {% include "orders/list.html" with orders=device.order_set.all %}
+
+ {% if device.is_apple_device %}
+
+
+
+
{% trans "Fetching repairs..." %}
+
+
+ {% endif %}
+
+{% endblock fourth_column %}
+
+
+{% block path %}
+ / {{ device.description }}
+{% endblock path %}
diff --git a/servo/templates/dropdown_snippet.html b/servo/templates/dropdown_snippet.html
new file mode 100755
index 0000000..52d496f
--- /dev/null
+++ b/servo/templates/dropdown_snippet.html
@@ -0,0 +1,8 @@
+
diff --git a/servo/templates/error.html b/servo/templates/error.html
new file mode 100644
index 0000000..db3ce21
--- /dev/null
+++ b/servo/templates/error.html
@@ -0,0 +1,49 @@
+{% load i18n %}
+
+
+
+
+
+
+
+
+
+
+ {% trans "An Error Occurred" %}
+
+
+
+
+ {% block main %}
+
+
+
+
+ {% if crashed %}
+
{% trans "Oops!" %}
+
{% trans "It appears that an error has occurred." %} {% trans "I've notified the developers, but I'm sure they would really appreciate if you could briefly describe what you were doing before this happened." %}
+
+ {% else %}
+
{% trans "Thanks!" %}
+
{% trans "Your error report has been submitted. Thanks for helping make Servo better!" %}
+
{% trans "Return Home" %}
+ {% endif %}
+
+
+
+
+ {% endblock main %}
+
+
+
diff --git a/servo/templates/form_buttons.html b/servo/templates/form_buttons.html
new file mode 100755
index 0000000..d67cd3f
--- /dev/null
+++ b/servo/templates/form_buttons.html
@@ -0,0 +1,5 @@
+{% load i18n %}
+
+ {% trans "Back" %}
+ {% trans "Save" %}
+
diff --git a/servo/templates/form_field_snippet.html b/servo/templates/form_field_snippet.html
new file mode 100755
index 0000000..c4d1ab7
--- /dev/null
+++ b/servo/templates/form_field_snippet.html
@@ -0,0 +1,30 @@
+{% load i18n %}
+{% load servo_tags %}
+
+{% if field|widget_is:"CheckboxInput" %}
+
+
+ {{ field }} {% trans field.label %}
+ {% if field.help_text %}
+ {% trans field.help_text %}
+ {% endif %}
+
+
+{% elif field|widget_is:"CheckboxSelectMultiple" %}
+
{% trans field.label %}
+
+ {{ field }}
+
+{% else %}
+
{% trans field.label %}
+
+ {{ field }}
+ {% if field.help_text %}
+ {% trans field.help_text %}
+ {% endif %}
+ {% for e in field.errors %}
+ {{ e }}
+ {% endfor %}
+
+{% endif %}
+
diff --git a/servo/templates/form_snippet.html b/servo/templates/form_snippet.html
new file mode 100755
index 0000000..c9264c8
--- /dev/null
+++ b/servo/templates/form_snippet.html
@@ -0,0 +1,7 @@
+{% for hidden in form.hidden_fields %}
+ {{ hidden }}
+{% endfor %}
+{% for field in form.visible_fields %}
+ {% include "form_field_snippet.html" with field=field %}
+{% endfor %}
+{{ form.media }}
diff --git a/servo/templates/generic/admin_list.html b/servo/templates/generic/admin_list.html
new file mode 100644
index 0000000..25a29c6
--- /dev/null
+++ b/servo/templates/generic/admin_list.html
@@ -0,0 +1,18 @@
+{% extends "admin/index.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block second_column %}
+
+
+ {% block third_column %}
+ {% endblock third_column %}
+
+{% endblock second_column %}
diff --git a/servo/templates/generic/button_dropdown.html b/servo/templates/generic/button_dropdown.html
new file mode 100755
index 0000000..39aba25
--- /dev/null
+++ b/servo/templates/generic/button_dropdown.html
@@ -0,0 +1,12 @@
+{% if items.count %}
+
+{% endif %}
diff --git a/servo/templates/generic/delete.html b/servo/templates/generic/delete.html
new file mode 100755
index 0000000..0503ce5
--- /dev/null
+++ b/servo/templates/generic/delete.html
@@ -0,0 +1,17 @@
+{% extends "snippets/modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {{ title }}
+{% endblock header %}
+
+{% block body %}
+ {{ explanation }}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/generic/index.html b/servo/templates/generic/index.html
new file mode 100755
index 0000000..379db1c
--- /dev/null
+++ b/servo/templates/generic/index.html
@@ -0,0 +1,23 @@
+{% extends "admin/index.html" %}
+{% load i18n %}
+
+{% block second_column %}
+
+
+
+ {% trans "Create New" %}
+{% endblock second_column %}
diff --git a/servo/templates/invoices/index.html b/servo/templates/invoices/index.html
new file mode 100755
index 0000000..94bf6ae
--- /dev/null
+++ b/servo/templates/invoices/index.html
@@ -0,0 +1,106 @@
+{% extends "products/index.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block first_column %}
+
+{% endblock first_column %}
+
+{% block toolbar %}
+{% endblock toolbar %}
+
+{% block second_column %}
+{% block filter_bar %}
+
+{% endblock filter_bar %}
+
+
+
+
+
+ #
+ {% trans "Order" %}
+ {% trans "Customer" %}
+ {% trans "Date Created" %}
+ {% trans "Status" %}
+ {% trans "Total" %}
+ {% trans "Date Paid" %}
+ {% trans "Payment Method" %}
+
+
+
+
+ {% for i in invoices %}
+
+ {{ i.pk|safe }}
+ {{ i.order.code }}
+ {{ i.customer_name }}
+ {{ i.created_at|date:"SHORT_DATE_FORMAT" }}
+ {{ i.order.status_name }}
+ {{ i.total_gross|currency }}
+ {{ i.paid_at|date:"SHORT_DATE_FORMAT" }}
+ {{ i.get_payment_methods|join:", " }}
+
+
+
+
+ {% empty %}
+
+ {% trans "No invoices found" %}
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+ {{ total.total_net__sum|currency|default:"" }} {{ total_purchases.total__sum|currency|default:"" }}
+ {{ total_paid.total_net__sum|currency|default:"" }}
+
+
+
+
+
+ {% include "pagination.html" with items=invoices %}
+
+
+{% endblock second_column %}
+
+{% block third_column %}
+{% endblock third_column %}
+
+{% block crumbs %}
+ {% trans "Invoices" %}
+{% endblock crumbs %}
diff --git a/servo/templates/invoices/view_invoice.html b/servo/templates/invoices/view_invoice.html
new file mode 100755
index 0000000..e69de29
diff --git a/servo/templates/login.html b/servo/templates/login.html
new file mode 100755
index 0000000..d7e6fac
--- /dev/null
+++ b/servo/templates/login.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+ {{ title }} | Servo
+
+
+{% if messages %}
+ {% for message in messages %}
+
+ ×
+ {{ message }}
+
+ {% endfor %}
+ {% endif %}
+
+ {% block content %}{% endblock content %}
+
+
+
diff --git a/servo/templates/modal.html b/servo/templates/modal.html
new file mode 100755
index 0000000..d6f75db
--- /dev/null
+++ b/servo/templates/modal.html
@@ -0,0 +1,19 @@
+{% load i18n %}
+
+
+
+
+ {% block body %}
+ {% trans "This action cannot be undone." %}
+ {% endblock body %}
+
+
+
+
diff --git a/servo/templates/notes/edit_escalation.html b/servo/templates/notes/edit_escalation.html
new file mode 100755
index 0000000..c4e34c1
--- /dev/null
+++ b/servo/templates/notes/edit_escalation.html
@@ -0,0 +1,17 @@
+{% extends "notes/view_note.html" %}
+{% load i18n %}
+
+{% block note_buttons %}
+{% endblock note_buttons %}
+
+{% block view_message %}
+
+{% endblock view_message %}
diff --git a/servo/templates/notes/find.html b/servo/templates/notes/find.html
new file mode 100755
index 0000000..1a55793
--- /dev/null
+++ b/servo/templates/notes/find.html
@@ -0,0 +1,39 @@
+{% extends "notes/list_notes.html" %}
+{% load i18n %}
+
+{% block second_row %}
+
+
+
+
+
+
+ {% include "notes/search-results.html" %}
+
+
+
+{% endblock second_row %}
diff --git a/servo/templates/notes/form.html b/servo/templates/notes/form.html
new file mode 100755
index 0000000..372da30
--- /dev/null
+++ b/servo/templates/notes/form.html
@@ -0,0 +1,112 @@
+{% extends "two_column_layout.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block first_column %}
+{% with note.order as order %}
+{% if order %}
+{% if order.customer %}
+{% include "orders/customer.html" with nodes=order.customer_list %}
+
+{% endif %}
+{% for device in order.devices.all %}
+
+ {{ device.description }}
+ {{ device.configuration }}
+ {{ device.sn }}
+
+{% endfor %}
+
+{% for p in order.products %}
+{{ p.code }} {{ p.price|currency }}
+{{ p.title }}
+{% endfor %}
+
+{% trans "Total" %}:
+{{ order.gross_total|currency }}
+{% endif %}
+{% endwith %}
+{% endblock first_column %}
+
+{% block second_column %}
+
+
+{% endblock second_column %}
+
+{% block crumbs %}
+{% if note.order %}
+ {{ order.get_queue_title }} /
+ {% trans "Order" %} {{ order.code }} /
+ {% trans "Edit Note" %}
+{% endif %}
+{% endblock crumbs %}
diff --git a/servo/templates/notes/list_notes.html b/servo/templates/notes/list_notes.html
new file mode 100755
index 0000000..fdbc853
--- /dev/null
+++ b/servo/templates/notes/list_notes.html
@@ -0,0 +1,75 @@
+{% extends "default.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+
+{% block note_buttons %}
+
+{% endblock note_buttons %}
+{% endblock toolbar %}
+
+{% block content %}
+
+{% block second_row %}
+
+
+
+
+ {% block first_column %}
+
+ {% endblock first_column %}
+
+
+ {% block second_column %}
+
+ {% include "pagination.html" with items=notes %}
+ {% endblock second_column %}
+
+
+ {% block view_message %}
+
{% trans "No message selected" %}
+ {% endblock view_message %}
+
+
+{% endblock second_row %}
+
+{% endblock content %}
+
+{% block crumbs %}
+{% trans "Notes" %}
+{% endblock crumbs %}
diff --git a/servo/templates/notes/messages.html b/servo/templates/notes/messages.html
new file mode 100644
index 0000000..84bbd42
--- /dev/null
+++ b/servo/templates/notes/messages.html
@@ -0,0 +1,22 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Message Log" %}
+{% endblock header %}
+
+{% block body %}
+
+
+ {% for m in messages %}
+
+ {{ m.sent_at|date:"SHORT_DATETIME_FORMAT" }}
+ {{ m.recipient }}
+ {{ m.status }}
+
+ {% empty %}
+ {% trans "No messages to display" %}
+ {% endfor %}
+
+
+{% endblock body %}
diff --git a/servo/templates/notes/remove.html b/servo/templates/notes/remove.html
new file mode 100755
index 0000000..c79f4b1
--- /dev/null
+++ b/servo/templates/notes/remove.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Delete this note?" %}
+{% endblock header %}
+
+{% block body %}
+ {% trans "This will also delete any replies to this note." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/notes/search-results.html b/servo/templates/notes/search-results.html
new file mode 100755
index 0000000..a1ed78d
--- /dev/null
+++ b/servo/templates/notes/search-results.html
@@ -0,0 +1,25 @@
+{% load i18n %}
+{% load humanize %}
+{% load servo_tags %}
+
+
+
+{% include "pagination.html" with items=notes %}
diff --git a/servo/templates/notes/search.html b/servo/templates/notes/search.html
new file mode 100755
index 0000000..023bb07
--- /dev/null
+++ b/servo/templates/notes/search.html
@@ -0,0 +1,18 @@
+{% extends "notes/list_notes.html" %}
+{% load servo_tags %}
+{% load humanize %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "Create Note" %}
+{% endblock toolbar %}
+
+{% block content %}
+
+
+
+{% include "notes/search-results.html" %}
+
+{% endblock content %}
diff --git a/servo/templates/notes/templates.html b/servo/templates/notes/templates.html
new file mode 100755
index 0000000..e552791
--- /dev/null
+++ b/servo/templates/notes/templates.html
@@ -0,0 +1,10 @@
+
diff --git a/servo/templates/notes/view_escalation.html b/servo/templates/notes/view_escalation.html
new file mode 100755
index 0000000..5609587
--- /dev/null
+++ b/servo/templates/notes/view_escalation.html
@@ -0,0 +1 @@
+{% extends "notes/view_note.html" %}
diff --git a/servo/templates/notes/view_note.html b/servo/templates/notes/view_note.html
new file mode 100755
index 0000000..05000f6
--- /dev/null
+++ b/servo/templates/notes/view_note.html
@@ -0,0 +1,38 @@
+{% extends "notes/list_notes.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block note_buttons %}
+
+{% endblock note_buttons %}
+
+{% block view_message %}
+
+
+ {{ note.body|markdown }}
+ {% for a in note.attachments.all %}
+ {{ a }}
+ {% endfor %}
+
+{% endblock view_message %}
diff --git a/servo/templates/oauth/challenge.html b/servo/templates/oauth/challenge.html
new file mode 100755
index 0000000..e69de29
diff --git a/servo/templates/orders/batch_process.html b/servo/templates/orders/batch_process.html
new file mode 100644
index 0000000..996eceb
--- /dev/null
+++ b/servo/templates/orders/batch_process.html
@@ -0,0 +1,14 @@
+{% extends "orders/index.html" %}
+{% load bootstrap3 %}
+{% load i18n %}
+
+{% block content %}
+ {% trans "Batch Processing" %}
+
+{% endblock content %}
diff --git a/servo/templates/orders/checklists.html b/servo/templates/orders/checklists.html
new file mode 100755
index 0000000..b2f9e47
--- /dev/null
+++ b/servo/templates/orders/checklists.html
@@ -0,0 +1,10 @@
+{% load servo_tags %}
+{% for c in checklists %}
+ {{ c.title }} ({{ order.checklistitemvalue_set.all.count }}/{{ c.checklistitem_set.all.count }})
+ {% for i in c.checklistitem_set.all %}
+
+ {{ i.title }} {{ order|item_completed_by:i }}
+
+ {% if forloop.last %} {% endif %}
+ {% endfor %}
+{% endfor %}
diff --git a/servo/templates/orders/close.html b/servo/templates/orders/close.html
new file mode 100755
index 0000000..b80f862
--- /dev/null
+++ b/servo/templates/orders/close.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans 'Close order' %} {{ order.code }}?
+{% endblock header %}
+
+{% block body %}
+ {% trans "This order will no longer be editable." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/orders/close_repair.html b/servo/templates/orders/close_repair.html
new file mode 100755
index 0000000..db50087
--- /dev/null
+++ b/servo/templates/orders/close_repair.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Complete the GSX repair?" %}
+{% endblock header %}
+
+{% block body %}
+ {% trans "The GSX repair will no longer be editable." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/orders/customer.html b/servo/templates/orders/customer.html
new file mode 100755
index 0000000..ccd9184
--- /dev/null
+++ b/servo/templates/orders/customer.html
@@ -0,0 +1,52 @@
+{% load i18n %}
+{% load mptt_tags %}
+{% load servo_tags %}
+{% recursetree nodes %}
+
+ {{ node.name }}
+
+
+ {% if node.email %}
+ {{ node.email }}
+ {% endif %}
+ {% if node.phone %}
+ {{ node.get_national_phone }}
+ {% endif %}
+ {% if node.street_address %}
+ {{ node.street_address }}
+ {{ node.zip_code }} {{ node.city }}
+ {% endif %}
+ {% with node.fullprops.items as props %}
+ {% if props %}
+
+ {% for k, v in props %}
+ {{ k }}: {{ v }}
+ {% endfor %}
+ {% endif %}
+ {% endwith %}
+ {% if node.notes %}
+ {{ node.notes|default:"" }}
+ {% endif %}
+
+{{ children }}
+{% endrecursetree %}
diff --git a/servo/templates/orders/delete_order.html b/servo/templates/orders/delete_order.html
new file mode 100755
index 0000000..ee44fc6
--- /dev/null
+++ b/servo/templates/orders/delete_order.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% blocktrans with id=order.code%}Really delete order {{ id }}? {% endblocktrans %}
+{% endblock header %}
+
+{% block body %}
+ {% trans "This will also delete all the order's notes. This action cannot be undone." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/orders/devices.html b/servo/templates/orders/devices.html
new file mode 100755
index 0000000..271a4ec
--- /dev/null
+++ b/servo/templates/orders/devices.html
@@ -0,0 +1,139 @@
+{% load i18n %}
+{% load servo_tags %}
+
+{% for d in order.orderdevice_set.all %}
+{% with d.device as device %}
+
+
+
+
+
+
{{ device.description }}
+ {% if d.is_repeat_service %}
+
{% trans "Repeat Service" %}
+ {% endif %}
+
+ {% trans "Warranty Status" %}
+ {{ device.get_warranty_status_display }}
+ {% trans "Purchase Date" %}
+ {{ device.purchased_on|date:"SHORT_DATE_FORMAT"|default:"-" }}, {{ device.get_purchase_country|default:"-" }}
+ {% trans "Serial Number" %}
+ {{ device.sn|default:"-" }}
+ {% if device.configuration %}
+ {% trans "Configration" %}
+ {{ device.configuration }}
+ {% endif %}
+ {% if device.imei %}
+ {% trans "IMEI" %}
+ {{ device.imei }}
+ {% trans "Applied Activation Policy" %}
+ {{ device.applied_activation_policy }}
+ {% trans "Initial Activation Policy" %}
+ {{ device.initial_activation_policy }}
+ {% trans "Find My iPhone" %}
+ {{ device.get_fmip_status }}
+ {% trans "Unlocked" %}
+ {{ device.unlocked|yesno }}
+ {% endif %}
+ {% if device.username %}
+ {% trans "Username" %}
+ {{ device.username }}
+ {% endif %}
+ {% if device.password %}
+ {% trans "Password" %}
+ {{ device.password }}
+ {% endif %}
+ {% if device.get_coverage_details %}
+ {% trans "Details" %}
+ {{ device.get_coverage_details|join:" " }}
+ {% endif %}
+ {% if device.notes %}
+ {% trans "Notes" %}
+ {{ device.notes }}
+ {% endif %}
+ {% with device|device_accessories:order as accessories %}
+ {% if accessories.count %}
+ {% trans "Accessories" %}
+ {{ accessories|join:", " }}
+ {% endif %}
+ {% endwith %}
+
+ {% if order.queue %}
+
{% trans "Parts" %}
+ {% else %}
+
{% trans "Parts" %}
+ {% endif %}
+ {% if order.is_editable %}
+
{% trans "Accessories" %}
+ {% else %}
+
{% trans "Accessories" %}
+ {% endif %}
+
{% trans "History" %}
+
+
+
+ {% if d.should_report %}
+
+ {% else %}
+
+ {% endif %}
+
+
+ {% if order.is_editable %}
+
+
+ {% endif %}
+
+
+
+
+
+{% endwith %}
+{% empty %}
+
+
+
{% trans "Order doesn't contain any devices" %}
+
+
+{% endfor %}
+
+ {% trans "Add Device" %}
+
+
diff --git a/servo/templates/orders/dispatch.html b/servo/templates/orders/dispatch.html
new file mode 100755
index 0000000..f7ea0fb
--- /dev/null
+++ b/servo/templates/orders/dispatch.html
@@ -0,0 +1,115 @@
+{% extends "orders/edit.html" %}
+{% load staticfiles %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block content %}
+
+
+{% endblock content %}
+
+{% block crumbs %}
+ {{ order.get_queue_title }} /
+ {% trans "Order" %} {{ order.get_footer }} /
+ {% trans "Dispatch" %}
+{% endblock crumbs %}
+
+{% block media %}
+
+{% endblock media %}
diff --git a/servo/templates/orders/edit.html b/servo/templates/orders/edit.html
new file mode 100755
index 0000000..c340585
--- /dev/null
+++ b/servo/templates/orders/edit.html
@@ -0,0 +1,115 @@
+{% extends "default.html" %}
+{% load staticfiles %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+{% include "orders/toolbar.html" %}
+{% endblock toolbar %}
+
+{% block content %}
+
+
+ {% block tabs %}
+ {% include "orders/tabs.html" with active='order' %}
+ {% endblock tabs %}
+
+
+
+
+
+ {% block second_column %}
+ {% include "orders/devices.html" %}
+ {% include "orders/notes.html" with notes=order.notes %}
+ {% include "orders/products.html" %}
+ {% endblock second_column %}
+
+
+ {% endblock content %}
+
+ {% block crumbs %}
+ {{ order.get_queue_title }} /
+ {% block morecrumbs %}{% trans "Order" %} {{ order.get_footer }} {% endblock morecrumbs %}
+ {% endblock crumbs %}
diff --git a/servo/templates/orders/edit_product.html b/servo/templates/orders/edit_product.html
new file mode 100755
index 0000000..0bcb710
--- /dev/null
+++ b/servo/templates/orders/edit_product.html
@@ -0,0 +1,33 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block body %}
+
+
+
+
+
+{% endblock body %}
diff --git a/servo/templates/orders/events.html b/servo/templates/orders/events.html
new file mode 100755
index 0000000..389e22a
--- /dev/null
+++ b/servo/templates/orders/events.html
@@ -0,0 +1,21 @@
+{% extends "orders/edit.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block tabs %}
+{% include "orders/tabs.html" with active='events' %}
+{% endblock tabs %}
+
+{% block second_column %}
+
+
+ {% for event in order.events.all %}
+
+
+ {{ event.description }}
+ {{ event.triggered_by }}, {{ event.triggered_at|relative_date }}
+
+ {% endfor %}
+
+
+{% endblock second_column %}
diff --git a/servo/templates/orders/followers.html b/servo/templates/orders/followers.html
new file mode 100755
index 0000000..ce020bd
--- /dev/null
+++ b/servo/templates/orders/followers.html
@@ -0,0 +1,28 @@
+{% load i18n %}
+
+
+{% for i in followers %}
+
+ {% with i.get_full_name|truncatechars:26 as fullname %}
+ {% if i == order.user %}
+
{{ fullname }}
+ {% else %}
+
{{ fullname }}
+ {% endif %}
+ {% endwith %}
+
+ {% if i == order.user %}
+
+ {% else %}
+
+ {% endif %}
+
+
+
+{% empty %}
+{% trans "No followers" %}
+{% endfor %}
diff --git a/servo/templates/orders/gsx_repair_form.html b/servo/templates/orders/gsx_repair_form.html
new file mode 100755
index 0000000..512ce5a
--- /dev/null
+++ b/servo/templates/orders/gsx_repair_form.html
@@ -0,0 +1,94 @@
+{% extends "default.html" %}
+{% load staticfiles %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block content %}
+
+
+ {% block tabs %}
+ {% include "orders/tabs.html" %}
+ {% endblock tabs %}
+
+
+
+{% endblock content %}
+
+{% block crumbs %}
+{{ order.get_queue_title }} /
+{% trans "Order" %} {{ order.code }}
+{% endblock crumbs %}
+
+{% block media %}
+{{ repair_form.media }}
+{% endblock media %}
diff --git a/servo/templates/orders/history.html b/servo/templates/orders/history.html
new file mode 100644
index 0000000..5a908b9
--- /dev/null
+++ b/servo/templates/orders/history.html
@@ -0,0 +1,9 @@
+{% extends "modal.html" %}
+{% load i18n %}
+{% block header %}
+ {% trans "Order History" %}
+{% endblock header %}
+
+{% block body %}
+ {% include "orders/list.html" %}
+{% endblock body %}
diff --git a/servo/templates/orders/index.html b/servo/templates/orders/index.html
new file mode 100755
index 0000000..21116d5
--- /dev/null
+++ b/servo/templates/orders/index.html
@@ -0,0 +1,55 @@
+{% extends "default.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+{% if perms.servo.add_order %}
+ {% trans "Create Order" %}
+ {% if request.session.order_queryset %}
+ {% trans "Download Results" %}
+ {% endif %}
+{% else %}
+ {% trans "Create Order" %}
+{% endif %}
+{% endblock toolbar %}
+
+{% block content %}
+
+
+
+
+{% block second_column %}
+{% include "orders/list.html" %}
+{% endblock second_column %}
+
+{% endblock content %}
+
+{% block crumbs %}
+{% trans "Orders" %}
+{% endblock crumbs %}
diff --git a/servo/templates/orders/list.html b/servo/templates/orders/list.html
new file mode 100755
index 0000000..2e5347b
--- /dev/null
+++ b/servo/templates/orders/list.html
@@ -0,0 +1,43 @@
+{% load staticfiles %}
+{% load servo_tags %}
+{% load humanize %}
+{% load cache %}
+{% load i18n %}
+
+
+
+
+ {% trans "Order" %}
+ {% trans "Customer" %}
+ {% trans "Created" %}
+ {% trans "Assigned to" %}
+ {% trans "Status" %}
+
+
+
+
+ {% for order in orders %}
+
+ {{ order.code }}
+ {% if order.customer_name %}{{ order.customer_name }} {% else %}{% trans "No customer" %} {% endif %} {% if order.description %}{{ order.description }}{% else %}{% trans "No description" %} {% endif %} {% cache 120 order_tags order.pk %} {% for t in order.tags.all %}{{ t.title }} {% endfor %}{% endcache %}
+ {{ order.created_at|naturaltime }}{{ order.created_at|date:"SHORT_DATETIME_FORMAT" }}
+
+ {% if order.user %}
+ {{ order.get_user_name }}
+ {{ order.started_at|naturaltime|default:"" }}
+ {% else %}
+ {% trans "Nobody" %}
+ {% endif %}
+ {% if order.status_name %}{{ order.status_name }}{% else %}{% trans "No status" %} {% endif %}{{ order.status_started_at|naturaltime|default:"" }}
+
+
+ {% empty %}
+
+ {% trans "No orders found" %}
+
+ {% endfor %}
+
+
+ {% if orders.paginator %}
+ {% include "pagination.html" with items=orders %}
+ {% endif %}
diff --git a/servo/templates/orders/list_products.html b/servo/templates/orders/list_products.html
new file mode 100755
index 0000000..051c9fe
--- /dev/null
+++ b/servo/templates/orders/list_products.html
@@ -0,0 +1,22 @@
+{% load i18n %}
+{% load servo_tags %}
+
+
+
+ {% for p in order.products %}
+
+ {{ p.code }} {{ p.price|currency }}
+
+ {{ p.title }} - {{ p.get_price_category_display }}
+ {% if p.kbb_sn %}
+ {{ p.kbb_sn }}
+ {% endif %}
+
+ {% empty %}
+ {% trans "No products added" %}
+ {% endfor %}
+
+
+
{% trans "Total" %}:
+
{{ order.gross_total|currency }}
+
diff --git a/servo/templates/orders/notes.html b/servo/templates/orders/notes.html
new file mode 100755
index 0000000..06cc61d
--- /dev/null
+++ b/servo/templates/orders/notes.html
@@ -0,0 +1,84 @@
+{% load i18n %}
+{% load humanize %}
+{% load mptt_tags %}
+{% load servo_tags %}
+
+{% if not order.notes %}
+
+
{% trans "Order doesn't contain any notes." %}
+
+{% endif %}
+
+
+
+ {% trans "Add Note" %}
+
diff --git a/servo/templates/orders/parts.html b/servo/templates/orders/parts.html
new file mode 100755
index 0000000..bf3cbf3
--- /dev/null
+++ b/servo/templates/orders/parts.html
@@ -0,0 +1,36 @@
+{% extends "orders/edit.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+{% endblock toolbar %}
+
+{% block first_column %}
+
+ {{ device.description }}
+ {{ device.configuration }}
+ {{ device.get_warranty_status_display }}
+ {{ device.sn }}
+
+ {% trans "Parts and Services" %}
+ {% include "orders/list_products.html" %}
+
+
+
+{% trans "Done" %}
+{% endblock first_column %}
+
+{% block second_toolbar %}
+{% endblock second_toolbar %}
+
+{% block second_column %}
+
+
{% trans "Fetching parts..." %}
+
+{% endblock second_column %}
+
+{% block morecrumbs %}
+{% trans "Order" %} {{ order.get_footer }} /
+{{ device.description }} /
+{% trans "Service Parts" %}
+{% endblock morecrumbs %}
\ No newline at end of file
diff --git a/servo/templates/orders/print_confirmation.html b/servo/templates/orders/print_confirmation.html
new file mode 100755
index 0000000..0b0ca77
--- /dev/null
+++ b/servo/templates/orders/print_confirmation.html
@@ -0,0 +1,193 @@
+{% extends "default_print.html" %}
+{% load servo_tags %}
+{% load mptt_tags %}
+{% load static %}
+{% load i18n %}
+
+{% block content %}
+{% with order.location as location %}
+
+
+ {% if location.logo %}
+
+ {% endif %}
+
+
+ {{ location.title }}
+ {{ location.address }}
+ {{ location.zip_code }}, {{ location.city }}
+ {{ location.notes }}
+
+
+ {% block location_info %}
+ {% endblock location_info %}
+ {% trans "Email Address" %}: {{ location.email }}
+ {% trans "Phone" %}: {{ location.phone }}
+ {% trans "Repair Number" %}: {{ order.code }}
+
+
+
+{% endwith %}
+
+
+ {% trans "Date" %}: {% now "SHORT_DATE_FORMAT" %}
+
+
+
+
{% block title %}{% trans "Work Confirmation" %} {{ order.code }}{% endblock title %}
+
+
+
+
+
+
+ {% trans "Customer Information" %}
+ {% trans "Product Information" %}
+
+
+
+
+
+ {% block customer_details %}
+ {{ order.customer.fullname }}
+ {% trans "Daytime Phone" %}: {{ order.customer.phone|default:"-" }}
+ {% trans "Email Address" %}: {{ order.customer.email|default:"-" }}
+ {% if order.customer.street_address %}
+
+ {% trans "Address" %}: {{ order.customer.street_address }}
+ {{ order.customer.zip_code }} {{ order.customer.city }}
+ {% endif %}
+ {% endblock customer_details %}
+
+
+ {% for device in order.get_devices %}
+ {% trans "Model" %}: {{ device.description }}
+ {% trans "Warranty Status" %}: {{ device.get_warranty_status_display }}
+ {% trans "Estimated Date of Purchase" %}: {{ device.purchased_on|default:"-" }}
+ {% if device.imei %}
+ {% trans "IMEI Number" %}: {{ device.imei }}
+ {% trans "Activation Policy" %}: {{ device.initial_activation_policy }}
+ {% endif %}
+ {% if device.sn %}
+ {% trans "Serial Number" %}: {{ device.sn }}
+
+ {% endif %}
+ {% endfor %}
+
+
+ {% if order.has_accessories %}
+ {% trans "Accessories" %}: {{ order.get_accessories|join:", " }}
+ {% endif %}
+
+
+
+
+
+
+ {% block work_description %}
+ {% if order.reported_notes.count > 0 %}
+
{% trans "Work Description" %}
+ {% for n in order.reported_notes %}
+ {{ n.body|markdown }}
+ {% endfor %}
+ {% endif %}
+ {% endblock work_description %}
+
+
+
+
+ {% block parts_and_services %}
+ {% if order.has_products %}
+
{% trans "Products and Services" %}
+
+
+
+ {% trans "Product" %}
+ {% trans "Warranty" %}
+ {% trans "VAT %" %}
+ {% trans "Qty" %}
+ {% trans "0% VAT" %}
+ {% trans "Price" %}
+ {% trans "Total" %}
+
+
+
+ {% block list_products %}
+ {% for i in order.products %}
+
+ {{ i.code }}
+ {{ i.title }}{% if i.sn %}{% trans "SN" %}: {{ i.sn }} {% if i.imei %}
+ {% trans "IMEI" %}: {{ i.imei }}{% endif %}{% endif %}
+ {{ i.product.get_warranty_display|default:"" }}
+ {{ i.product.pct_vat|floatformat:"0" }}%
+ {{ i.amount }}
+ {{ i.price_notax|currency }}
+ {{ i.price|currency }}
+ {{ i.total_gross|currency }}
+
+ {% endfor %}
+ {% endblock list_products %}
+
+
+
+
+
+
+
+
+
+ {% trans "Total" %}:
+ {% block order_total %}{{ order.gross_total|currency }}{% endblock order_total %}
+
+
+
+ {% endif %}
+ {% endblock parts_and_services %}
+
+
+
+
+ {% block customer_pickup %}
+
{% trans "Customer Pickup" %}
+
+
+
+
+
+
+
+
+ {% trans "Customer Name" %}
+ {% trans "Signature" %}
+ {% trans "Date" %}
+
+
+
+ {% endblock customer_pickup %}
+ {% block received_by %}
+
{% trans "Received By" %}
+
+
+
+ {{ order.created_by.get_full_name }}
+
+ {{ order.created_at|date:"SHORT_DATE_FORMAT" }}
+
+
+ {% trans "Name" %}
+ {% trans "Signature" %}
+ {% trans "Date" %}
+
+
+
+ {% endblock received_by %}
+
+
+
+
+
+ {% block tos %}{{ conf.terms_of_service|markdown }}{% endblock tos %}
+ {% block footer %}{% endblock footer %}
+
+
+{% endblock content %}
diff --git a/servo/templates/orders/print_dispatch.html b/servo/templates/orders/print_dispatch.html
new file mode 100755
index 0000000..003e03e
--- /dev/null
+++ b/servo/templates/orders/print_dispatch.html
@@ -0,0 +1,38 @@
+{% extends "orders/print_confirmation.html" %}
+{% load i18n %}
+
+{% block title %}
+ {% blocktrans with code=order.code%}Dispatch #{{ code }}{% endblocktrans %}
+{% endblock title %}
+
+{% block parts_and_services %}
+{% trans "Products and Services" %}
+
+
+
+ {% trans "Product" %}
+ {% trans "Warranty" %}
+ {% trans "VAT %" %}
+ {% trans "Qty" %}
+
+
+
+ {% block list_products %}
+ {% for i in order.products %}
+
+ {{ i.product.code }}
+ {{ i.title }}{% if i.sn %}{% trans "SN" %}: {{ i.sn }} {% endif %}
+ {{ i.product.warranty_period }} {% trans "mon." %}
+ {{ i.product.pct_vat|floatformat:"0" }}%
+ {{ i.amount }}
+
+ {% endfor %}
+ {% endblock list_products %}
+
+
+{% endblock parts_and_services %}
+
+{% block received_by %}
+{% endblock received_by %}
+
+{% block tos %}{% endblock tos %}
diff --git a/servo/templates/orders/print_quote.html b/servo/templates/orders/print_quote.html
new file mode 100755
index 0000000..3c3a7d7
--- /dev/null
+++ b/servo/templates/orders/print_quote.html
@@ -0,0 +1,3 @@
+{% extends "orders/print_confirmation.html" %}
+
+{% block tos %}{% endblock tos %}
diff --git a/servo/templates/orders/print_receipt.html b/servo/templates/orders/print_receipt.html
new file mode 100755
index 0000000..c4de827
--- /dev/null
+++ b/servo/templates/orders/print_receipt.html
@@ -0,0 +1,46 @@
+{% extends "orders/print_confirmation.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block title %}
+ {% blocktrans with invoice.pk as number %}Receipt {{ number }}{% endblocktrans %}
+{% endblock title %}
+
+{% block customer_details %}
+ {{ invoice.customer_name }}
+ {% trans "Daytime Phone" %}: {{ invoice.customer_phone|default:"-" }}
+ {% trans "Email Address" %}: {{ invoice.customer_email|default:"-" }}
+ {% if invoice.customer_address %}
+
+ {% trans "Address" %}: {{ invoice.customer_address }}
+ {% endif %}
+{% endblock customer_details %}
+
+{% block list_products %}
+{% for i in invoice.invoiceitem_set.all %}
+
+ {{ i.code }}
+ {{ i.title }}{% if i.sn %}{% trans "SN" %}: {{ i.sn }} {% if i.imei %}{% trans "IMEI" %}: {{ i.imei }}{% endif %}{% endif %}
+ {{ i.product.get_warranty_display|default:"" }}
+ {{ i.product.pct_vat|floatformat:"0" }}%
+ {{ i.amount }}
+ {{ i.price_notax|currency }}
+ {{ i.price|currency }}
+ {{ i.total_gross|currency }}
+
+{% endfor %}
+{% endblock list_products %}
+
+{% block order_total %}
+ {{ invoice.total_gross|currency }}
+{% endblock order_total %}
+
+{% block customer_pickup %}
+
+ {% trans "Date of invoice" %}: {{ invoice.created_at|date:"SHORT_DATE_FORMAT" }}
+ {% trans "Payment method" %}: {{ invoice.get_payment_methods|join:", " }}
+ {% trans "Sales Person" %}: {{ invoice.created_by.get_full_name }}
+
+{% endblock customer_pickup %}
+
+{% block tos %}{% endblock tos %}
diff --git a/servo/templates/orders/products.html b/servo/templates/orders/products.html
new file mode 100755
index 0000000..4476ae8
--- /dev/null
+++ b/servo/templates/orders/products.html
@@ -0,0 +1,98 @@
+{% load i18n %}
+{% load servo_tags %}
+
+{% with order.serviceorderitem_set.all as products %}
+
+ {% if products.count %}
+
+
+
+ {% trans "Product" %}
+ {% trans "Amount" %}
+ {% trans "Price Category" %}
+ {% trans "Price" %}
+ {% trans "Total" %}
+
+
+
+ {% endif %}
+
+ {% for item in products %}
+ {% with item.product as product %}
+
+
+
+ {{ product.code }}
+ {{ item.title }}
+ {% if item.sn or item.kbb_sn %}
+ {% trans "Serial Number" %}: {{ item.sn }}{% if item.kbb_sn %}, KBB: {{ item.kbb_sn }}{% endif %}
+ {% endif %}
+ {% if product.is_apple_part %}
+ {% for repair in order.get_repairs %}
+
+
+ {{ repair.confirmation }}
+
+ {% if item in repair.get_products %}
+ {% with item.get_part as part %}
+ {% include "repairs/part_menu.html" %}
+ {% endwith %}
+ {% else %}
+
+ {% endif %}
+
+ {% endfor %}
+ {% endif %}
+
+ {{ item.amount }}
+ {{ item.get_price_category_display }}
+ {{ item.price|currency }}
+ {{ item.total_gross|currency }}
+
+ {% if order.is_editable %}
+
+ {% if item.should_report %}
+
+ {% else %}
+
+ {% endif %}
+
+
+ {% endif %}
+
+
+ {% endwith %}
+ {% empty %}
+
+
{% trans "Order doesn't contain any products." %}
+
+ {% endfor %}
+
+
+ {% trans "Add Product" %}
+{% endwith %}
+
+
+ {% if order.serviceorderitem_set.count %}
+
+ {% endif %}
+
diff --git a/servo/templates/orders/remove_customer.html b/servo/templates/orders/remove_customer.html
new file mode 100755
index 0000000..53572e2
--- /dev/null
+++ b/servo/templates/orders/remove_customer.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Remove this customer from the order?" %}
+{% endblock header %}
+
+{% block body %}
+ {% trans "This will not delete the customer from the database." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/orders/remove_device.html b/servo/templates/orders/remove_device.html
new file mode 100755
index 0000000..dcfd376
--- /dev/null
+++ b/servo/templates/orders/remove_device.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% blocktrans with dev=device.description %}Remove {{ dev }}?{% endblocktrans %}
+{% endblock header %}
+
+{% block body %}
+ {% trans "This will not delete the device from the database." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/orders/remove_product.html b/servo/templates/orders/remove_product.html
new file mode 100755
index 0000000..e6d2966
--- /dev/null
+++ b/servo/templates/orders/remove_product.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Really remove product from order?" %}
+{% endblock header %}
+
+{% block body %}
+ {% trans "Product will not be deleted from the warehouse." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/orders/repair.html b/servo/templates/orders/repair.html
new file mode 100755
index 0000000..b3798db
--- /dev/null
+++ b/servo/templates/orders/repair.html
@@ -0,0 +1,63 @@
+{% extends "orders/edit.html" %}
+{% load i18n %}
+
+{% block toolbar %}
+{% if repair.is_open %}
+ {% trans "Complete Repair" %}
+{% else %}
+ {% trans "Complete Repair" %}
+{% endif %}
+ {% trans "Copy" %}
+{% endblock toolbar %}
+
+{% block second_column %}
+{{ status }}
+
+ {% trans "Symptom" %}
+ {{ repair.symptom }}
+ {% trans "Diagnosis" %}
+ {{ repair.diagnosis }}
+ {% trans "Request Review" %}
+ {{ repair.request_review|yesno }}
+{% if repair.attachment %}
+ {% trans "Attachment" %}
+ {% with repair.attachment as a %}
+ {{ a }}
+ {% endwith %}
+{% endif %}
+ {% trans "Confirmation" %}
+ {{ repair.confirmation }}
+ {% trans "Reference" %}
+ {{ repair.reference }}
+ {% trans "Notes" %}
+ {{ notes|default:"-"|linebreaks }}
+
+
+
+ {% for part in parts %}
+
+
+ {{ part.part_number }}
+
+ {{ part.part_title }}
+ {{ part.get_symptom_code_display }} - {{ part.get_symptom_modifier_display }}
+
+ {{ part.coverage_description|default:"-" }}
+ {% if part.order_status_code == 'OSHP' %}
+ {{ part.order_status }}
+ {% else %}
+ {{ part.order_status|default:"-" }}
+ {% endif %}
+
+
+
+
+
+ {% include "repairs/part_menu.html" %}
+
+
+
+ {% endfor %}
+
+
+{% endblock second_column %}
diff --git a/servo/templates/orders/reserve_products.html b/servo/templates/orders/reserve_products.html
new file mode 100755
index 0000000..318a28d
--- /dev/null
+++ b/servo/templates/orders/reserve_products.html
@@ -0,0 +1,13 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% blocktrans with id=order.code %}Reserve all products in order {{ id }}?{% endblocktrans %}
+{% endblock header %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/orders/search.html b/servo/templates/orders/search.html
new file mode 100755
index 0000000..2789b20
--- /dev/null
+++ b/servo/templates/orders/search.html
@@ -0,0 +1,7 @@
+{% load i18n %}
+
+{% if orders %}
+ {% include "orders/list.html" %}
+{% else %}
+ {% trans "No orders found" %}
+{% endif %}
diff --git a/servo/templates/orders/statuses.html b/servo/templates/orders/statuses.html
new file mode 100755
index 0000000..8f3eb4b
--- /dev/null
+++ b/servo/templates/orders/statuses.html
@@ -0,0 +1,7 @@
+{% load i18n %}
+
+ {% trans "Choose" %}...
+{% for status in statuses %}
+ {{ status.title }}
+{% endfor %}
+
diff --git a/servo/templates/orders/tabs.html b/servo/templates/orders/tabs.html
new file mode 100755
index 0000000..134aa9f
--- /dev/null
+++ b/servo/templates/orders/tabs.html
@@ -0,0 +1,8 @@
+{% load i18n %}
+{% load humanize %}
+
+{% trans "Order" %}
+{% for r in order.repair_set.all %}
+{{ r.get_number }}
+{% endfor %}
+{% trans "Events" %}
diff --git a/servo/templates/orders/toggle_flagged.html b/servo/templates/orders/toggle_flagged.html
new file mode 100755
index 0000000..f062776
--- /dev/null
+++ b/servo/templates/orders/toggle_flagged.html
@@ -0,0 +1 @@
+ {{ action }}
diff --git a/servo/templates/orders/toggle_follow.html b/servo/templates/orders/toggle_follow.html
new file mode 100755
index 0000000..2563974
--- /dev/null
+++ b/servo/templates/orders/toggle_follow.html
@@ -0,0 +1 @@
+ {{ action }}
diff --git a/servo/templates/orders/toolbar.html b/servo/templates/orders/toolbar.html
new file mode 100755
index 0000000..4bd9fef
--- /dev/null
+++ b/servo/templates/orders/toolbar.html
@@ -0,0 +1,116 @@
+{% load cache %}
+{% load i18n %}
+
+
+
+
+
+
+
diff --git a/servo/templates/pagination.html b/servo/templates/pagination.html
new file mode 100755
index 0000000..5625b7c
--- /dev/null
+++ b/servo/templates/pagination.html
@@ -0,0 +1,18 @@
+{% load i18n %}
+{% load servo_tags %}
+
+
diff --git a/servo/templates/products/category_form.html b/servo/templates/products/category_form.html
new file mode 100755
index 0000000..72ec93a
--- /dev/null
+++ b/servo/templates/products/category_form.html
@@ -0,0 +1,13 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Edit Product Group" %}
+{% endblock header %}
+
+{% block body %}
+
+{% endblock body %}
diff --git a/servo/templates/products/choose-list.html b/servo/templates/products/choose-list.html
new file mode 100755
index 0000000..3188808
--- /dev/null
+++ b/servo/templates/products/choose-list.html
@@ -0,0 +1,9 @@
+{% load i18n %}
+{% load servo_tags %}
+
diff --git a/servo/templates/products/choose.html b/servo/templates/products/choose.html
new file mode 100755
index 0000000..a34834b
--- /dev/null
+++ b/servo/templates/products/choose.html
@@ -0,0 +1,25 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Search for a product" %}
+{% endblock header %}
+
+{% block body %}
+
+
+{% endblock body %}
+
+{% block footer %}
+ {% trans "Close" %}
+ {% trans "Search" %}
+
+{% endblock footer %}
\ No newline at end of file
diff --git a/servo/templates/products/delete_category.html b/servo/templates/products/delete_category.html
new file mode 100755
index 0000000..e9aed7b
--- /dev/null
+++ b/servo/templates/products/delete_category.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Delete product category?" %}
+{% endblock header %}
+
+{% block body %}
+ {% trans "This action will not delete the products in this category." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/products/form.html b/servo/templates/products/form.html
new file mode 100755
index 0000000..0429e6a
--- /dev/null
+++ b/servo/templates/products/form.html
@@ -0,0 +1,90 @@
+{% extends "products/view.html" %}
+{% load i18n %}
+
+{% block third_column %}
+
+{% endblock third_column %}
+
+{% block media %}
+
+{% endblock media %}
diff --git a/servo/templates/products/get_info.html b/servo/templates/products/get_info.html
new file mode 100755
index 0000000..be024e2
--- /dev/null
+++ b/servo/templates/products/get_info.html
@@ -0,0 +1,59 @@
+{% extends "modal.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block header %}
+{% trans "Product Info" %}
+{% endblock header %}
+
+{% block body %}
+
+
+ {% trans "Stock Price" %}
+ {{ product.price_sales_stock|currency }}
+ {% trans "Exchange Price" %}
+ {{ product.price_sales_exchange|currency }}
+ {% if product.component_code %}
+ {% trans "Component Group" %}
+ {{ product.get_component_code_display }} ({{ product.get_part_type_display }})
+ {% endif %}
+
+
+ {% trans "EEE Code" %}
+ {{ product.eee_code|default:"-"|addspace }}
+
+{% for i in inventory %}
+{% ifchanged i.location.id %}
+
+{{ i.location.title }}
+{% endifchanged %}
+
+ {% trans "Stocked" %}
+ {{ i.amount_stocked }}
+ {% trans "Ordered" %}
+ {{ i.amount_ordered|default:"-" }}
+ {% trans "Reserved" %}
+ {{ i.amount_reserved|default:"-" }}
+
+{% empty %}
+
+ {% trans "Product not in inventory" %}
+{% endfor %}
+{% endblock body %}
+
+{% block footer %}
+{% if product.pk %}
+ {% trans "View" %}
+ {% trans "Edit" %}
+{% endif %}
+ {% trans "Done" %}
+{% endblock footer %}
\ No newline at end of file
diff --git a/servo/templates/products/index.html b/servo/templates/products/index.html
new file mode 100755
index 0000000..fefcecd
--- /dev/null
+++ b/servo/templates/products/index.html
@@ -0,0 +1,104 @@
+{% extends "default.html" %}
+{% load i18n %}
+{% load mptt_tags %}
+{% load servo_tags %}
+
+{% block toolbar %}
+
+
+{% endblock toolbar %}
+
+{% block content %}
+
+{% include "products/tabs.html" %}
+
+ {% block second_column %}
+
+
+
+ {% include "products/list.html" %}
+ {% include "pagination.html" with items=products %}
+
+ {% endblock second_column %}
+
+ {% block third_column %}
+
+ {% endblock third_column %}
+
+{% endblock content %}
+
+{% block crumbs %}
+{% trans "Products" %}
+{% block breadcrumb %}
+/ {{ group_name }}
+{% endblock breadcrumb %}
+{% endblock crumbs %}
diff --git a/servo/templates/products/index_outgoing.html b/servo/templates/products/index_outgoing.html
new file mode 100755
index 0000000..5b1d007
--- /dev/null
+++ b/servo/templates/products/index_outgoing.html
@@ -0,0 +1,56 @@
+{% extends "products/index.html" %}
+{% load i18n %}
+
+{% block toolbar %}
+
+{% endblock toolbar %}
+
+{% block first_column %}
+
+{% endblock first_column %}
+
+{% block second_column %}
+
+{% endblock second_column %}
+
+{% block breadcrumb %}
+ {% trans "Outgoing" %}
+{% endblock breadcrumb %}
diff --git a/servo/templates/products/list.html b/servo/templates/products/list.html
new file mode 100755
index 0000000..bac34ec
--- /dev/null
+++ b/servo/templates/products/list.html
@@ -0,0 +1,27 @@
+{% load i18n %}
+{% load servo_tags %}
+
+
+
+
+ {% trans "Product" %}
+ {% trans "Stock Price" %}
+ {% trans "Exchange Price" %}
+ {% trans "In Stock" %}
+
+
+
+
+ {% include "products/list_rows.html" %}
+
+
+
+
+
+
+ {{ total_sales_value|currency }} {{ total_purchase_value|currency }}
+
+
+
+
+
diff --git a/servo/templates/products/list_rows.html b/servo/templates/products/list_rows.html
new file mode 100755
index 0000000..a753687
--- /dev/null
+++ b/servo/templates/products/list_rows.html
@@ -0,0 +1,55 @@
+{% load i18n %}
+{% load servo_tags %}
+{% for p in products %}
+{% with p.get_pk as product_id %}
+
+
+
+ {{ p.code }}
+ {{ p.title }}{{ p.eee_code|default:""|addspace }}
+
+ {{ p.price_sales_stock|currency }}
+ {{ p.price_sales_exchange|currency }}
+ {% if p.is_service %}
+ ∞
+ {% else %}
+ {{ p|amount_in_location:request.user }}
+ {% endif %}
+
+
+ {% if perms.servo.change_product %}
+
+ {% else %}
+
+ {% endif %}
+
+
+
+
+
+
+
+{% endwith %}
+{% empty %}
+{% trans "No products found" %}
+{% endfor %}
diff --git a/servo/templates/products/receive_item.html b/servo/templates/products/receive_item.html
new file mode 100755
index 0000000..275fbd2
--- /dev/null
+++ b/servo/templates/products/receive_item.html
@@ -0,0 +1,51 @@
+{% extends "modal.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block header %}
+ {{ item.code }}
+{% endblock header %}
+
+{% block body %}
+
+{% endblock body %}
+
+{% block footer %}
+ {% trans "Cancel" %}
+{% if not item.received_at %}
+ {% trans "Receive" %}
+{% endif %}
+{% endblock footer %}
diff --git a/servo/templates/products/remove.html b/servo/templates/products/remove.html
new file mode 100755
index 0000000..e951656
--- /dev/null
+++ b/servo/templates/products/remove.html
@@ -0,0 +1,13 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% blocktrans with code=product.code %}Really delete product "{{ code }}"?{% endblocktrans %}
+{% endblock header %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/products/search.html b/servo/templates/products/search.html
new file mode 100755
index 0000000..1e6485b
--- /dev/null
+++ b/servo/templates/products/search.html
@@ -0,0 +1,20 @@
+{% extends "two_column_layout.html" %}
+{% load i18n %}
+
+{% block first_column %}
+
+{% endblock first_column %}
+
+{% block second_column %}
+ {% if products %}
+ {% include "products/list.html" %}
+ {% include "pagination.html" with items=products %}
+ {% else %}
+ {% trans "No products found" %}
+ {% endif %}
+{% endblock second_column %}
+
+{% block crumbs %}
+ {% trans "Products" %} /
+ {{ title }}
+{% endblock crumbs %}
diff --git a/servo/templates/products/tabs.html b/servo/templates/products/tabs.html
new file mode 100755
index 0000000..9bd871d
--- /dev/null
+++ b/servo/templates/products/tabs.html
@@ -0,0 +1,21 @@
+{% load i18n %}
+{% load servo_tags %}
+
+
diff --git a/servo/templates/products/upload_gsx_parts.html b/servo/templates/products/upload_gsx_parts.html
new file mode 100755
index 0000000..1807343
--- /dev/null
+++ b/servo/templates/products/upload_gsx_parts.html
@@ -0,0 +1,13 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Upload GSX Parts" %}
+{% endblock header %}
+
+{% block body %}
+
+{% endblock body %}
diff --git a/servo/templates/products/upload_products.html b/servo/templates/products/upload_products.html
new file mode 100755
index 0000000..746842b
--- /dev/null
+++ b/servo/templates/products/upload_products.html
@@ -0,0 +1,13 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {{ title }}
+{% endblock header %}
+
+{% block body %}
+
+{% endblock body %}
diff --git a/servo/templates/products/view.html b/servo/templates/products/view.html
new file mode 100755
index 0000000..7f5f355
--- /dev/null
+++ b/servo/templates/products/view.html
@@ -0,0 +1,205 @@
+{% extends "products/index.html" %}
+{% load servo_tags %}
+{% load mptt_tags %}
+{% load i18n %}
+
+{% block second_column %}
+{% block category_block %}
+
+{% endblock category_block %}
+
+
+ {% include "pagination.html" with items=products %}
+
+{% endblock second_column %}
+
+{% block third_column %}
+
+
+
+
+
+
+
+ {% trans "Stock Price" %}
+ {{ product.price_sales_stock|currency }}
+ {% trans "Exchange Price" %}
+ {{ product.price_sales_exchange|currency }}
+ {% if product.component_code %}
+ {% trans "Component Group" %}
+ {{ product.get_component_code_display }} ({{ product.get_part_type_display }})
+ {% endif %}
+
+
+ {% for t in product.tags.all %}
+ {{ t.tag }}
+ {% endfor %}
+
+ {% for i in inventory %}
+ {% ifchanged i.location.id %}
+
+ {{ i.location.title }}
+ {% endifchanged %}
+
+ {% trans "Stocked" %}
+ {{ i.amount_stocked }}
+ {% trans "Ordered" %}
+ {{ i.amount_ordered|default:"-" }}
+ {% trans "Reserved" %}
+ {{ i.amount_reserved|default:"-" }}
+
+ {% endfor %}
+
+ {% with request.session.current_order_id as co %}
+ {% if co and product.pk %}
+ {% trans "Use in" %} #{{ request.session.current_order_code }}
+ {% endif %}
+ {% endwith %}
+ {% trans "Create Sales Order" %}
+
+
+
+
+
+
+
+ {% trans "Order" %}
+ {% trans "Customer" %}
+ {% trans "Price" %}
+ {% trans "Created" %}
+ {% trans "Dispatched" %}
+
+
+ {% for i in product.serviceorderitem_set.all reversed %}
+
+ {% with i.order as order %}
+ {{ order.code }}
+ {{ order.customer_name|default:"-" }}
+ {{ i.price|currency }}
+ {{ i.created_at|date:"SHORT_DATE_FORMAT" }}
+ {{ i.dispatched_at|date:"SHORT_DATE_FORMAT" }}
+ {% endwith %}
+
+ {% empty %}
+ {% trans "No Sales Orders" %}
+ {% endfor %}
+
+
+
+
+
+
+ {% trans "Order" %}
+ {% trans "Created" %}
+ {% trans "Price" %}
+ {% trans "Received" %}
+
+
+ {% for i in product.purchaseorderitem_set.all reversed %}
+
+ {% with i.purchase_order as order %}
+ {{ order.pk }}
+ {{ i.created_at|date:"SHORT_DATE_FORMAT" }}
+ {{ i.price|currency }}
+ {{ i.received_at|date:"SHORT_DATE_FORMAT" }}
+ {% endwith %}
+
+ {% empty %}
+ {% trans "No Purchase Orders" %}
+ {% endfor %}
+
+
+
+
+
+
+ {% trans "Invoice" %}
+ {% trans "Order" %}
+ {% trans "Created" %}
+ {% trans "Price" %}
+
+
+ {% for i in product.invoiceitem_set.all reversed %}
+
+ {{ i.invoice.pk }}
+ {% with i.invoice.order as order %}
+ {{ order.code }}
+ {% endwith %}
+ {{ i.created_at|date:"SHORT_DATE_FORMAT" }}
+ {{ i.price|currency }}
+
+ {% empty %}
+ {% trans "No invoices" %}
+ {% endfor %}
+
+
+
+
+{% endblock third_column %}
+
+{% block breadcrumb %}
+/ {{ product.title }}
+{% endblock breadcrumb %}
diff --git a/servo/templates/products/view_incoming.html b/servo/templates/products/view_incoming.html
new file mode 100755
index 0000000..8404ab3
--- /dev/null
+++ b/servo/templates/products/view_incoming.html
@@ -0,0 +1 @@
+{% extends "shipments/list_incoming.html" %}
diff --git a/servo/templates/purchases/edit_po.html b/servo/templates/purchases/edit_po.html
new file mode 100755
index 0000000..618f1a3
--- /dev/null
+++ b/servo/templates/purchases/edit_po.html
@@ -0,0 +1,92 @@
+{% extends "purchases/list_pos.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "Add Product" %}
+{% endblock toolbar %}
+
+{% block filter_bar %}
+{% endblock filter_bar %}
+
+{% block detail_view %}
+
+{% endblock detail_view %}
diff --git a/servo/templates/purchases/list_pos.html b/servo/templates/purchases/list_pos.html
new file mode 100755
index 0000000..f580598
--- /dev/null
+++ b/servo/templates/purchases/list_pos.html
@@ -0,0 +1,132 @@
+{% extends "default.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+
+{% endblock toolbar %}
+
+{% block content %}
+
+
+
+{% include "products/tabs.html" %}
+
+{% block filter_bar %}
+
+{% endblock filter_bar %}
+
+
+
+ {% block detail_view %}
+
+
+
+ #
+ {% trans "Created" %}
+ {% trans "Ordered" %}
+ {% trans "Reference" %}
+ {% trans "Confirmation" %}
+ {% trans "Received" %}
+ {% trans "Order" %}
+ {% trans "Products" %}
+ {% trans "Total" %}
+
+
+
+
+ {% for po in orders %}
+
+ {{ po.id|safe }}
+ {{ po.created_at|date:"SHORT_DATE_FORMAT" }}
+ {{ po.submitted_at|date:"SHORT_DATE_FORMAT" }}
+ {{ po.reference|default:"" }}
+ {{ po.confirmation|default:"" }}
+ {{ po.date_arrived }}
+ {% if po.sales_order %}
+ {{ po.sales_order.code }}
+ {% else %}
+
+ {% endif %}
+ {{ po.amount }}
+ {{ po.sum|currency }}
+
+
+
+
+ {% empty %}
+ {% trans "No Purchase Orders" %}
+ {% endfor %}
+
+
+
+
+
+
+
+
+
+
+
+ {{ total.total__sum|currency|default:"" }}
+
+
+
+
+ {% include "pagination.html" with items=orders %}
+ {% endblock detail_view %}
+
+
+{% endblock content %}
+
+{% block crumbs %}
+{% trans "Purchase Orders" %}
+{% endblock crumbs %}
diff --git a/servo/templates/purchases/order_stock.html b/servo/templates/purchases/order_stock.html
new file mode 100755
index 0000000..fe3f4a0
--- /dev/null
+++ b/servo/templates/purchases/order_stock.html
@@ -0,0 +1,17 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "Submit this stocking order?" %}
+{% endblock header %}
+
+{% block body %}
+ {% trans "Products will be ordered from GSX." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/purchases/view_po.html b/servo/templates/purchases/view_po.html
new file mode 100755
index 0000000..c43a058
--- /dev/null
+++ b/servo/templates/purchases/view_po.html
@@ -0,0 +1,56 @@
+{% extends "purchases/edit_po.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+{% endblock toolbar %}
+
+{% block filter_bar %}
+{% endblock filter_bar %}
+
+{% block detail_view %}
+
+
+
+ {% trans "Created By" %}
+ {{ po.created_by }}
+ {% trans "Created At" %}
+ {{ po.created_at|date:"SHORT_DATE_FORMAT" }}
+ {% trans "Sales Order" %}
+ {{ po.sales_order|default:"" }}
+ {% trans "Reference" %}
+ {{ po.reference }}
+ {% trans "Confirmation" %}
+ {{ po.confirmation }}
+
+
+
+
+
+
+ {% trans "Product" %}
+ {% trans "Reference" %}
+ {% trans "Amount" %}
+ {% trans "Purchase Price" %}
+ {% trans "Received At" %}
+
+
+
+ {% for i in po.purchaseorderitem_set.all %}
+
+ {{ i.code }} {{ i.title }}
+ {{ i.reference }}
+ {{ i.amount }}
+ {{ i.price|currency }}
+ {{ i.received_at|date:"SHORT_DATE_FORMAT"|default:"-" }}
+
+ {% endfor %}
+
+
+
+
+{% endblock detail_view %}
+
+{% block crumbs %}
+ {% trans "Purchase Orders" %}
+{% endblock crumbs %}
diff --git a/servo/templates/repairs/add_part.html b/servo/templates/repairs/add_part.html
new file mode 100755
index 0000000..2236631
--- /dev/null
+++ b/servo/templates/repairs/add_part.html
@@ -0,0 +1,22 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% blocktrans with repair=repair.confirmation %}Add part to repair {{ repair }}?{% endblocktrans %}
+{% endblock header %}
+
+{% block body %}
+
+{% endblock body %}
diff --git a/servo/templates/repairs/check_parts.html b/servo/templates/repairs/check_parts.html
new file mode 100755
index 0000000..519044e
--- /dev/null
+++ b/servo/templates/repairs/check_parts.html
@@ -0,0 +1,10 @@
+{% load servo_tags %}
+{% for p in parts %}
+
+ {{ p.code }}
+ {{ p.price|currency }}
+
+ {{ p.title }}
+ {{ p.get_price_category_display }} - {{ p.warranty_status }}
+
+{% endfor %}
diff --git a/servo/templates/repairs/delete_part.html b/servo/templates/repairs/delete_part.html
new file mode 100755
index 0000000..4a80824
--- /dev/null
+++ b/servo/templates/repairs/delete_part.html
@@ -0,0 +1,12 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+{% trans "Remove this part from the GSX repair?" %}
+{% endblock header %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/repairs/delete_repair.html b/servo/templates/repairs/delete_repair.html
new file mode 100755
index 0000000..3f68478
--- /dev/null
+++ b/servo/templates/repairs/delete_repair.html
@@ -0,0 +1,16 @@
+{% extends "snippets/modal.html" %}
+{% load i18n %}
+
+{% block header %}
+{% trans "Delete this GSX repair?" %}
+{% endblock header %}
+
+{% block body %}
+{% trans "Only repairs that have not been submitted can be deleted." %}
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/repairs/get_details.html b/servo/templates/repairs/get_details.html
new file mode 100755
index 0000000..a6fe914
--- /dev/null
+++ b/servo/templates/repairs/get_details.html
@@ -0,0 +1,27 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {{ repair.dispatch_id }}
+{% endblock header %}
+
+{% block body %}
+
+ {% trans "Service Order" %}
+ {{ repair.po_number|safe }}
+ {% trans "Warranty Coverage" %}
+ {{ repair.status_description|default:"-" }}
+ {% trans "CS Code" %}
+ {{ repair.cs_code|default:"-" }}
+ {% trans "Notes" %}
+ {{ repair.notes|default:"-" }}
+ {% trans "Tracking Number" %}
+ {{ repair.tracking_number|default:"-" }}
+ {% trans "Parts" %}
+
+ {% for p in repair.parts %}
+ {{ p.partNumber }} {{ p.partDescription }}
+ {% endfor %}
+
+
+{% endblock body %}
diff --git a/servo/templates/repairs/part_menu.html b/servo/templates/repairs/part_menu.html
new file mode 100755
index 0000000..c314496
--- /dev/null
+++ b/servo/templates/repairs/part_menu.html
@@ -0,0 +1,33 @@
+{% load i18n %}
+
diff --git a/servo/templates/rules/form.html b/servo/templates/rules/form.html
new file mode 100644
index 0000000..ac7a35c
--- /dev/null
+++ b/servo/templates/rules/form.html
@@ -0,0 +1,142 @@
+{% extends "rules/list_rules.html" %}
+{% load bootstrap3 %}
+{% load static %}
+{% load i18n %}
+
+{% block third_column %}
+
+ {% endbuttons %}
+{% endblock third_column %}
+
+{% block media %}
+
+
+
+{% endblock media %}
diff --git a/servo/templates/rules/list.html b/servo/templates/rules/list.html
new file mode 100644
index 0000000..3e9ea9e
--- /dev/null
+++ b/servo/templates/rules/list.html
@@ -0,0 +1,6 @@
+{% extends "admin/index.html" %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Rule" %}
+{% endblock toolbar %}
diff --git a/servo/templates/rules/list_rules.html b/servo/templates/rules/list_rules.html
new file mode 100644
index 0000000..9aef78e
--- /dev/null
+++ b/servo/templates/rules/list_rules.html
@@ -0,0 +1,22 @@
+{% extends "admin/index.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Rule" %}
+{% endblock toolbar %}
+
+{% block second_column %}
+
+
+ {% block third_column %}
+ {% endblock third_column %}
+
+{% endblock second_column %}
diff --git a/servo/templates/search/results/articles.html b/servo/templates/search/results/articles.html
new file mode 100755
index 0000000..8ea7535
--- /dev/null
+++ b/servo/templates/search/results/articles.html
@@ -0,0 +1,10 @@
+{% extends "search/spotlight.html" %}
+{% load humanize %}
+{% load servo_tags %}
+
+{% block second_column %}
+{% for i in articles %}
+ {{ i.title }}
+ {{ i.content|markdown }}
+{% endfor %}
+{% endblock second_column %}
diff --git a/servo/templates/search/results/customers.html b/servo/templates/search/results/customers.html
new file mode 100755
index 0000000..6203598
--- /dev/null
+++ b/servo/templates/search/results/customers.html
@@ -0,0 +1,26 @@
+{% extends "search/spotlight.html" %}
+{% load i18n %}
+
+{% block second_column %}
+ {% if customers %}
+ {% for i in customers %}
+
+ {{ i.name }}
+ {% if i.street_address %}
+ {{ i.street_address }}
+ {{ i.zip_code }}, {{ i.city }}
+ {% endif %}
+ {% if i.phone %}
+ P: {{ i.phone }}
+ {% endif %}
+ {% if i.email %}
+
+ {{ i.email }}
+ {% endif %}
+
+
+ {% endfor %}
+ {% else %}
+ {% trans "No customers found" %}
+ {% endif %}
+{% endblock second_column %}
diff --git a/servo/templates/search/results/devices.html b/servo/templates/search/results/devices.html
new file mode 100755
index 0000000..d133d55
--- /dev/null
+++ b/servo/templates/search/results/devices.html
@@ -0,0 +1,10 @@
+{% extends "search/spotlight.html" %}
+{% load i18n %}
+
+{% block second_column %}
+ {% if devices %}
+ {% include "devices/list.html" %}
+ {% else %}
+ {% trans "No devices found" %}
+ {% endif %}
+{% endblock second_column %}
diff --git a/servo/templates/search/results/gsx.html b/servo/templates/search/results/gsx.html
new file mode 100755
index 0000000..ac8471b
--- /dev/null
+++ b/servo/templates/search/results/gsx.html
@@ -0,0 +1,41 @@
+{% extends "search/spotlight.html" %}
+{% load i18n %}
+
+{% block second_column %}
+{% block tabs %}
+
+{% endblock tabs %}
+
+{% block results %}
+
+{% endblock results %}
+
+{% endblock second_column %}
+
+{% block media %}
+
+{% endblock media %}
diff --git a/servo/templates/search/results/gsx_error.html b/servo/templates/search/results/gsx_error.html
new file mode 100755
index 0000000..0c72d03
--- /dev/null
+++ b/servo/templates/search/results/gsx_error.html
@@ -0,0 +1,4 @@
+{% load i18n %}
+
diff --git a/servo/templates/search/results/gsx_notfound.html b/servo/templates/search/results/gsx_notfound.html
new file mode 100755
index 0000000..87261bf
--- /dev/null
+++ b/servo/templates/search/results/gsx_notfound.html
@@ -0,0 +1,4 @@
+{% load i18n %}
+
+ {% trans "No search results" %}
+
diff --git a/servo/templates/search/results/gsx_repair_details.html b/servo/templates/search/results/gsx_repair_details.html
new file mode 100755
index 0000000..81908b5
--- /dev/null
+++ b/servo/templates/search/results/gsx_repair_details.html
@@ -0,0 +1,19 @@
+{% load i18n %}
+
+{% for r in results %}
+{{ r.dispatchId }}
+
+ {% trans "Service Order" %}
+ {{ r.purchaseOrderNumber }}
+ {% trans "CS Code" %}
+ {{ r.csCode|safe }}
+ {% trans "Tracking Number" %}
+ {{ r.deliveryTrackingNumber }}
+ {% trans "Notes" %}
+ {{ r.notes }}
+ {% trans "Warranty Coverage" %}
+ {{ r.coverageStatusDescription }}
+ {% trans "Status" %}
+ {{ r.orderStatus }}
+
+{% endfor %}
diff --git a/servo/templates/search/results/gsx_results.html b/servo/templates/search/results/gsx_results.html
new file mode 100755
index 0000000..dc7fff5
--- /dev/null
+++ b/servo/templates/search/results/gsx_results.html
@@ -0,0 +1,5 @@
+
diff --git a/servo/templates/search/results/gsx_warranty.html b/servo/templates/search/results/gsx_warranty.html
new file mode 100755
index 0000000..4682885
--- /dev/null
+++ b/servo/templates/search/results/gsx_warranty.html
@@ -0,0 +1,49 @@
+{% load i18n %}
+
+{% for d in results %}
+
+
+
+
+
+
{{ d.description }}
+
+ {% trans "Warranty Status" %}
+ {{ d.get_warranty_status_display }}
+ {% trans "Purchase Date" %}
+ {{ d.purchased_on|date:"SHORT_DATE_FORMAT"|default:"-" }}, {{ d.purchase_country|default:"-" }}
+ {% trans "Serial Number" %}
+ {{ d.sn }}
+ {% trans "Configration" %}
+ {{ d.configuration }}
+ {% if d.activation %}
+ IMEI
+ {{ d.activation.imeiNumber }}
+ {% trans "Activation Profile" %}
+ {{ d.activation.initialActivationPolicyDetails }}
+ {% trans "Unlocked" %}
+ {{ d.activation.unlocked }}
+ {% trans "Find My iPhone" %}
+ {{ d.fmip_is_active|yesno:"Active,Inactive" }}
+ {% endif %}
+
+
+
+
+{% endfor %}
diff --git a/servo/templates/search/results/notes.html b/servo/templates/search/results/notes.html
new file mode 100755
index 0000000..ec2547a
--- /dev/null
+++ b/servo/templates/search/results/notes.html
@@ -0,0 +1,20 @@
+{% extends "search/spotlight.html" %}
+{% load servo_tags %}
+{% load humanize %}
+
+{% block second_column %}
+
+{% endblock second_column %}
diff --git a/servo/templates/search/results/orders.html b/servo/templates/search/results/orders.html
new file mode 100755
index 0000000..1e1fc6f
--- /dev/null
+++ b/servo/templates/search/results/orders.html
@@ -0,0 +1,10 @@
+{% extends "search/spotlight.html" %}
+{% load i18n %}
+
+{% block second_column %}
+ {% if orders %}
+ {% include "orders/list.html" %}
+ {% else %}
+ {% trans "No orders found" %}
+ {% endif %}
+{% endblock second_column %}
diff --git a/servo/templates/search/results/products.html b/servo/templates/search/results/products.html
new file mode 100755
index 0000000..32afb5c
--- /dev/null
+++ b/servo/templates/search/results/products.html
@@ -0,0 +1,10 @@
+{% extends "search/spotlight.html" %}
+{% load i18n %}
+
+{% block second_column %}
+ {% if products %}
+ {% include "products/list.html" %}
+ {% else %}
+ {% trans "No products found" %}
+ {% endif %}
+{% endblock second_column %}
diff --git a/servo/templates/search/spotlight.html b/servo/templates/search/spotlight.html
new file mode 100755
index 0000000..e372b23
--- /dev/null
+++ b/servo/templates/search/spotlight.html
@@ -0,0 +1,37 @@
+{% extends "two_column_layout.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "New Customer" %}
+{% endblock toolbar %}
+
+{% block first_column %}
+
+{% endblock first_column %}
+
+{% block second_column %}
+{% endblock second_column %}
+
+{% block footer %}
+ {% trans "Home" %} / {{ title }}
+{% endblock footer %}
diff --git a/servo/templates/shipments/add_to_return-results.html b/servo/templates/shipments/add_to_return-results.html
new file mode 100755
index 0000000..0f1d94e
--- /dev/null
+++ b/servo/templates/shipments/add_to_return-results.html
@@ -0,0 +1,8 @@
+{% load i18n %}
+
diff --git a/servo/templates/shipments/add_to_return.html b/servo/templates/shipments/add_to_return.html
new file mode 100755
index 0000000..c1ca9da
--- /dev/null
+++ b/servo/templates/shipments/add_to_return.html
@@ -0,0 +1,14 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+{% trans "Add part to return" %}
+{% endblock header %}
+
+{% block body %}
+
+
+{% endblock body %}
diff --git a/servo/templates/shipments/edit_bulk_return.html b/servo/templates/shipments/edit_bulk_return.html
new file mode 100755
index 0000000..588a998
--- /dev/null
+++ b/servo/templates/shipments/edit_bulk_return.html
@@ -0,0 +1,101 @@
+{% extends "shipments/list_returns.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block toolbar %}
+ {% trans "Add Part" %}
+
+{% endblock toolbar %}
+
+{% block second_column %}
+
+ {% for k, v in accounts %}
+ {{ v }}
+ {% endfor %}
+
+
+{% endblock second_column %}
diff --git a/servo/templates/shipments/index.html b/servo/templates/shipments/index.html
new file mode 100755
index 0000000..1584f65
--- /dev/null
+++ b/servo/templates/shipments/index.html
@@ -0,0 +1,46 @@
+{% extends "products/index.html" %}
+{% load i18n %}
+{% load servo_tags %}
+
+{% block toolbar %}{% endblock toolbar %}
+
+{% block content %}
+
+{% include "products/tabs.html" %}
+
+
+ {% block second_row %}
+
+ {% block first_column %}
+
+
+
+ {% block second_column %}
+ {% endblock second_column %}
+
+ {% endblock second_row %}
+
+
+{% endblock content %}
+
+{% block breadcrumb %}
+
+{% endblock breadcrumb %}
diff --git a/servo/templates/shipments/list_bulk_returns.html b/servo/templates/shipments/list_bulk_returns.html
new file mode 100755
index 0000000..f2c4843
--- /dev/null
+++ b/servo/templates/shipments/list_bulk_returns.html
@@ -0,0 +1,37 @@
+{% extends "shipments/list_returns.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block second_column %}
+
+
+
+ {% trans "ID" %}
+ {% trans "Tracking ID" %}
+ {% trans "Tracking URL" %}
+ {% trans "Parts" %}
+ {% trans "Returned" %}
+
+
+
+ {% for i in returns %}
+
+ {% if i.return_id %}
+ {{ i.return_id }}
+ {% else %}
+
+ {% endif %}
+ {{ i.tracking_id }}
+ {{ i.get_carrier_display }}
+ {{ i.num_parts }}
+ {{ i.dispatched_by }}{{ i.dispatched_at|date:"SHORT_DATETIME_FORMAT" }}
+
+ {% endfor %}
+
+
+{% include "pagination.html" with items=returns %}
+{% endblock second_column %}
+
+{% block breadcrumb %}
+/ {% trans "Browse Returns" %}
+{% endblock breadcrumb %}
diff --git a/servo/templates/shipments/list_incoming.html b/servo/templates/shipments/list_incoming.html
new file mode 100755
index 0000000..5d2d784
--- /dev/null
+++ b/servo/templates/shipments/list_incoming.html
@@ -0,0 +1,61 @@
+{% extends "shipments/index.html" %}
+{% load i18n %}
+
+{% block toolbar %}
+{% endblock toolbar %}
+
+{% block second_column %}
+{% include "snippets/filtering_form.html" %}
+
+{% include "pagination.html" with items=inventory %}
+{% endblock second_column %}
+
+{% block breadcrumb %}
+/ {% trans "Incoming" %}
+{% endblock breadcrumb %}
diff --git a/servo/templates/shipments/list_returns.html b/servo/templates/shipments/list_returns.html
new file mode 100755
index 0000000..7d57286
--- /dev/null
+++ b/servo/templates/shipments/list_returns.html
@@ -0,0 +1,44 @@
+{% extends "shipments/index.html" %}
+{% load servo_tags %}
+{% load i18n %}
+
+{% block second_column %}
+
+{% endblock second_column %}
+
+{% block breadcrumb %}
+/ {% trans "Parts Pending Return" %}
+{% endblock breadcrumb %}
diff --git a/servo/templates/shipments/submit_bulk_return.html b/servo/templates/shipments/submit_bulk_return.html
new file mode 100755
index 0000000..ee897c4
--- /dev/null
+++ b/servo/templates/shipments/submit_bulk_return.html
@@ -0,0 +1,15 @@
+{% extends "modal.html" %}
+{% load i18n %}
+{% block header %}
+ {% trans "Submit the bulk return?" %}
+{% endblock header %}
+
+{% block body %}
+
+{% endblock body %}
+
+{% block footer %}
+
+{% endblock footer %}
diff --git a/servo/templates/shipments/update_part.html b/servo/templates/shipments/update_part.html
new file mode 100755
index 0000000..8c0d266
--- /dev/null
+++ b/servo/templates/shipments/update_part.html
@@ -0,0 +1,14 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {{ title }}
+{% endblock header %}
+
+{% block body %}
+{{ msg }}
+
+{% endblock body %}
diff --git a/servo/templates/shipments/view_bulk_return.html b/servo/templates/shipments/view_bulk_return.html
new file mode 100755
index 0000000..e5b935c
--- /dev/null
+++ b/servo/templates/shipments/view_bulk_return.html
@@ -0,0 +1,35 @@
+{% extends "shipments/edit_bulk_return.html" %}
+{% load i18n %}
+
+{% block return_info %}
+
+ {% trans "Carrier" %}
+ {{ shipment.get_carrier_display }}
+ {% trans "Tracking" %}
+ {{ shipment.tracking_id }}
+ {% trans "Dimensions" %}
+ {{ shipment.length }} x {{ shipment.width }} x {{ shipment.height }}
+ {% trans "Weight" %}
+ {{ shipment.weight }} kg
+
+ {% trans "Open Packing List" %}
+{% endblock return_info %}
+
+{% block return_parts %}
+{% for p in shipment.servicepart_set.all %}
+
+ {{ p.part_number }} {{ p.part_title }}
+ {{ p.service_order }}
+ {{ p.return_order }}
+ {{ p.box_number|default:"Individual" }}
+
+{% empty %}
+
+ {% trans "No parts registered for this shipment" %}
+
+{% endfor %}
+{% endblock return_parts %}
+
+{% block form_controls %}
+
+{% endblock form_controls %}
diff --git a/servo/templates/snippets/alert.html b/servo/templates/snippets/alert.html
new file mode 100644
index 0000000..9cc4f50
--- /dev/null
+++ b/servo/templates/snippets/alert.html
@@ -0,0 +1 @@
+{{ message }}
diff --git a/servo/templates/snippets/control_group.html b/servo/templates/snippets/control_group.html
new file mode 100755
index 0000000..7e61d6a
--- /dev/null
+++ b/servo/templates/snippets/control_group.html
@@ -0,0 +1,3 @@
+
+ {{ field }}
+
diff --git a/servo/templates/snippets/dropdown.html b/servo/templates/snippets/dropdown.html
new file mode 100755
index 0000000..70ee226
--- /dev/null
+++ b/servo/templates/snippets/dropdown.html
@@ -0,0 +1,11 @@
+
diff --git a/servo/templates/snippets/dropdown_menu.html b/servo/templates/snippets/dropdown_menu.html
new file mode 100755
index 0000000..c57b563
--- /dev/null
+++ b/servo/templates/snippets/dropdown_menu.html
@@ -0,0 +1,5 @@
+
diff --git a/servo/templates/snippets/error_modal.html b/servo/templates/snippets/error_modal.html
new file mode 100755
index 0000000..c63010a
--- /dev/null
+++ b/servo/templates/snippets/error_modal.html
@@ -0,0 +1,10 @@
+{% extends "modal.html" %}
+{% load i18n %}
+
+{% block header %}
+ {% trans "An error occured..." %}
+{% endblock header %}
+
+{% block body %}
+ {{ error }}
+{% endblock body %}
diff --git a/servo/templates/snippets/filtering_form.html b/servo/templates/snippets/filtering_form.html
new file mode 100755
index 0000000..b2ce391
--- /dev/null
+++ b/servo/templates/snippets/filtering_form.html
@@ -0,0 +1,15 @@
+{% load i18n %}
+
diff --git a/servo/templates/snippets/form_field.html b/servo/templates/snippets/form_field.html
new file mode 100755
index 0000000..59578f4
--- /dev/null
+++ b/servo/templates/snippets/form_field.html
@@ -0,0 +1,12 @@
+
+
{{ field.label }}
+
+ {{ field }}
+ {% if field.help_text %}
+ {{ field.help_text }}
+ {% endif %}
+ {% for e in field.errors %}
+ {{ e }}
+ {% endfor %}
+
+
diff --git a/servo/templates/snippets/form_field_label.html b/servo/templates/snippets/form_field_label.html
new file mode 100755
index 0000000..0a8d4b1
--- /dev/null
+++ b/servo/templates/snippets/form_field_label.html
@@ -0,0 +1 @@
+{% trans field.label %}
diff --git a/servo/templates/snippets/form_input.html b/servo/templates/snippets/form_input.html
new file mode 100755
index 0000000..1d686d0
--- /dev/null
+++ b/servo/templates/snippets/form_input.html
@@ -0,0 +1,22 @@
+{% load i18n %}
+{% load servo_tags %}
+
+
+ {% if field|widget_is:"CheckboxInput" %}
+
+
+ {{ field }} {% trans field.label %}
+
+
+ {% else %}
+
+ {{ field }}
+ {% if field.help_text %}
+ {% trans field.help_text %}
+ {% endif %}
+ {% for e in field.errors %}
+ {{ e }}
+ {% endfor %}
+
+ {% endif %}
+
diff --git a/servo/templates/snippets/modal.html b/servo/templates/snippets/modal.html
new file mode 100755
index 0000000..dfa552a
--- /dev/null
+++ b/servo/templates/snippets/modal.html
@@ -0,0 +1,14 @@
+{% load i18n %}
+
+
+ {% block body %}{% endblock body %}
+
+
diff --git a/servo/templates/stats/index.html b/servo/templates/stats/index.html
new file mode 100755
index 0000000..2edc57d
--- /dev/null
+++ b/servo/templates/stats/index.html
@@ -0,0 +1,68 @@
+{% extends "default.html" %}
+{% load i18n %}
+
+{% block content %}
+
+
+
+
+
+ {% block filter_block %}
+
+ {% endblock filter_block %}
+
+
+
+
+ {% block stats %}
+
{% trans "Orders Assigned" %}
+
{% trans "Shows how many new orders have been assigned to each technician over the given time period." %}
+ {% include "stats/plot_snippet.html" with url="/stats/data/orders/runrate/" %}
+
+
{% trans "Orders Created" %}
+
{% trans "This graph shows how many orders are checked in by each user." %}
+ {% include "stats/plot_snippet.html" with url="/stats/data/created/user/" %}
+
+
{% trans "Work Distribution" %}
+
{% trans "Shows you how the total number of service orders is distributed across the technicians at this location." %}
+
+ {% endblock stats %}
+
+
+
+{% endblock content %}
+
+{% block crumbs %}
+{% trans "Statistics" %}
+{% endblock crumbs %}
+
+{% block media %}
+
+
+
+
+
+{% endblock media %}
diff --git a/servo/templates/stats/locations.html b/servo/templates/stats/locations.html
new file mode 100755
index 0000000..576da8b
--- /dev/null
+++ b/servo/templates/stats/locations.html
@@ -0,0 +1,33 @@
+{% extends "stats/index.html" %}
+{% load i18n %}
+
+{% block tabs %}
+ {% trans "Technicians" %}
+ {% trans "Locations" %}
+ {% trans "Queues" %}
+ {% trans "Repairs" %}
+ {% trans "Statuses" %}
+ {% trans "Sales" %}
+{% endblock tabs %}
+
+{% block stats %}
+ {% trans "Orders Created" %}
+ {% trans "Shows you how many orders are created at each location." %}
+ {% include "stats/plot_snippet.html" with url="/stats/data/created/location/" %}
+
+ {% trans "Orders Closed" %}
+ {% trans "Shows you how many orders have been closed at each location." %}
+ {% include "stats/plot_snippet.html" with url="/stats/data/closed/location/" %}
+
+ {% trans "Average Turnaround" %}
+ {% trans "Shows how many hours it takes to complete an order at each location." %}
+ {% include "stats/plot_snippet.html" with url="/stats/data/turnaround/location/" %}
+
+ {% trans "Average Runrate" %}
+ {% trans "Shows you how many orders people are working on at each location." %}
+ {% include "stats/plot_snippet.html" with url="/stats/data/runrate/location/" %}
+
+ {% trans "Work Distribution" %}
+ {% trans "This shows you how your overall work load is distributed across your service locations." %}
+
+{% endblock stats %}
diff --git a/servo/templates/stats/newstats.html b/servo/templates/stats/newstats.html
new file mode 100644
index 0000000..1900efc
--- /dev/null
+++ b/servo/templates/stats/newstats.html
@@ -0,0 +1,87 @@
+{% extends "default.html" %}
+{% load i18n %}
+
+{% block content %}
+
+
+
+
+
+ {% block filter_block %}
+
+ {% endblock filter_block %}
+
+
+
+
+ {% block stats %}
+
+
+
+ {% trans "Technician" %}
+ {% trans "Cases Created" %}
+ {% trans "Cases Assigned" %}
+ {% trans "Repairs Created" %}
+ {% trans "Cases Dispatched" %}
+
+
+
+
+ {% for r in results %}
+
+ {{ r.name }}
+ {{ r.created }}
+ {{ r.assigned }}
+ {{ r.repairs }}
+ {{ r.dispatched }}
+
+
+ {% endfor %}
+
+
+
+ {% trans "Total" %}
+ {{ totals.created }}
+ {{ totals.assigned }}
+ {{ totals.repairs }}
+ {{ totals.dispatched }}
+ {{ totals.diff }}
+
+ {% if totals.turnaround.nonzero %}
+
+ {% trans "Average turnaround time" %}
+ {{ totals.turnaround.days }} {% trans "days" %}, {{ totals.turnaround.hours }} {% trans "hours" %}
+
+ {% endif %}
+
+
+ {% endblock stats %}
+
+
+{% endblock content %}
+
+{% block crumbs %}
+ {% trans "Statistics" %}
+{% endblock crumbs %}
diff --git a/servo/templates/stats/plot_snippet.html b/servo/templates/stats/plot_snippet.html
new file mode 100755
index 0000000..c93a41e
--- /dev/null
+++ b/servo/templates/stats/plot_snippet.html
@@ -0,0 +1,9 @@
+
diff --git a/servo/templates/stats/queues.html b/servo/templates/stats/queues.html
new file mode 100755
index 0000000..eefec46
--- /dev/null
+++ b/servo/templates/stats/queues.html
@@ -0,0 +1,29 @@
+{% extends "stats/index.html" %}
+{% load i18n %}
+
+{% block tabs %}
+ {% trans "Technicians" %}
+ {% trans "Locations" %}
+ {% trans "Queues" %}
+ {% trans "Repairs" %}
+ {% trans "Statuses" %}
+ {% trans "Sales" %}
+{% endblock tabs %}
+
+{% block stats %}
+ {% trans "Orders Created" %}
+ {% trans "This is your total number of orders per queue in the specified time period" %}
+ {% include "stats/plot_snippet.html" with url="/stats/data/orders/count/" %}
+
+ {% trans "Orders Closed" %}
+ {% trans "Shows you how many orders have been closed in each queue." %}
+ {% include "stats/plot_snippet.html" with url="/stats/data/closed/queue/" %}
+
+ {% trans "Average Turnaround" %}
+ {% trans "Shows how many hours it takes to complete an order in each queue." %}
+ {% include "stats/plot_snippet.html" with url="/stats/data/orders/turnaround/" %}
+
+ {% trans "Work Distribution" %}
+ {% trans "This shows your total ratio of orders over the time period distributed over each queue." %}
+
+{% endblock stats %}
diff --git a/servo/templates/stats/sales.html b/servo/templates/stats/sales.html
new file mode 100755
index 0000000..186e897
--- /dev/null
+++ b/servo/templates/stats/sales.html
@@ -0,0 +1,33 @@
+{% extends "stats/index.html" %}
+{% load i18n %}
+
+{% block tabs %}
+{% trans "Technicians" %}
+{% trans "Locations" %}
+{% trans "Queues" %}
+{% trans "Repairs" %}
+{% trans "Statuses" %}
+{% trans "Sales" %}
+{% endblock tabs %}
+
+{% block stats %}
+{% trans "Sales" %}
+{% trans "Shows you invoice totals per queue within the selected time period." %}
+{% include "stats/plot_snippet.html" with url="/stats/data/sales/invoices/" %}
+
+{% trans "Purchases" %}
+{% trans "Shows you Purchase Order totals per queue within the selected time period." %}
+{% include "stats/plot_snippet.html" with url="/stats/data/sales/purchases/" %}
+
+{% trans "Service Parts" %}
+{% trans "Shows you how many parts have been ordered for each labour tier." %}
+
+{% endblock stats %}
diff --git a/servo/templates/stats/statuses.html b/servo/templates/stats/statuses.html
new file mode 100755
index 0000000..f4fb427
--- /dev/null
+++ b/servo/templates/stats/statuses.html
@@ -0,0 +1,21 @@
+{% extends "stats/index.html" %}
+{% load i18n %}
+
+{% block tabs %}
+ {% trans "Technicians" %}
+ {% trans "Locations" %}
+ {% trans "Queues" %}
+ {% trans "Repairs" %}
+ {% trans "Statuses" %}
+ {% trans "Sales" %}
+{% endblock tabs %}
+
+{% block stats %}
+ {% trans "Orders per location" %}
+ {% trans "Shows the number of orders with a particular status at the selected location that have been assigned to a technician over the specified time period." %}
+ {% include "stats/plot_snippet.html" with url="/stats/data/status/location/" %}
+
+ {% trans "Orders per user" %}
+ {% trans "Shows the number of orders with a particular status per each user at the given location that have been assigned to a technician over the specified time period." %}
+ {% include "stats/plot_snippet.html" with url="/stats/data/status/tech/" %}
+{% endblock stats %}
diff --git a/servo/templates/tabbed_form.html b/servo/templates/tabbed_form.html
new file mode 100755
index 0000000..03dae90
--- /dev/null
+++ b/servo/templates/tabbed_form.html
@@ -0,0 +1,14 @@
+
+{% for k, v in form.tabs %}
+ {{ k }}
+{% endfor %}
+
+
+{% for k, v in form.tabs %}
+
+
+ {% include "form_snippet.html" with form=v %}
+
+
+{% endfor %}
+
diff --git a/servo/templates/three_column_layout.html b/servo/templates/three_column_layout.html
new file mode 100755
index 0000000..e529e54
--- /dev/null
+++ b/servo/templates/three_column_layout.html
@@ -0,0 +1,27 @@
+{% extends "default.html" %}
+{% block content %}
+
+
+
+ {% block breadcrumb %}{% endblock breadcrumb %}
+
+
+
+
+
+ {% block left_column %}
+
+ {% endblock left_column %}
+
+
+ {% block middle_column %}
+
+ {% endblock middle_column %}
+
+
+ {% block right_column %}
+
+ {% endblock right_column %}
+
+
+{% endblock content %}
diff --git a/servo/templates/two_column_layout.html b/servo/templates/two_column_layout.html
new file mode 100755
index 0000000..6747eda
--- /dev/null
+++ b/servo/templates/two_column_layout.html
@@ -0,0 +1,18 @@
+{% extends "default.html" %}
+{% load i18n %}
+
+{% block content %}
+
+
{% block header_row %}{% endblock header_row %}
+
+
+
+ {% block first_column %}
+ {% endblock first_column %}
+
+
+ {% block second_column %}
+ {% endblock second_column %}
+
+
+{% endblock content %}
--
cgit v1.2.3