mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	Fix:Series Progress filters incorrect - showing for any users progress #2923
This commit is contained in:
		
							parent
							
								
									d7e810fc2f
								
							
						
					
					
						commit
						2e970cbb39
					
				| @ -73,15 +73,19 @@ module.exports = { | ||||
|       userPermissionBookWhere.replacements.filterValue = filterValue | ||||
|     } else if (filterGroup === 'progress') { | ||||
|       if (filterValue === 'not-finished') { | ||||
|         attrQuery = 'SELECT count(*) FROM books b, bookSeries bs LEFT OUTER JOIN mediaProgresses mp ON mp.mediaItemId = b.id WHERE bs.seriesId = series.id AND bs.bookId = b.id AND (mp.isFinished IS NULL OR mp.isFinished = 0)' | ||||
|         attrQuery = 'SELECT count(*) FROM books b, bookSeries bs LEFT OUTER JOIN mediaProgresses mp ON mp.mediaItemId = b.id AND mp.userId = :userId WHERE bs.seriesId = series.id AND bs.bookId = b.id AND (mp.isFinished IS NULL OR mp.isFinished = 0)' | ||||
|         userPermissionBookWhere.replacements.userId = user.id | ||||
|       } else if (filterValue === 'finished') { | ||||
|         const progQuery = 'SELECT count(*) FROM books b, bookSeries bs LEFT OUTER JOIN mediaProgresses mp ON mp.mediaItemId = b.id WHERE bs.seriesId = series.id AND bs.bookId = b.id AND (mp.isFinished IS NULL OR mp.isFinished = 0)' | ||||
|         const progQuery = 'SELECT count(*) FROM books b, bookSeries bs LEFT OUTER JOIN mediaProgresses mp ON mp.mediaItemId = b.id AND mp.userId = :userId WHERE bs.seriesId = series.id AND bs.bookId = b.id AND (mp.isFinished IS NULL OR mp.isFinished = 0)' | ||||
|         seriesWhere.push(Sequelize.where(Sequelize.literal(`(${progQuery})`), 0)) | ||||
|         userPermissionBookWhere.replacements.userId = user.id | ||||
|       } else if (filterValue === 'not-started') { | ||||
|         const progQuery = 'SELECT count(*) FROM books b, bookSeries bs LEFT OUTER JOIN mediaProgresses mp ON mp.mediaItemId = b.id WHERE bs.seriesId = series.id AND bs.bookId = b.id AND (mp.isFinished = 1 OR mp.currentTime > 0)' | ||||
|         const progQuery = 'SELECT count(*) FROM books b, bookSeries bs LEFT OUTER JOIN mediaProgresses mp ON mp.mediaItemId = b.id AND mp.userId = :userId WHERE bs.seriesId = series.id AND bs.bookId = b.id AND (mp.isFinished = 1 OR mp.currentTime > 0)' | ||||
|         seriesWhere.push(Sequelize.where(Sequelize.literal(`(${progQuery})`), 0)) | ||||
|         userPermissionBookWhere.replacements.userId = user.id | ||||
|       } else if (filterValue === 'in-progress') { | ||||
|         attrQuery = 'SELECT count(*) FROM books b, bookSeries bs LEFT OUTER JOIN mediaProgresses mp ON mp.mediaItemId = b.id WHERE bs.seriesId = series.id AND bs.bookId = b.id AND (mp.currentTime > 0 OR mp.ebookProgress > 0) AND mp.isFinished = 0' | ||||
|         attrQuery = 'SELECT count(*) FROM books b, bookSeries bs LEFT OUTER JOIN mediaProgresses mp ON mp.mediaItemId = b.id AND mp.userId = :userId WHERE bs.seriesId = series.id AND bs.bookId = b.id AND (mp.currentTime > 0 OR mp.ebookProgress > 0) AND mp.isFinished = 0' | ||||
|         userPermissionBookWhere.replacements.userId = user.id | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user