mirror of
				https://github.com/janeczku/calibre-web
				synced 2025-10-31 15:23:02 +00:00 
			
		
		
		
	Improved error handling for disapearing custom column linked to read status
This commit is contained in:
		| @@ -474,14 +474,14 @@ def update_table_settings(): | ||||
|     return "" | ||||
|  | ||||
| def check_valid_read_column(column): | ||||
|     if column is not "0": | ||||
|     if column != "0": | ||||
|         if not calibre_db.session.query(db.Custom_Columns).filter(db.Custom_Columns.id == column) \ | ||||
|               .filter(and_(db.Custom_Columns.datatype == 'bool', db.Custom_Columns.mark_for_delete == 0)).all(): | ||||
|             return False | ||||
|     return True | ||||
|  | ||||
| def check_valid_restricted_column(column): | ||||
|     if column is not "0": | ||||
|     if column != "0": | ||||
|         if not calibre_db.session.query(db.Custom_Columns).filter(db.Custom_Columns.id == column) \ | ||||
|               .filter(and_(db.Custom_Columns.datatype == 'text', db.Custom_Columns.mark_for_delete == 0)).all(): | ||||
|             return False | ||||
|   | ||||
| @@ -22,7 +22,21 @@ $(function() { | ||||
| }); | ||||
|  | ||||
| $("#have_read_cb").on("change", function() { | ||||
|     $(this).closest("form").submit(); | ||||
|     $.post({ | ||||
|         url: this.closest("form").action, | ||||
|         error: function(response) { | ||||
|             var data = [{type:"danger", message:response.responseText}] | ||||
|             $("#flash_success").remove(); | ||||
|             $("#flash_danger").remove(); | ||||
|             if (!jQuery.isEmptyObject(data)) { | ||||
|                 data.forEach(function (item) { | ||||
|                     $(".navbar").after('<div class="row-fluid text-center" style="margin-top: -20px;">' + | ||||
|                         '<div id="flash_' + item.type + '" class="alert alert-' + item.type + '">' + item.message + '</div>' + | ||||
|                         '</div>'); | ||||
|                 }); | ||||
|             } | ||||
|         } | ||||
|     }); | ||||
| }); | ||||
|  | ||||
| $(function() { | ||||
|   | ||||
							
								
								
									
										10
									
								
								cps/web.py
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								cps/web.py
									
									
									
									
									
								
							| @@ -185,10 +185,11 @@ def toggle_read(book_id): | ||||
|                 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 | ||||
|         except (OperationalError, InvalidRequestError) as e: | ||||
|             calibre_db.session.rollback() | ||||
|             log.error(u"Read status could not set: %e", e) | ||||
|  | ||||
|             return "Read status could not set: {}".format(e), 400 | ||||
|     return "" | ||||
|  | ||||
| @web.route("/ajax/togglearchived/<int:book_id>", methods=['POST']) | ||||
| @@ -1117,12 +1118,19 @@ def adv_search_ratings(q, rating_high, rating_low): | ||||
| def adv_search_read_status(q, read_status): | ||||
|     if read_status: | ||||
|         if config.config_read_column: | ||||
|             try: | ||||
|                 if read_status == "True": | ||||
|                     q = q.join(db.cc_classes[config.config_read_column], isouter=True) \ | ||||
|                         .filter(db.cc_classes[config.config_read_column].value == True) | ||||
|                 else: | ||||
|                     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) | ||||
|                 flash(_("Custom Column No.%(column)d is not existing in calibre database", | ||||
|                         column=config.config_read_column), | ||||
|                       category="error") | ||||
|                 return q | ||||
|         else: | ||||
|             if read_status == "True": | ||||
|                 q = q.join(ub.ReadBook, db.Books.id == ub.ReadBook.book_id, isouter=True) \ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Ozzieisaacs
					Ozzieisaacs