mirror of
				https://github.com/janeczku/calibre-web
				synced 2025-10-30 23:03:02 +00:00 
			
		
		
		
	Improved error handling for disapearing custom column linked to visiblility restrictions
This commit is contained in:
		| @@ -749,10 +749,10 @@ def add_restriction(res_type, user_id): | ||||
|             usr = current_user | ||||
|         if 'submit_allow' in element: | ||||
|             usr.allowed_tags = restriction_addition(element, usr.list_allowed_tags) | ||||
|             ub.session_commit("Changed allowed tags of user {} to {}".format(usr.name, usr.list_allowed_tags)) | ||||
|             ub.session_commit("Changed allowed tags of user {} to {}".format(usr.name, usr.list_allowed_tags())) | ||||
|         elif 'submit_deny' in element: | ||||
|             usr.denied_tags = restriction_addition(element, usr.list_denied_tags) | ||||
|             ub.session_commit("Changed denied tags of user {} to {}".format(usr.name, usr.list_denied_tags)) | ||||
|             ub.session_commit("Changed denied tags of user {} to {}".format(usr.name, usr.list_denied_tags())) | ||||
|     if res_type == 3:  # CustomC per user | ||||
|         if isinstance(user_id, int): | ||||
|             usr = ub.session.query(ub.User).filter(ub.User.id == int(user_id)).first() | ||||
| @@ -761,11 +761,11 @@ def add_restriction(res_type, user_id): | ||||
|         if 'submit_allow' in element: | ||||
|             usr.allowed_column_value = restriction_addition(element, usr.list_allowed_column_values) | ||||
|             ub.session_commit("Changed allowed columns of user {} to {}".format(usr.name, | ||||
|                                                                                 usr.list_allowed_column_values)) | ||||
|                                                                                 usr.list_allowed_column_values())) | ||||
|         elif 'submit_deny' in element: | ||||
|             usr.denied_column_value = restriction_addition(element, usr.list_denied_column_values) | ||||
|             ub.session_commit("Changed denied columns of user {} to {}".format(usr.name, | ||||
|                                                                                usr.list_denied_column_values)) | ||||
|                                                                                usr.list_denied_column_values())) | ||||
|     return "" | ||||
|  | ||||
|  | ||||
|   | ||||
							
								
								
									
										11
									
								
								cps/db.py
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								cps/db.py
									
									
									
									
									
								
							| @@ -44,6 +44,7 @@ from flask_login import current_user | ||||
| from babel import Locale as LC | ||||
| from babel.core import UnknownLocaleError | ||||
| from flask_babel import gettext as _ | ||||
| from flask import flash | ||||
|  | ||||
| from . import logger, ub, isoLanguages | ||||
| from .pagination import Pagination | ||||
| @@ -606,6 +607,7 @@ class CalibreDB(): | ||||
|         neg_content_tags_filter = false() if negtags_list == [''] else Books.tags.any(Tags.name.in_(negtags_list)) | ||||
|         pos_content_tags_filter = true() if postags_list == [''] else Books.tags.any(Tags.name.in_(postags_list)) | ||||
|         if self.config.config_restricted_column: | ||||
|             try: | ||||
|                 pos_cc_list = current_user.allowed_column_value.split(',') | ||||
|                 pos_content_cc_filter = true() if pos_cc_list == [''] else \ | ||||
|                     getattr(Books, 'custom_column_' + str(self.config.config_restricted_column)). \ | ||||
| @@ -614,6 +616,15 @@ class CalibreDB(): | ||||
|                 neg_content_cc_filter = false() if neg_cc_list == [''] else \ | ||||
|                     getattr(Books, 'custom_column_' + str(self.config.config_restricted_column)). \ | ||||
|                         any(cc_classes[self.config.config_restricted_column].value.in_(neg_cc_list)) | ||||
|             except (KeyError, AttributeError): | ||||
|                 pos_content_cc_filter = false() | ||||
|                 neg_content_cc_filter = true() | ||||
|                 log.error(u"Custom Column No.%d is not existing in calibre database", | ||||
|                           self.config.config_restricted_column) | ||||
|                 flash(_("Custom Column No.%(column)d is not existing in calibre database", | ||||
|                         column=self.config.config_restricted_column), | ||||
|                       category="error") | ||||
|  | ||||
|         else: | ||||
|             pos_content_cc_filter = true() | ||||
|             neg_content_cc_filter = false() | ||||
|   | ||||
| @@ -184,8 +184,8 @@ def toggle_read(book_id): | ||||
|                 calibre_db.session.add(new_cc) | ||||
|                 calibre_db.session.commit() | ||||
|         except (KeyError, AttributeError): | ||||
|             log.error(u"Custom Column No.%d is not exisiting in calibre database", config.config_read_column) | ||||
|             return "Custom Column No.{} is not exisiting in calibre database".format(config.config_read_column), 400 | ||||
|             log.error(u"Custom Column No.%d is not existing in calibre database", config.config_read_column) | ||||
|             return "Custom Column No.{} is not existing in calibre database".format(config.config_read_column), 400 | ||||
|         except (OperationalError, InvalidRequestError) as e: | ||||
|             calibre_db.session.rollback() | ||||
|             log.error(u"Read status could not set: %e", e) | ||||
| @@ -1126,7 +1126,7 @@ def adv_search_read_status(q, read_status): | ||||
|                     q = q.join(db.cc_classes[config.config_read_column], isouter=True) \ | ||||
|                         .filter(coalesce(db.cc_classes[config.config_read_column].value, False) != True) | ||||
|             except (KeyError, AttributeError): | ||||
|                 log.error(u"Custom Column No.%d is not exisiting in calibre database", config.config_read_column) | ||||
|                 log.error(u"Custom Column No.%d is not existing in calibre database", config.config_read_column) | ||||
|                 flash(_("Custom Column No.%(column)d is not existing in calibre database", | ||||
|                         column=config.config_read_column), | ||||
|                       category="error") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Ozzieisaacs
					Ozzieisaacs