Skip to content

Instantly share code, notes, and snippets.

@PaulChristmas
Created April 20, 2016 16:08
Show Gist options
  • Save PaulChristmas/fd49eddf7b152846835eeec36168f42e to your computer and use it in GitHub Desktop.
Save PaulChristmas/fd49eddf7b152846835eeec36168f42e to your computer and use it in GitHub Desktop.

New T-Library

Fixed bugs from old version

  • Теперь работает форма создания книги у администратора (раньше падала)
  • Поисковик в библиотеке работает
  • Когда администратору падает заявка от пользователя на взятие книги из библиотеки, администратор жмет кнопочку и сразу генерится письмо на адрес пользователя с заготовленным тексом "Добрый день! Заберите книгу в 7.3". Это вроде уже было, но видимо имелось в виду что надо добавить третье состояние заказа: сначала пользователь заказывает книгу, затем администратор нажимает кнопку и пользователю приходит письмо с указанным выше текстом, а когда пользователь уже сам лично является за книгой, администратор переводит заказ в новое состояние и уже с этого момента начинается отсчет времени.

New features

  • Добавлены фильтры для поисковика по библиотеке - по авторам, названиям и описаниям (теперь уже их состояния сохраняются в куки)
  • Поисковик умеет исправлять опечатки
  • Сделана пагинация вывода книг на главной странице
  • Добавлены фильтры вывода книг. Все книги выводятся в порядке их добавления (на первых страницах - самые новые)
  1. Самые популярные. Теперь для каждой из книг ведется подсчет - сколько раз ее брали. Исходя из этого формируется сей список.
  2. Доступные. Которые можно взять. Ну, очевидно
  3. Все книги. Ну, совсем очевидно. По умолчанию выводятся все книги
  4. Wishlist - список пожеланий пользователей. Эти книги пока не наличествуют в библиотеке и вместе с остальными, имеющими честь там быть, не выводятся. Каждая книга в этом списке не кликабельна (ибо зачем?), за исключением ссылки на нее на каком-нибудь сайте, которая выводится вместо описания, и имеет статус заказа (заявка рассматривается, заявка принята и ожидание доставки), каждый из которых для пущей наглядности подсвечивается своим оттенком серого. Также напротив статуса имеется кнопка лайка, которая после нажатия превращается в жизнеутверждающий кулак. Каждый пользователь может проголосовать за любую понравившуюся книгу, чтобы повысить ее приоритетность в глазах админа, но увы, лишь однажды. После исполнения такого пожелания, администратор нажимает у себя соответсвующую кнопочку и книга автоматически перекидывается в список всех остальных. А админ перекидывается на формочку, в которой уже заполнены имя и автор, дабы дозаполнить поля остальные (категория, количество и описание).
  • Кнопка "заказать книгу". Любой пользователь, изволивший залогиниться, сможет лицезреть в левом нижнем углу, сразу за категориями, кнопочку. Заполнив форму, появившуюся в результате нажатия на нее (автор, название и ссылка на книгу в каком-нибудь интернет-ресурсе - все они, кстати, обязательны для заполения), он будет незамедлительно перенаправлен на упомянутый выше в 4 пункте wishlist, где на самом верху первой страницы сможет лицезреть результат своих трудов.
  • FAQ. (саерху справа находится). Выводятся вопросы, на которые есть ответ. Сами вопросы может задать кто угодно - админ это потом увидит у себя и сможет ответить на них, ну или удалить. Или сам себя спросить, если вдруг какой-то очень интересный вопрос почему-то никто не задает.
  • Переписана почти вся админка. Ну мне кажется, так прикольнее. Тебе вроде тоже понравилось. Хотя реакция Маши была очень неоднозначной - я не понял понравилось ей или нет.
  1. Добавлен раздел для wishlist. Тут вроде все очевидно - основная инфа по книге, книги отсортированы по приоритету (количеству лайков), ну и напротив каждой - статус заказа, который можно менять.
  2. Добавлен раздел для faq. Тоже все просто - есть вопросы, сначала все красные. Как только у них усилиями админа появляется ответ - становятся зелеными. Можно редактировать как ответы, так и вопросы. Можно убрать ответ, если понял что написал какую-то дичь и опять сделать его красным. Зеленые выводятся на всеобщее обозрение, красные - нет.
  3. Переписаны категории и заказы - но тут функционал такой же, поэтому едем дальше.
  4. Раздел с книгами. Все выводятся в одну кучу. Зеленые - есть в наличии, красные - в принципе есть, но сейчас все на руках, синие - пожелания пользователей. Форму редактирования книги я переписал, создания новой - пока не трогал, далее объясню почему. Можно их удалять еще, но только лишь те, которые не находятся на руках у кого-нибудь.

Plans for future

  • Сделать разумное добавление обложек на книги. Сейчас дела обстоят так. Можно добавить обложку вручную, положив изображение в определенную папку проекта и назвав его определенным образом. Можно добавить изображение при создании книги (books/new). При редактировании (books/edit) - пока нельзя. У меня это готово частично, но закомментировано и пока не показывается. В старом варианте books/edit тоже почему-то не работало. вот я и решил переписать. А когда будет готово для books/edit, я в таком же стиле сделаю для books/new.
  • Пагинация в /books.
  • Возможность выбрать локацию, где забрать книгу.
  • Возможность откатывать состояние заказа в wishlist.
  • Возможность удалять заказы. (если мсье уволился, например)
  • Возможность пользователя передать свою книгу другому человеку
  • Возможность администратора самому назначить определенную книгу определенному пользователю (если он например пришел лично и не делал предзаказ)
  • Подумать над тем, как можно чекать одинаковые книги в wishlist (хотя я думаю это лишнее. пускай админ чекает, да и пользователь не дурак - сначала посмотрит что уже в вишлисте есть)
@PaulChristmas
Copy link
Author

PaulChristmas commented Apr 22, 2016

  • Было бы неплохо сделать для каждого пользователя что-то типа личного кабинета. Куда он сможет зайти, посмотреть какие книги взяты и как скоро ему надо каждую из них вернуть. Там же он сможет сделать еще какие-нибудь полезные вещи - например отправить заявку на продление книги администратору или передать ее другому кексу.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment