Skip to content

Add virtual machine support and calendar-based scheduling (closes #14, #15)#18

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

Add virtual machine support and calendar-based scheduling (closes #14, #15)#18
diegogodoy06 merged 1 commit into
mainfrom
feat/vm-support-and-calendar-scheduling

Conversation

@diegogodoy06

Copy link
Copy Markdown
Owner

Closes #14 and #15.

Maintenance plans can now target either a Device or a VirtualMachine, and scheduling supports days/weeks/months/quarters/years with an optional anchor_date for drift-free calendar schedules (e.g. start of each quarter).

  • models: nullable device + new virtual_machine FK with per-target conditional uniqueness; frequency_unit and anchor_date fields; get_next_maintenance_date() honors the anchor to avoid drift.
  • migration 0003 adds the new schema, forward-compatible (existing day-based plans keep working with default frequency_unit='days').
  • forms / tables / templates surface a unified Target column with Device / VM badges, plus a human-readable Frequency and Anchor.
  • new VirtualMachine detail-page extension + dedicated VM tab view.
  • API serializers and filtersets expose virtual_machine, frequency_unit, anchor_date and target_type; legacy device fields remain nullable for backward compatibility.
  • version bumped to 1.4.0, CHANGELOG updated.

Closes #14 and #15.

Maintenance plans can now target either a Device or a VirtualMachine,
and scheduling supports days/weeks/months/quarters/years with an
optional anchor_date for drift-free calendar schedules (e.g. start of
each quarter).

- models: nullable device + new virtual_machine FK with per-target
  conditional uniqueness; frequency_unit and anchor_date fields;
  get_next_maintenance_date() honors the anchor to avoid drift.
- migration 0003 adds the new schema, forward-compatible (existing
  day-based plans keep working with default frequency_unit='days').
- forms / tables / templates surface a unified Target column with
  Device / VM badges, plus a human-readable Frequency and Anchor.
- new VirtualMachine detail-page extension + dedicated VM tab view.
- API serializers and filtersets expose virtual_machine, frequency_unit,
  anchor_date and target_type; legacy device fields remain nullable for
  backward compatibility.
- version bumped to 1.4.0, CHANGELOG updated.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@diegogodoy06 diegogodoy06 self-assigned this May 14, 2026
@diegogodoy06 diegogodoy06 added the enhancement New feature or request label May 14, 2026
@diegogodoy06 diegogodoy06 merged commit 1e7db5c into main May 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request - Support calendar-based scheduling (e.g. quarterly / start of quarter) Feature request - supporting virtual devices

1 participant