Commit Graph
21 Commits
Author SHA1 Message Date
Jonathan Rehm 693c26c2b3 Attach events to button toolbar
Since this is closer to the elements, we can be more sure that we won't have events fire when we don't want them to. For example, if we're viewing the page in a modal, we don't want the event handler living longer than the content itself.
2017-07-22 11:24:47 -07:00
Jonathan Rehm d85e0b96dc Prevent jQuery from cache busting static assets
If the HTML that's returned from the `$.get` request contains a `<script src="..."/>` tag it loads the JavaScript file via ajax, and by default it attaches a timestamp to it to bust cache. That means the file loads every time the modal is opened, and the browser treats it as a new file each time. The result is that code fires multiple times and events listeners are added multiple times.
2017-07-22 11:11:14 -07:00
Jonathan Rehm e1a88aa0ab Make change requested by Codacy 2017-07-22 07:34:38 -07:00
Jonathan Rehm 5c3a5b6c39 Use ajax to add/remove books from shelves
Gracefully fall back to standard requests if JavaScript is disabled
2017-07-21 21:15:03 -07:00
Jonathan Rehm 85ce06850c Fix for Python 3 2017-07-13 21:28:00 -07:00
Jonathan Rehm 91ba0f0362 Resolve issues with unicode characters in author's name
I've been unable to reproduce the issue on macOS with Python 2.7/3.6 and Fedora with Python 2.7, but if it happens for others, then it's worth the change.
2017-07-13 21:22:34 -07:00
Jonathan Rehm 51bd2f89df Use dot notation 2017-07-13 18:09:33 -07:00
Jonathan Rehm c9c6529567 Use SECRET_KEY from environment variable (#232) 2017-07-11 18:35:55 +02:00
Jonathan Rehm 9683d50f36 Send mail from the FROM address instead of the login
When SMTP is configured to use a service that doesn't use an email address to log in – e.g. AWS SES or Postmark – the sendmail request fails saying the FROM address is invalid.
2017-07-11 07:16:19 -07:00
Jonathan Rehm 802eb628c8 Split event listener and selector string
Event and selectors appear to have been accidentally combined. The result is that typing in any input triggers a call to the `/get_matching_tags` route. We can probably limit the selector farther to only fire when `#tags` is typed into.
2017-07-10 13:03:58 -07:00
Jonathan Rehm 66231c8737 Associate label with correct input (#228) 2017-07-10 19:26:57 +02:00
Jonathan Rehm fe68c8a7f8 Add support for displaying author information from Goodreads
Requires the "goodread" module (added to optional-requirements.txt) and an API key

Retrieves Goodreads author information and displays their photo and "about" text
2017-07-08 16:07:45 -07:00
Jonathan Rehm d799b859ea Make changes suggested by codacy 2017-07-08 09:15:40 -07:00
Jonathan Rehm 649579eccd Move jquery.form to layout.html
This prevents it from getting loaded each time the details are viewed in a modal dialog.
2017-07-08 09:15:40 -07:00
Jonathan Rehm 675e8dd5cd Show book details in modal dialog
With them shown in a modal, you don't lose your place in the pagination. If the request comes via Ajax, the minimal layout is used. If via a normal request, the full layout is used. That lets you open the details in a new tab and have the full experience, but if you're clicking through the results of a search, you can view many without losing your place.
2017-07-08 09:15:40 -07:00
Jonathan Rehm 623f5c8ef0 Add "magic link" functionality
When using a device that is bothersome to log in on (e.g. a Kindle) you can use a magic link to log in via another device.

Configuration was added and is disabled by default.
2017-07-07 18:29:16 -07:00
Jonathan Rehm b138c9edd5 Show read/unread counts 2017-07-06 22:33:57 -07:00
Jonathan Rehm 7631eea32e Add sort options when viewing books
Default view still shows the most recently added books, but adds ability to sort by newest/oldest books and books sorted alphabetically (ascending & descending).

I did not include translations for the next text, but they are split up for easy translating and are otherwise ready for translating.
2017-07-06 21:14:45 -07:00
Jonathan Rehm 4fe1536b7e Simplify the read functionality's code
* Use block label to toggle the checkbox
* Submit form when checkbox's value changes (regardless of whether mouse is used or not)
* Remove unused code
2017-07-06 10:33:47 -07:00
Jonathan Rehm d25300a7fb Add padding to bottom of buttons on shelf page
This adds some space between the buttons when viewing them on a mobile device.
2017-07-06 07:44:28 -07:00
Jonathan Rehm 7853cb2602 Add TinyMCE to provide rich-text editing for descriptions 2017-06-22 08:59:28 -07:00