Commit Graph

665 Commits

Author SHA1 Message Date
OzzieIsaacs
429f4a11a9 Merge remote-tracking branch 'adv/es5-syntax' 2017-09-01 20:12:22 +02:00
OzzieIsaacs
5ee1950828 Merge remote-tracking branch 'adv/sqlalchemy-bool' 2017-09-01 20:11:48 +02:00
Jonathan Rehm
58abc1d024 Fuzzy match book titles to eliminate duplicates
Titles with a Levenshtein ratio of 70% or greater are considered duplicates.
2017-08-29 07:15:33 -07:00
Jonathan Rehm
53c687251e Show "More by" on author page
Uses Goodread's list of author's books, filtering out the books that are already in the user's library.

Requires the Goodreads dependency and API information.
2017-08-29 07:15:33 -07:00
Jonathan Rehm
6b8de017ab Use SQLAlchemy boolean
Seems to make a difference sometimes.

Ref #300
2017-08-29 07:14:57 -07:00
Jonathan Rehm
282837c7c5 Use ES5 syntax 2017-08-29 07:14:32 -07:00
Jonathan Rehm
8e1cfa1cbf Re-apply db_filter
Accidentally removed when the language and content filters were moved to `common_filters`.
2017-08-29 07:13:31 -07:00
Ivan Smirnov
12c98157d5 fix typo:: diffrent -> different 2017-08-27 19:31:58 -07:00
OzzieIsaacs
a8b53ab38a Merge remote-tracking branch 'adv/common-filters' 2017-08-27 09:36:02 +02:00
OzzieIsaacs
62f6bb4e64 Remove In author marker on authors page 2017-08-27 09:27:55 +02:00
OzzieIsaacs
d5e1dba0fe Merge remote-tracking branch 'adv/goodreads-more-by' 2017-08-27 09:24:02 +02:00
Jonathan Rehm
3213bf50b3 Move common filters into function
Instead of duplicating functionality across lots of functions, combine it into one common function. It makes reading and modifying it much easier.
2017-08-26 08:12:16 -07:00
Jonathan Rehm
374b5f4c6e Save ePub bookmarks to database
Save ePub bookmark to database. Also use library's built-in restore feature to restore all information from localStorage.
2017-08-23 08:55:40 -07:00
Jonathan Rehm
a682c95ec1 Show "More by" on author page
Uses Goodread's list of author's books, filtering out the books that are already in the user's library.

Requires the Goodreads dependency and API information.
2017-08-21 08:56:08 -07:00
OzzieIsaacs
193605df4a Fix for #286 2017-08-20 07:47:47 +02:00
OzzieIsaacs
cf5e2f7cd1 search button is displayed in moon reader (#283), search result is not displayed 2017-08-20 07:10:53 +02:00
OzzieIsaacs
f6425a6569 Merge remote-tracking branch 'adv/cache-buster' 2017-08-19 23:10:12 +02:00
Jonathan Rehm
cda733f4a4 Escape special characters in file names
Follows Calibre's convention of using underscores as replacements
2017-08-19 11:56:29 -07:00
Jonathan Rehm
8cbd6a8431 Do not append query string if file_hash is not found 2017-08-19 09:09:12 -07:00
Jonathan Rehm
13c2a53c0f Fix issues with Windows path separators 2017-08-19 08:32:00 -07:00
OzzieIsaacs
6b1f3aa531 Merge remote-tracking branch 'adv/cache-buster' 2017-08-19 08:36:12 +02:00
marblepebble
97f573c41a Set ipv4 address explicitly for docker usage 2017-08-18 21:53:52 +01:00
OzzieIsaacs
bd02c92162 Merge remote-tracking branch 'adv/get-meta-data' 2017-08-17 15:32:14 +02:00
OzzieIsaacs
e3d416db4c Merge remote-tracking branch 'adv/cover-upload' 2017-08-17 15:27:32 +02:00
Jonathan Rehm
866f7944eb Meta data improvements
* Add buttons to show/hide results from Douban & Google
* Trigger search with "Enter" key
* Use Underscore.js template instead of build HTML strings in JavaScript
* Keep click event handler in JavaScript instead of using HTML's `onclick`
* Normalize Douban & Google results
* Update cover image & add cover URL to the form input
2017-08-15 22:11:01 -07:00
OzzieIsaacs
a1538e12e8 Bugfix typeahead on advanced serach page 2017-08-14 20:30:23 +02:00
OzzieIsaacs
de112b0b05 Merge remote-tracking branch 'adv/eslint' 2017-08-14 20:21:52 +02:00
Jonathan Rehm
a27848b351 Add static asset cache busting
Calculates MD5 hash of static assets on server start. These are appended to the file name's when url_for is used, telling browsers to download the latest version of the files, e.g. style.css?q=81cf0ee.

Inspired by https://github.com/ChrisTM/Flask-CacheBust but uses query strings instead of rewriting the path because fonts inside CSS files break when the path is rewritten.
2017-08-13 09:32:29 -07:00
Jonathan Rehm
08d0404e9c Add mature_content property to Anonymous class 2017-08-13 07:05:45 -07:00
Jonathan Rehm
8171943b8e Update to ES5 standards
Also fix ESLint issues
2017-08-12 22:46:27 -07:00
OzzieIsaacs
91cdb5f60f Merge remote-tracking branch 'Upper_case/master' 2017-08-12 19:02:57 +02:00
OzzieIsaacs
2f7177742d Update chinese translation 2017-08-12 18:59:57 +02:00
OzzieIsaacs
dd6c928e2c Merge remote-tracking branch 'translation/master' 2017-08-12 18:55:08 +02:00
OzzieIsaacs
fb8ce693f3 Bugfix mature content
Update german translation
2017-08-12 18:52:56 +02:00
OzzieIsaacs
b596734c36 Merge remote-tracking branch 'adv/mature-content' 2017-08-12 18:16:45 +02:00
idalin
274d0f6577 update Chinese translations 2017-08-11 09:32:01 +08:00
idalin
2b27d6570f Merge branch 'janeczku-master' 2017-08-11 09:26:36 +08:00
idalin
b5cca553b3 update Chinese translations 2017-08-11 09:25:39 +08:00
kyos
9a17a09cc7 Fixed codacy requirements 2017-08-10 12:34:54 +02:00
Ruben Herold
68e3867af3 fix books with uppercase extension 2017-08-10 12:29:08 +02:00
kyos
aa4a5dc3ef Added option to upload a new format to a given book 2017-08-09 19:56:46 +02:00
Jonathan Rehm
6f797ba478 Check if JPEG via response content-type header instead of URL extension
That way we can use dynamic URLs, such as those returned by the "Get Metadata" request.
2017-08-09 10:03:02 -07:00
Jonathan Rehm
aee8aad976 Add option to hide mature content from some users
Uses a configurable list of tags to denote what is mature and hides those books from the user
2017-08-08 10:38:28 -07:00
Carlos Clavero
8f5bc2a484 Merge pull request #9 from Kyosfonica/add_css_separation_for_tags_in_advance_search
Added a 5px separation for all input labels in advanced search
2017-08-01 17:53:07 +02:00
kyos
e948844ea4 Added a 5px separation for all input labels in advanced search to improve readability 2017-08-01 17:51:38 +02:00
Carlos Clavero
1500e0f54f Merge pull request #8 from Kyosfonica/add_css_separation_for_tags_in_advance_search
Added a 5px separation for all input labels in advanced search
2017-08-01 17:50:24 +02:00
kyos
b6f097f673 Added a 5px separation for all input labels in advanced search to improve readability 2017-08-01 17:49:14 +02:00
Carlos Clavero
5f78ec4e83 Merge pull request #7 from Kyosfonica/add_css_separation_for_tags_in_advance_search
Added a 5px separation for all input labels in advanced search
2017-08-01 17:46:13 +02:00
kyos
6048bf3c79 Added a 5px separation for all input labels in advanced search to improve readability 2017-07-31 20:01:55 +02:00
Carlos Clavero
80c021939e Merge pull request #6 from Kyosfonica/master
Update dev with latests changes from master
2017-07-31 18:17:59 +02:00
kyos
51bc0e82a4 Added series and series_index metadata handler 2017-07-31 09:00:09 +02:00
kyos
4bba3558b7 Added tags metadata handler for epubs 2017-07-31 08:46:29 +02:00
OzzieIsaacs
fe52de6b4b Merge remote-tracking branch 'adv/lighthouse-audit' 2017-07-30 06:59:12 +02:00
OzzieIsaacs
cd2e27d7ad Merge remote-tracking branch 'adv/previous-pagination' 2017-07-30 06:51:05 +02:00
OzzieIsaacs
82165a67a1 Merge remote-tracking branch 'mail/master' 2017-07-30 06:44:10 +02:00
OzzieIsaacs
626e2e393e Merge remote-tracking branch 'adv/edit-publish-date' 2017-07-30 06:37:18 +02:00
Mikhail Akushsky
4313910ba0 Fix hmac creation in send_test_email function 2017-07-29 18:06:16 +03:00
Jonathan Rehm
ec118c2254 Move scripts to bottom of body to prevent execution from delaying DOM rendering 2017-07-28 20:07:10 -07:00
Jonathan Rehm
dde4f6afe2 Add missing label 2017-07-28 20:03:43 -07:00
Jonathan Rehm
0b47958fad Add lang attribute to html tag 2017-07-28 20:03:23 -07:00
Jonathan Rehm
c86fa268c2 Fix/remove duplicate id's 2017-07-28 20:02:53 -07:00
Jonathan Rehm
5162e2eed7 Add img alt attributes 2017-07-28 20:01:31 -07:00
Jonathan Rehm
5465b8e8b7 Add "Previous" pagination button
I imagine these buttons are still in use when JavaScript is disabled or not loading.
2017-07-28 07:38:35 -07:00
Jonathan Rehm
0afc8f94da Use TinyMCE's API to update the description's content 2017-07-25 13:16:12 -07:00
Jonathan Rehm
dd124ab356 Make change requested by Codacy 2017-07-23 13:36:21 -07:00
Jonathan Rehm
59afc7eb9f Make changes requested by Codacy 2017-07-23 13:36:21 -07:00
Jonathan Rehm
3258f4fb79 Make changes requested by Codacy 2017-07-23 13:36:21 -07:00
Jonathan Rehm
61e0405f75 Move TinyMCE into edit_books.js 2017-07-23 13:36:21 -07:00
Jonathan Rehm
5715d27c97 Show localized date over top of date input
Also move datepicker logic into edit_books.js and edit_books.js below the datepicker file declaration(s)
2017-07-23 13:36:21 -07:00
Jonathan Rehm
36c2b35588 Use bootstrap-datepicker to add datepicking UI for browsers that do not have one built-in 2017-07-23 13:35:35 -07:00
Jonathan Rehm
cc916a4eb4 Add timestamp to default publishing date 2017-07-23 13:35:35 -07:00
Jonathan Rehm
a07798b0db Standardize indentation 2017-07-23 13:35:35 -07:00
Jonathan Rehm
04b04e200f Add ability to edit publish date
If a date is not set, default to “0101-01-01”
2017-07-23 13:35:35 -07:00
Jonathan Rehm
cf7196ae5e Refactor to remove nested if-statements 2017-07-23 13:35:35 -07:00
Jonathan Rehm
a95e6aab6b Do not attempt to create the YAML file when Google Drive is disabled (#246) 2017-07-23 22:26:43 +02:00
OzzieIsaacs
cb5f196f4b Merge remote-tracking branch 'adv/modal-details'
# Conflicts:
#	cps/static/js/main.js
#	cps/templates/detail.html
2017-07-23 14:03:02 +02:00
OzzieIsaacs
1e2edcf753 Merge remote-tracking branch 'adv/author-info' 2017-07-23 13:36:50 +02:00
OzzieIsaacs
df1b503c2d Update Translation 2017-07-23 13:25:54 +02:00
OzzieIsaacs
c403fdfa2e Merge remote-tracking branch 'adv/sorting' 2017-07-23 13:18:24 +02:00
OzzieIsaacs
97d577ef2e Merge remote-tracking branch 'adv/add-to-shelf-ajax' 2017-07-23 13:16:20 +02:00
OzzieIsaacs
4311091d7d Merge remote-tracking branch 'adv/python3-fix' 2017-07-23 13:11:37 +02:00
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
Ozzie Isaacs
2e8a268dfa Fix #241 No1 2017-07-18 20:39:35 +02:00
OzzieIsaacs
6a9d8efc93 Fixes for #233 (detection of permission errors) 2017-07-16 22:04:40 +02: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
OzzieIsaacs
5985342b79 Bugfix for typeahead in search function and on edit books page 2017-07-11 18:08:12 +02:00
OzzieIsaacs
a8aa1e7623 Merge remote-tracking branch 'button_padding/limit-typeahead-requests' 2017-07-11 17:48:33 +02:00
OzzieIsaacs
cfa69ff4f2 Merge remote-tracking branch 'button_padding/smtp-from' 2017-07-11 17:38:52 +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
Ozzie Isaacs
f79fb420ba Removed whitespaces 2017-07-11 16:13:33 +02: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
Ozzie Isaacs
92f634b6a6 Bugfix link admin section 2017-07-10 12:04:15 +02:00
OzzieIsaacs
74e93e1cdf Code cosmetics 2017-07-09 20:15:15 +02:00
OzzieIsaacs
1fdb7dc497 Epub Viewer Bugfix Retenia Ipad devices 2017-07-09 16:28:22 +02:00
OzzieIsaacs
16ce7799a2 Improvement of margins in epub reader (fix #210) 2017-07-09 15:49:47 +02:00
OzzieIsaacs
470aea6106 Fix #214
Update epub.js lib
2017-07-09 13:27:56 +02:00
OzzieIsaacs
979bcdffd4 Bugfix non working download links
Bugfix missing divider in detail page
2017-07-09 12:41:09 +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
OzzieIsaacs
31e0025099 Update Translation 2017-07-08 19:50:44 +02:00
OzzieIsaacs
5a6ad970d8 Merge remote-tracking branch 'button_padding/magic-link' 2017-07-08 19:26:08 +02: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
OzzieIsaacs
93dfb96174 Added Translation of title for read/unread books 2017-07-08 16:47:07 +02:00
OzzieIsaacs
f446e29276 Updater now uses correct "gid" instead of "uid" for change ownership of files (Fix for #213 ) -> update should now working if user id differs from groupid 2017-07-08 14:57:39 +02:00
OzzieIsaacs
2929d95b26 Display all authors names in shelf, like on all other pages (#202) 2017-07-08 13:50:21 +02:00
OzzieIsaacs
aed626b91b Merge remote-tracking branch 'button_padding/read-unread-counts' 2017-07-08 11:26:07 +02:00
OzzieIsaacs
254e1f5262 Merge remote-tracking branch 'button_padding/simplify-read-code'
# Conflicts:
#	cps/static/css/style.css
2017-07-08 11:25:20 +02:00
OzzieIsaacs
15531324ea Add translation of rich text editor 2017-07-08 11:19:36 +02:00
OzzieIsaacs
77c4da0f07 Merge remote-tracking branch 'button_padding/tinymce' 2017-07-08 11:03:21 +02:00
OzzieIsaacs
4f08608d75 Move download button to top of detail page (#174) 2017-07-08 11:01:40 +02:00
OzzieIsaacs
b876a03f26 - Changed link color on download button to white
- removed file icons on download button
- removed shadow style on download button
2017-07-08 10:57:40 +02:00
OzzieIsaacs
6b71e77436 Merge remote-tracking branch 'Download/feature/download-icon-20170410' 2017-07-08 09:35:09 +02: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
OzzieIsaacs
5276bda153 Merge remote-tracking branch 'button_padding/pad-buttons' 2017-07-06 20:31:25 +02: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
OzzieIsaacs
752b813119 Added copyright for language names translations 2017-06-24 13:08:57 +02:00
OzzieIsaacs
0e8d5f158c Dutch translation included (#207) 2017-06-24 13:04:09 +02:00
Jonathan Rehm
7853cb2602 Add TinyMCE to provide rich-text editing for descriptions 2017-06-22 08:59:28 -07:00
OzzieIsaacs
4ea9df753e For failed logins the source ip-adress is logged now ( #201) 2017-06-07 18:08:15 +02:00
OzzieIsaacs
e6c6c26fd1 No error 500 if kindlegen is not excecutable 2017-05-25 09:30:20 +02:00
OzzieIsaacs
0a08a07193 Fixed Deleting user 2017-05-25 09:09:35 +02:00
OzzieIsaacs
7ab8a5877b read PDF/TXT without temporary files (#197) 2017-05-25 08:46:33 +02:00
OzzieIsaacs
1366b36c32 Added integer-field to supported custom colums 2017-05-25 08:20:19 +02:00
nanu-c
3acf80c42b remove debuggingtool 2017-05-22 23:06:55 +02:00
nanu-c
26f314d371 support int custom fields 2017-05-22 22:54:53 +02:00
OzzieIsaacs
5f4d839895 Better output messages for failed kindlegen conversions (fix #191) 2017-05-19 21:30:39 +02:00
OzzieIsaacs
38fa9ce206 At deleting a book, the book is also deleted from all Shelfs, Download list and read list (#192) 2017-05-19 20:36:58 +02:00
OzzieIsaacs
2b50dea304 Updated pdf.js to 1.7.225 (Fix #193) 2017-05-13 14:01:52 +02:00
OzzieIsaacs
a73372d71a Make kindlegen work again 2017-05-05 21:05:52 +02:00
OzzieIsaacs
6d597f96e5 Integrate Iso639 language name translations to russian translation 2017-05-01 16:24:20 +02:00
Pavel Korovin
a305b65299 Added Russian translation 2017-04-30 22:54:16 +03:00
Murat L
b6fccbd486 Added Google Books and Kobo links (#189)
* Added Google Books and Kobo links

* International link to google
2017-04-27 14:32:30 +01:00
Ozzie Isaacs
4259aa69df Get rid of shel=true again 2017-04-26 19:39:45 +01:00
Ozzie Isaacs
2d918bfb72 Fix for invalid db path 2017-04-26 19:21:40 +01:00
林檎
95f22aa4b5 add drop shadow to distinct the fixed area 2017-04-26 17:14:18 +08:00
林檎
f6076bc337 media tweak for better download placement 2017-04-26 17:14:18 +08:00
林檎
720c07b9ee remove empty style 2017-04-26 17:14:18 +08:00
林檎
45eeb6588a Change Download Style. 2017-04-26 17:14:18 +08:00
Ozzie Isaacs
b8fa748c49 Fix #187 on linux 2017-04-25 22:04:08 +01:00