Implemented global match actor form edit.

This commit is contained in:
2026-06-09 04:22:41 +02:00
parent a2e2704a05
commit afe5876162
3 changed files with 10 additions and 5 deletions

2
common

Submodule common updated: 71b58d5099...ec0812ad9d

View File

@@ -520,7 +520,7 @@ const fields = computed(() => [
key: 'tattoos',
type: 'has',
value: {
has: actor.value?.hasTattoos || null,
has: actor.value?.hasTattoos ?? null,
description: actor.value?.tattoos || null,
},
},
@@ -529,7 +529,7 @@ const fields = computed(() => [
type: 'has',
note: 'Excludes earrings',
value: {
has: actor.value?.hasPiercings || null,
has: actor.value?.hasPiercings ?? null,
description: actor.value?.piercings || null,
},
},
@@ -576,7 +576,7 @@ const fields = computed(() => [
note: 'Allow this actor to be assigned to scenes automatically, overriding single-name protections.',
hasDescription: false,
value: {
has: actor.value?.isGlobal || null,
has: actor.value?.allowGlobalMatch ?? null,
},
},
]
@@ -630,6 +630,9 @@ const keyMap = {
has: 'hasPiercings',
description: 'piercings',
},
allowGlobalMatch: {
has: 'allowGlobalMatch',
},
};
const groupMap = {

View File

@@ -56,6 +56,7 @@ const keyMap = {
hasTattoos: 'has_tattoos',
hasPiercings: 'has_piercings',
isCircumcised: 'circumcised',
allowGlobalMatch: 'allow_global_match',
};
const socialsOrder = ['onlyfans', 'fansly', 'twitter', 'instagram', 'loyalfans', 'manyvids', 'pornhub', 'linktree', null];
@@ -131,6 +132,7 @@ export function curateActor(actor, context = {}) {
...actor.avatar,
sfw_media: actor.sfw_avatar,
}),
allowGlobalMatch: actor.allow_global_match,
socials: context.socials?.map((social) => ({
id: social.id,
url: social.url,
@@ -816,7 +818,7 @@ async function applyActorRevision(revisionIds, reqUser) {
return applyActorSocialsDelta(revision.actor_id, delta, trx);
}
if (delta.key === 'name' && reqUser.role === 'admin') {
if (['name', 'allowGlobalMatch'].includes(delta.key) && verifyAbility(reqUser, 'actor', 'update')) {
return applyActorDirectDelta(revision.actor_id, delta, trx);
}