« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/things/album
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/things/album')
-rw-r--r--src/data/things/album/Album.js21
-rw-r--r--src/data/things/album/TrackSection.js7
2 files changed, 21 insertions, 7 deletions
diff --git a/src/data/things/album/Album.js b/src/data/things/album/Album.js
index f07d552c..201aaf4e 100644
--- a/src/data/things/album/Album.js
+++ b/src/data/things/album/Album.js
@@ -852,12 +852,21 @@ export class Album extends Thing {
     ],
   };
 
-  getOwnAdditionalFilePath(_file, filename) {
-    return [
-      'media.albumAdditionalFile',
-      this.directory,
-      filename,
-    ];
+  getOwnAdditionalFilePath(file, filename) {
+    if (file.folder) {
+      return [
+        'media.albumAdditionalFileInFolder',
+        this.directory,
+        file.folder,
+        filename,
+      ];
+    } else {
+      return [
+        'media.albumAdditionalFile',
+        this.directory,
+        filename,
+      ];
+    }
   }
 
   getOwnArtworkPath(artwork) {
diff --git a/src/data/things/album/TrackSection.js b/src/data/things/album/TrackSection.js
index 1e901a09..451f8f7b 100644
--- a/src/data/things/album/TrackSection.js
+++ b/src/data/things/album/TrackSection.js
@@ -6,6 +6,8 @@ import Thing from '#thing';
 import {parseDate, parseExcludingURLs} from '#yaml';
 
 import {
+  anyOf,
+  is,
   isBoolean,
   isColor,
   isDirectory,
@@ -121,7 +123,10 @@ export class TrackSection extends Thing {
 
     excludingTrackURLs: [
       exposeUpdateValueOrContinue({
-        validate: input.value(isExcludingURLsReason),
+        validate: input.value(
+          anyOf(
+            is(false),
+            isExcludingURLsReason)),
       }),
 
       withPropertyFromObject('album', V('excludingTrackURLs')),