mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	Merge pull request #4425 from Vito0912/feat/addExplicit
Add explicit filter
This commit is contained in:
		
						commit
						108b2a60f5
					
				@ -94,6 +94,9 @@ export default {
 | 
			
		||||
    userIsAdminOrUp() {
 | 
			
		||||
      return this.$store.getters['user/getIsAdminOrUp']
 | 
			
		||||
    },
 | 
			
		||||
    userCanAccessExplicitContent() {
 | 
			
		||||
      return this.$store.getters['user/getUserCanAccessExplicitContent']
 | 
			
		||||
    },
 | 
			
		||||
    libraryMediaType() {
 | 
			
		||||
      return this.$store.getters['libraries/getCurrentLibraryMediaType']
 | 
			
		||||
    },
 | 
			
		||||
@ -239,6 +242,15 @@ export default {
 | 
			
		||||
          sublist: false
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
 | 
			
		||||
      if (this.userCanAccessExplicitContent) {
 | 
			
		||||
        items.push({
 | 
			
		||||
          text: this.$strings.LabelExplicit,
 | 
			
		||||
          value: 'explicit',
 | 
			
		||||
          sublist: false
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (this.userIsAdminOrUp) {
 | 
			
		||||
        items.push({
 | 
			
		||||
          text: this.$strings.LabelShareOpen,
 | 
			
		||||
@ -249,7 +261,7 @@ export default {
 | 
			
		||||
      return items
 | 
			
		||||
    },
 | 
			
		||||
    podcastItems() {
 | 
			
		||||
      return [
 | 
			
		||||
      const items = [
 | 
			
		||||
        {
 | 
			
		||||
          text: this.$strings.LabelAll,
 | 
			
		||||
          value: 'all'
 | 
			
		||||
@ -283,6 +295,16 @@ export default {
 | 
			
		||||
          sublist: false
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
 | 
			
		||||
      if (this.userCanAccessExplicitContent) {
 | 
			
		||||
        items.push({
 | 
			
		||||
          text: this.$strings.LabelExplicit,
 | 
			
		||||
          value: 'explicit',
 | 
			
		||||
          sublist: false
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      return items
 | 
			
		||||
    },
 | 
			
		||||
    selectItems() {
 | 
			
		||||
      if (this.isSeries) return this.seriesItems
 | 
			
		||||
 | 
			
		||||
@ -58,6 +58,9 @@ export const getters = {
 | 
			
		||||
  getUserCanAccessAllLibraries: (state) => {
 | 
			
		||||
    return !!state.user?.permissions?.accessAllLibraries
 | 
			
		||||
  },
 | 
			
		||||
  getUserCanAccessExplicitContent: (state) => {
 | 
			
		||||
    return !!state.user?.permissions?.accessExplicitContent
 | 
			
		||||
  },
 | 
			
		||||
  getLibrariesAccessible: (state, getters) => {
 | 
			
		||||
    if (!state.user) return []
 | 
			
		||||
    if (getters.getUserCanAccessAllLibraries) return []
 | 
			
		||||
 | 
			
		||||
@ -186,6 +186,8 @@ module.exports = {
 | 
			
		||||
      mediaWhere['$series.id$'] = null
 | 
			
		||||
    } else if (group === 'abridged') {
 | 
			
		||||
      mediaWhere['abridged'] = true
 | 
			
		||||
    } else if (group === 'explicit') {
 | 
			
		||||
      mediaWhere['explicit'] = true
 | 
			
		||||
    } else if (['genres', 'tags', 'narrators'].includes(group)) {
 | 
			
		||||
      mediaWhere[group] = Sequelize.where(Sequelize.literal(`(SELECT count(*) FROM json_each(${group}) WHERE json_valid(${group}) AND json_each.value = :filterValue)`), {
 | 
			
		||||
        [Sequelize.Op.gte]: 1
 | 
			
		||||
 | 
			
		||||
@ -59,6 +59,8 @@ module.exports = {
 | 
			
		||||
      replacements.filterValue = value
 | 
			
		||||
    } else if (group === 'languages') {
 | 
			
		||||
      mediaWhere['language'] = value
 | 
			
		||||
    } else if (group === 'explicit') {
 | 
			
		||||
      mediaWhere['explicit'] = true
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user