Skip to content

Fix plan form crash, badge contrast, target locking, schedule UX, sta…#19

Merged
diegogodoy06 merged 1 commit into
mainfrom
feat/vm-support-and-calendar-scheduling
May 14, 2026
Merged

Fix plan form crash, badge contrast, target locking, schedule UX, sta…#19
diegogodoy06 merged 1 commit into
mainfrom
feat/vm-support-and-calendar-scheduling

Conversation

@diegogodoy06

Copy link
Copy Markdown
Owner

…tus filter

  • Fix AttributeError on POST /maintenance-plans/add/ on NetBox 4.6 / Django 6.0: NetBoxModelForm.clean() doesn't always return cleaned_data, so the prior super().clean().get(...) chain crashed. Read from self.cleaned_data instead.
  • Fix unreadable Device / VM badges (grey bg + invisible white text) by switching to Bootstrap 5's text-bg-primary / text-bg-info utilities.
  • Lock Device / VM fields client-side: picking one now disables the other. Server-side XOR validation stays as a safety net.
  • Simplify the schedule UX on the plan form: relabel to Repeat every / Unit / Calendar anchor (optional), group with FieldSets, and add a worked example in the help text for the "1st of every month" use case.
  • Add Status / Maintenance Type / Target filters on the Upcoming & Overdue Maintenance page. Status is computed in Python (multi-unit + anchored schedules can't be expressed as a single SQL predicate); the stats cards remain based on the unfiltered base set.
  • Bump to 1.4.1, update CHANGELOG.

…tus filter

- Fix AttributeError on POST /maintenance-plans/add/ on NetBox 4.6 / Django 6.0:
  NetBoxModelForm.clean() doesn't always return cleaned_data, so the prior
  super().clean().get(...) chain crashed. Read from self.cleaned_data instead.
- Fix unreadable Device / VM badges (grey bg + invisible white text) by
  switching to Bootstrap 5's text-bg-primary / text-bg-info utilities.
- Lock Device / VM fields client-side: picking one now disables the other.
  Server-side XOR validation stays as a safety net.
- Simplify the schedule UX on the plan form: relabel to Repeat every / Unit
  / Calendar anchor (optional), group with FieldSets, and add a worked
  example in the help text for the "1st of every month" use case.
- Add Status / Maintenance Type / Target filters on the Upcoming & Overdue
  Maintenance page. Status is computed in Python (multi-unit + anchored
  schedules can't be expressed as a single SQL predicate); the stats cards
  remain based on the unfiltered base set.
- Bump to 1.4.1, update CHANGELOG.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@diegogodoy06 diegogodoy06 self-assigned this May 14, 2026
@diegogodoy06 diegogodoy06 merged commit 9109e42 into main May 14, 2026
1 check passed
@diegogodoy06 diegogodoy06 deleted the feat/vm-support-and-calendar-scheduling branch May 14, 2026 11:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant