Fix what the last round of device fixes broke, and two dips it missed
This commit is contained in:
@@ -24,9 +24,18 @@
|
||||
type="text"
|
||||
class="form-control"
|
||||
:required="isEdit"
|
||||
:disabled="isEdit"
|
||||
:disabled="isEdit && !assetNumberMissing"
|
||||
:placeholder="generatedAssetNumber || 'leave blank to generate from the name'"
|
||||
/>
|
||||
<!-- Locked while editing, because an asset number is identity and
|
||||
changing it silently re-keys the record. The exception is a
|
||||
record that HAS no number: those exist (an update path used to
|
||||
accept a blank), the server now rejects a blank on save, and
|
||||
with the field disabled there was no way to supply one - the
|
||||
row could not be saved at all until it was fixed elsewhere. -->
|
||||
<small class="form-hint" v-if="assetNumberMissing">
|
||||
This device has no asset number. Give it one to save.
|
||||
</small>
|
||||
<small class="form-hint" v-if="!isEdit && !form.assetnumber && generatedAssetNumber">
|
||||
Will be created as <code>{{ generatedAssetNumber }}</code>
|
||||
</small>
|
||||
@@ -393,6 +402,10 @@ const generatedAssetNumber = computed(() => {
|
||||
if (name.toUpperCase().startsWith(prefix + '-')) return name
|
||||
return `${prefix}-${name}`
|
||||
})
|
||||
// True when the record loaded WITHOUT an asset number, which unlocks the field
|
||||
// so it can be repaired. Captured at load: once typed, the field must stay open.
|
||||
const assetNumberMissing = ref(false)
|
||||
|
||||
const vendors = ref([])
|
||||
const models = ref([])
|
||||
|
||||
@@ -480,6 +493,9 @@ async function loadDevice() {
|
||||
|
||||
// Populate form with existing data
|
||||
form.value.assetnumber = data.assetnumber || ''
|
||||
// Remember that it arrived empty, so the field stays editable while the
|
||||
// user types the number this record should have had.
|
||||
assetNumberMissing.value = !(data.assetnumber || '').trim()
|
||||
form.value.name = data.name || ''
|
||||
form.value.serialnumber = data.serialnumber || ''
|
||||
form.value.gaugelabreference = data.gaugelabreference || ''
|
||||
|
||||
Reference in New Issue
Block a user