This PR allows users to mark books as done, and then unmark them as done. The Book backend object is altered to extend BaseEntity to handle ids and the hasRead field is removed. Book objects will be created when users mark a book as read, and deleted when they unmark as read, so the hasRead field serves no purpose. The BookServlet is altered to use the Utility class.
All pages now use the same booktiles, modeled after the inline book tiles from the ListPage. All these tiles have a Mark as Read button if a Book object exists, and an Unmark as Read if not. When rendering booktiles, the backend is queried to see if there is a Book object with the given gbookID and userID.
This PR allows users to mark books as done, and then unmark them as done. The
Book
backend object is altered to extendBaseEntity
to handleids
and thehasRead
field is removed. Book objects will be created when users mark a book as read, and deleted when they unmark as read, so the hasRead field serves no purpose. TheBookServlet
is altered to use theUtility
class.All pages now use the same booktiles, modeled after the inline book tiles from the
ListPage
. All these tiles have a Mark as Read button if a Book object exists, and an Unmark as Read if not. When rendering booktiles, the backend is queried to see if there is a Book object with the givengbookID
anduserID
.Mark as read/unread:
New search tiles: