/avermaster-test-task

Test task for Django Developer position done in March 2016

Primary LanguagePython

avermaster-test-task

Тестовое задание http://avermaster.ru/task/task.html

Необходимо разработать простой справочник заказов, содержащий описанный ниже функционал.

Форма создания/редактирования заказа. Состоит из двух частей:

1. Данные заказчика

Поля:

  • Номер телефона (10 цифр без 8)
  • Фамилия
  • Имя
  • Адрес

Все поля обязательны для заполнения.

2. Товары заказа.

Заказ может содержать одну или несколько (но не меньше одной) строки заказа. Каждая строка заказа содержит:

  • Наименование товара
  • Стоимость единицы
  • Количество

Все поля обязательны для заполнения

Создание позиций заказа делается (на выбор) одним из двух способов:

  • Оптимальный вариант Добавление и удаление строк происходит динамически при помощи JS. В форме заказа пользователь должен видеть общую стоимость заказа, которая обновляется динамически при добавлении и редактировании позиций заказа.
  • Альтернативный вариант В форме отображается всегда три строки для товаров заказа, пользователь может заполнить одну или несколько. Если в какой-либо строке введены пустые значения, товар не сохраняется в БД

Отдельный справочник покупателей и товаров не требуется, данные покупателя, а также наименования и стоимость товаром может храниться вместе с заказом.

Список заказов.

Таблица со списком заказов должна содержать следующие столбцы:

  • Дата создания заказа (формат 01.01.2000 23:59)
  • Дата последнего изменения заказа (формат 01.01.2000 23:59)
  • Номер телефона (в формате "+7 (999) 00-00-000")
  • Полное имя (Фамилия Имя)
  • Адрес
  • Общая стоимость заказа
  • Редактирование заказа
  • Отправить заказ в архив

Возможна сортировка по всем столбцам. Постраничная навигация, размер страницы 20 строк.

Над таблицей располагаются фильтры:

  • Дата заказа: от/до
  • Номер телефона
  • Показывать архивные заказы (checkbox, по умолчанию выключен). Архивные заказы отображаются в таблице серым цветом.

Зависимости:

  • Django==1.4.22
  • South==1.0.2
  • django-daterange-filter==1.2.0

Конфигурация: поменять значение настройки TEMPLATE_DIRS В Test_task_avemaster/settings на соответсвующий путь.

Администрация: логин admin, пароль 123.