Vendor derived from catalog model; model type shown separately

This commit is contained in:
2026-08-05 10:00:08 -04:00
parent c51e86e686
commit 73940ae992
9 changed files with 217 additions and 4 deletions

View File

@@ -114,12 +114,22 @@
</div>
<div class="info-row">
<span class="info-label">Vendor</span>
<span class="info-value">{{ machine.machine?.vendorname || '-' }}</span>
<span class="info-value">
{{ machine.machine?.vendorname || '-' }}
<!-- Inherited from the catalog model, not stored on this record. -->
<small v-if="machine.machine?.vendorfrommodel" class="text-muted">(from model)</small>
</span>
</div>
<div class="info-row">
<span class="info-label">Model</span>
<span class="info-value">{{ machine.machine?.modelname || '-' }}</span>
</div>
<!-- The catalog model's own type. Kept separate from this
asset's type: modeltypes spans every kind of asset. -->
<div class="info-row" v-if="machine.machine?.modeltypename">
<span class="info-label">Model type</span>
<span class="info-value">{{ machine.machine.modeltypename }}</span>
</div>
</div>
</div>

View File

@@ -123,6 +123,18 @@ class Machine(BaseModel):
result['modelname'] = self.model.modelnumber
if self.model.imageurl:
result['imageurl'] = self.model.imageurl
# The catalog model already knows its maker, so an asset that has a
# model but no vendor of its own is showing a blank the database can
# fill. Flagged rather than merged silently: the edit form still has
# an empty vendor box, and a page implying otherwise would be lying.
if not self.vendor and self.model.vendor:
result['vendorname'] = self.model.vendor.vendor
result['vendorfrommodel'] = True
# Exposed under its OWN name. modeltypes is the catalog-wide list
# covering every kind of asset, so it is not interchangeable with
# this asset's own type and must never be substituted for it.
if self.model.modeltype:
result['modeltypename'] = self.model.modeltype.modeltype
# Add controller info
if self.controllervendor: