mirror of
https://github.com/JonathanHerrewijnen/calibre-web.git
synced 2024-11-10 21:24:15 +00:00
Delete books in shelfs, downloaded books, kobo sync status, etc on database change (fixes #620)
This commit is contained in:
parent
91a21ababe
commit
bd01e840ca
11
cps/admin.py
11
cps/admin.py
@ -1186,11 +1186,20 @@ def _db_configuration_update_helper():
|
|||||||
if not calibre_db.setup_db(to_save['config_calibre_dir'], ub.app_DB_path):
|
if not calibre_db.setup_db(to_save['config_calibre_dir'], ub.app_DB_path):
|
||||||
return _db_configuration_result(_('DB Location is not Valid, Please Enter Correct Path'),
|
return _db_configuration_result(_('DB Location is not Valid, Please Enter Correct Path'),
|
||||||
gdrive_error)
|
gdrive_error)
|
||||||
|
# if db changed -> delete shelfs, delete download books, delete read books, kobo sync...
|
||||||
|
ub.session.query(ub.Downloads).delete()
|
||||||
|
ub.session.query(ub.ArchivedBook).delete()
|
||||||
|
ub.session.query(ub.ArchivedBook).delete()
|
||||||
|
ub.session.query(ub.ReadBook).delete()
|
||||||
|
ub.session.query(ub.BookShelf).delete()
|
||||||
|
ub.session.query(ub.Bookmark).delete()
|
||||||
|
ub.session.query(ub.KoboReadingState).delete()
|
||||||
|
ub.session.query(ub.KoboStatistics).delete()
|
||||||
|
ub.session.query(ub.KoboSyncedBooks).delete()
|
||||||
_config_string(to_save, "config_calibre_dir")
|
_config_string(to_save, "config_calibre_dir")
|
||||||
calibre_db.update_config(config)
|
calibre_db.update_config(config)
|
||||||
if not os.access(os.path.join(config.config_calibre_dir, "metadata.db"), os.W_OK):
|
if not os.access(os.path.join(config.config_calibre_dir, "metadata.db"), os.W_OK):
|
||||||
flash(_(u"DB is not Writeable"), category="warning")
|
flash(_(u"DB is not Writeable"), category="warning")
|
||||||
# warning = {'type': "warning", 'message': _(u"DB is not Writeable")}
|
|
||||||
config.save()
|
config.save()
|
||||||
return _db_configuration_result(None, gdrive_error)
|
return _db_configuration_result(None, gdrive_error)
|
||||||
|
|
||||||
|
@ -550,11 +550,8 @@ class CalibreDB():
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setup_db(cls, config_calibre_dir, app_db_path):
|
def setup_db(cls, config_calibre_dir, app_db_path):
|
||||||
# cls.config = config
|
|
||||||
cls.dispose()
|
cls.dispose()
|
||||||
|
|
||||||
# toDo: if db changed -> delete shelfs, delete download books, delete read boks, kobo sync??
|
|
||||||
|
|
||||||
if not config_calibre_dir:
|
if not config_calibre_dir:
|
||||||
cls.config.invalidate()
|
cls.config.invalidate()
|
||||||
return False
|
return False
|
||||||
|
@ -284,11 +284,7 @@ $(function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function fillFileTable(path, type, folder, filt) {
|
function fillFileTable(path, type, folder, filt) {
|
||||||
if (window.location.pathname.endsWith("/basicconfig")) {
|
var request_path = "/../../ajax/pathchooser/";
|
||||||
var request_path = "/../basicconfig/pathchooser/";
|
|
||||||
} else {
|
|
||||||
var request_path = "/../../ajax/pathchooser/";
|
|
||||||
}
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
data: {
|
data: {
|
||||||
|
@ -1525,9 +1525,6 @@ def register():
|
|||||||
|
|
||||||
@web.route('/login', methods=['GET', 'POST'])
|
@web.route('/login', methods=['GET', 'POST'])
|
||||||
def login():
|
def login():
|
||||||
#if not config.db_configured:
|
|
||||||
# log.debug(u"Redirect to initial configuration")
|
|
||||||
# return redirect(url_for('admin.basic_configuration'))
|
|
||||||
if current_user is not None and current_user.is_authenticated:
|
if current_user is not None and current_user.is_authenticated:
|
||||||
return redirect(url_for('web.index'))
|
return redirect(url_for('web.index'))
|
||||||
if config.config_login_type == constants.LOGIN_LDAP and not services.ldap:
|
if config.config_login_type == constants.LOGIN_LDAP and not services.ldap:
|
||||||
|
Loading…
Reference in New Issue
Block a user