feat: authoritative plugin fields

Signed-off-by: jokob-sk <jokob.sk@gmail.com>
This commit is contained in:
jokob-sk
2026-01-25 00:20:06 +11:00
parent 8ea84a22e9
commit 4991b058d3
3 changed files with 7 additions and 13 deletions

View File

@@ -138,12 +138,6 @@ The Device Edit form displays lock/unlock buttons for all tracked fields:
2. **Unlock Button** (🔓): Click to allow plugin overwrites again
3. **Source Indicator**: Shows current field source (USER, LOCKED, NEWDEV, or plugin name)
### Source Indicator Colors
- Red (USER): Field was manually edited by a user
- Orange (LOCKED): Field is locked and protected from overwrites
- Gray (NEWDEV/Plugin): Field value came from automatic discovery
## UI Workflow
### Locking a Field via UI

View File

@@ -6,7 +6,7 @@ The device field lock/unlock system allows you to protect specific device fields
**Use case:** You've manually corrected a device name or port number and want to keep it that way, even when plugins discover different values.
## Tracked Fields (10 Total)
## Tracked Fields
These are the ONLY fields that can be locked:
@@ -97,7 +97,7 @@ Each locked field has a "source" indicator that shows you why the value is prote
## Quick Tips
- **Lock names and IPs you manually corrected** to keep them stable
- **Lock names you manually corrected** to keep them stable
- **Leave discovery fields (vendor, FQDN) unlocked** for automatic updates
- **Use locks sparingly**—they prevent automatic data enrichment
- **Check the source indicator** (colored badge) to understand field origin
@@ -133,7 +133,7 @@ Each locked field has a "source" indicator that shows you why the value is prote
- Double-check the lock icon shows
- Reload the page—the change might be a display issue
- Check if you accidentally unlocked it
- pen an issue if it persists
- Open an issue if it persists
## For More Information

View File

@@ -56,12 +56,12 @@ def process_scan(db):
mylog("verbose", "[Process Scan] Updating Devices Info")
update_devices_data_from_scan(db)
# Last Connection Time stamp from CurrentSan
mylog("verbose", "[Process Scan] Updating devLastConnection from CurrentSan")
# Last Connection Time stamp from CurrentScan
mylog("verbose", "[Process Scan] Updating devLastConnection from CurrentScan")
update_devLastConnection_from_CurrentScan(db)
# Presence from CurrentSan
mylog("verbose", "[Process Scan] Updating Devices Info")
# Presence from CurrentScan
mylog("verbose", "[Process Scan] Updating Presence from CurrentScan")
update_presence_from_CurrentScan(db)
# Update devPresentLastScan based on NICs presence