Fix case-sensitive relationship type compares
Relationship type names are data and the seeded rows mix casings (controls, Controlled By, connectedto); the PC and machine detail/form pages compared === Controls and silently showed no relationships. Compares are now case-folded in all 7 sites. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -272,13 +272,18 @@ const installedApps = ref([])
|
||||
// Warranty fetch + hero badge (shared across asset detail pages).
|
||||
const { warranties, heroWarranty, warrantyDate: formatWarrantyDate } = useWarrantyBadge(() => computer.value?.assetid)
|
||||
|
||||
// type name is data, sites may seed 'controls' or 'Controls' - compare folded
|
||||
function isControls(rel) {
|
||||
return (rel.relationshiptypename || '').toLowerCase() === 'controls'
|
||||
}
|
||||
|
||||
const controlledEquipment = computed(() => {
|
||||
// For computers, find related equipment in any "Controls" relationship
|
||||
const items = []
|
||||
|
||||
// Check outgoing - computer controls equipment
|
||||
for (const rel of relationships.value.outgoing || []) {
|
||||
if (rel.targetasset?.assettypename === 'equipment' && rel.relationshiptypename === 'Controls') {
|
||||
if (rel.targetasset?.assettypename === 'equipment' && isControls(rel)) {
|
||||
items.push({
|
||||
...rel.targetasset,
|
||||
relationshipid: rel.relationshipid,
|
||||
@@ -289,7 +294,7 @@ const controlledEquipment = computed(() => {
|
||||
|
||||
// Also check incoming - legacy data may have equipment -> computer Controls relationships
|
||||
for (const rel of relationships.value.incoming || []) {
|
||||
if (rel.sourceasset?.assettypename === 'equipment' && rel.relationshiptypename === 'Controls') {
|
||||
if (rel.sourceasset?.assettypename === 'equipment' && isControls(rel)) {
|
||||
items.push({
|
||||
...rel.sourceasset,
|
||||
relationshipid: rel.relationshipid,
|
||||
|
||||
Reference in New Issue
Block a user