Fix: rename 'items' to 'changes' to avoid dict.items() conflict

This commit is contained in:
Ivo Oskamp 2026-02-05 23:02:28 +01:00
parent f51a511e64
commit a3b4bc939d
2 changed files with 32 additions and 32 deletions

View File

@ -14,7 +14,7 @@ CHANGELOG = [
"subsections": [
{
"subtitle": "Settings and Configuration",
"items": [
"changes": [
"Complete Autotask integration settings in Settings → Integrations",
"Environment selection (Sandbox/Production) with automatic zone discovery",
"API authentication with fallback support for different tenant configurations",
@ -27,7 +27,7 @@ CHANGELOG = [
},
{
"subtitle": "Customer Company Mapping",
"items": [
"changes": [
"Explicit Autotask company mapping for customers using ID-based linkage",
"Company search with auto-suggestions when opening unmapped customers",
"Automatically populates search box with customer name and displays matching Autotask companies",
@ -38,7 +38,7 @@ CHANGELOG = [
},
{
"subtitle": "Ticket Creation and Management",
"items": [
"changes": [
"Create Autotask tickets directly from Run Checks page",
"Automatic ticket number assignment and storage",
"Link existing Autotask tickets to job runs",
@ -51,7 +51,7 @@ CHANGELOG = [
},
{
"subtitle": "Ticket Resolution and Status Management",
"items": [
"changes": [
"Conditional ticket status updates based on time entries:",
" - Tickets without time entries: automatically closed (status 5 - Complete)",
" - Tickets with time entries: remain open for time tracking continuation",
@ -64,7 +64,7 @@ CHANGELOG = [
},
{
"subtitle": "Technical Implementation",
"items": [
"changes": [
"Full-featured Autotask REST API client (`integrations/autotask/client.py`)",
"Zone information discovery and endpoint resolution",
"Robust authentication handling with header-based fallback for sandbox environments",
@ -81,7 +81,7 @@ CHANGELOG = [
{
"title": "User Interface Improvements",
"type": "improvement",
"items": [
"changes": [
"Search boxes now clear automatically when opening modals (Run Checks Link existing, Customer mapping)",
"Auto-search for similar company names when mapping unmapped customers",
"Cross-company ticket search when using ticket numbers (e.g., \"T20260205.0001\")",
@ -95,7 +95,7 @@ CHANGELOG = [
{
"title": "Bug Fixes and Stability",
"type": "fixed",
"items": [
"changes": [
"Fixed Autotask REST API base URL casing (ATServicesRest/V1.0)",
"Fixed reference data retrieval using correct picklist endpoints",
"Fixed authentication fallback for sandbox-specific behavior",
@ -117,7 +117,7 @@ CHANGELOG = [
{
"title": "Documentation",
"type": "documentation",
"items": [
"changes": [
"Added comprehensive Autotask REST API contract documentation (`docs/autotask_rest_api.md`)",
"Created functional design living document for integration architecture",
"Documented ticket lifecycle, status management, and time entry considerations",
@ -134,7 +134,7 @@ CHANGELOG = [
{
"title": "Changelog Rendering and Documentation Accuracy",
"type": "improvement",
"items": [
"changes": [
"Updated the Changelog route to render remote Markdown content instead of plain text",
"Enabled full Markdown parsing so headings, lists, links, and code blocks are displayed correctly",
"Ensured the changelog always fetches the latest version directly from the source repository at request time",
@ -144,7 +144,7 @@ CHANGELOG = [
{
"title": "Mail Rendering and Browser Compatibility",
"type": "improvement",
"items": [
"changes": [
"Forced a light color scheme for embedded mail content to prevent Microsoft Edge from applying automatic dark mode styling",
"Added explicit `color-scheme` and `forced-color-adjust` rules so original mail CSS is respected",
"Ensured consistent mail readability across Edge and Firefox",
@ -154,7 +154,7 @@ CHANGELOG = [
{
"title": "Run Checks Visibility and Consistency",
"type": "improvement",
"items": [
"changes": [
"Added support for displaying the overall remark (overall_message) directly on the Run Checks page",
"Ensured consistency between Run Checks and Job Details, where the overall remark was already available",
"Improved operator visibility of high-level run context without requiring navigation to job details"
@ -163,7 +163,7 @@ CHANGELOG = [
{
"title": "Initial Setup and User Existence Safeguards",
"type": "fixed",
"items": [
"changes": [
"Fixed an incorrect redirect to the \"Initial admin setup\" page when users already exist",
"Changed setup detection logic from \"admin user exists\" to \"any user exists\"",
"Ensured existing environments always show the login page instead of allowing a new initial admin to be created",
@ -173,7 +173,7 @@ CHANGELOG = [
{
"title": "Role-Based Access Control and Menu Restrictions",
"type": "improvement",
"items": [
"changes": [
"Restricted the Reporter role to only access Dashboard, Reports, Changelog, and Feedback",
"Updated menu rendering to fully hide unauthorized menu items for Reporter users",
"Adjusted route access to ensure Feedback pages remain accessible for the Reporter role",
@ -183,7 +183,7 @@ CHANGELOG = [
{
"title": "Override Matching Flexibility and Maintainability",
"type": "feature",
"items": [
"changes": [
"Added configurable error text matching modes for overrides: contains, exact, starts with, and ends with",
"Updated override evaluation logic to apply the selected match mode across run remarks and object error messages",
"Extended the overrides UI with a match type selector and improved edit support for existing overrides",
@ -193,7 +193,7 @@ CHANGELOG = [
{
"title": "Job Deletion Stability",
"type": "fixed",
"items": [
"changes": [
"Fixed an error that occurred during job deletion",
"Corrected backend deletion logic to prevent runtime exceptions",
"Ensured related records are handled safely to avoid constraint or reference errors during removal"
@ -202,7 +202,7 @@ CHANGELOG = [
{
"title": "VSPC Object Linking and Normalization",
"type": "fixed",
"items": [
"changes": [
"Fixed VSPC company name normalization so detection and object prefixing behave consistently",
"Ensured filtered object persistence respects the UNIQUE(customer_id, object_name) constraint",
"Correctly update `last_seen` timestamps for existing objects",
@ -214,7 +214,7 @@ CHANGELOG = [
{
"title": "VSPC Normalization Bug Fixes and Backward Compatibility",
"type": "fixed",
"items": [
"changes": [
"Removed duplicate definitions of VSPC Active Alarms company extraction logic that caused inconsistent normalization",
"Ensured a single, consistent normalization path is used when creating jobs and linking objects",
"Improved object linking so real objects (e.g. HV01, USB Disk) are reliably associated with their jobs",
@ -232,7 +232,7 @@ CHANGELOG = [
{
"title": "Mail Parsing and Data Integrity",
"type": "improvement",
"items": [
"changes": [
"Fixed Veeam Backup for Microsoft 365 parsing where the overall summary message was not consistently stored",
"Improved extraction of overall detail messages so permission and role warnings are reliably captured",
"Ensured the extracted overall message is always available across Job Details, Run Checks, and reporting views",
@ -243,7 +243,7 @@ CHANGELOG = [
{
"title": "Object Classification and Sorting",
"type": "improvement",
"items": [
"changes": [
"Updated object list sorting to improve readability and prioritization",
"Objects are now grouped by severity in a fixed order: Errors first, then Warnings, followed by all other statuses",
"Within each severity group, objects are sorted alphabetically (AZ)",
@ -254,7 +254,7 @@ CHANGELOG = [
{
"title": "Parsers Overview and Maintainability",
"type": "improvement",
"items": [
"changes": [
"Refactored the Parsers overview page to use the central parser registry instead of a static, hardcoded list",
"All available parsers are now displayed automatically, ensuring the page stays in sync as parsers are added or removed",
"Removed hardcoded parser definitions from templates to improve long-term maintainability",
@ -265,7 +265,7 @@ CHANGELOG = [
{
"title": "User Management and Feedback Handling",
"type": "feature",
"items": [
"changes": [
"Added support for editing user roles directly from the User Management interface",
"Implemented backend logic to update existing role assignments without requiring user deletion",
"Ensured role changes are applied immediately and reflected correctly in permissions and access control",
@ -277,7 +277,7 @@ CHANGELOG = [
{
"title": "UI Improvements and Usability Enhancements",
"type": "improvement",
"items": [
"changes": [
"Introduced reusable ellipsis handling for long detail fields to prevent layout overlap",
"Added click-to-expand behavior for truncated fields, with double-click support to expand and select all text",
"Added automatic tooltips showing the full value when a field is truncated",
@ -290,7 +290,7 @@ CHANGELOG = [
{
"title": "Veeam Cloud Connect and VSPC Parsing",
"type": "improvement",
"items": [
"changes": [
"Improved the Veeam Cloud Connect Report parser by combining User and Repository Name into a single object identifier",
"Excluded \"TOTAL\" rows from object processing",
"Correctly classified red rows as Errors and yellow/orange rows as Warnings",
@ -304,7 +304,7 @@ CHANGELOG = [
{
"title": "VSPC Company Mapping Workflow",
"type": "feature",
"items": [
"changes": [
"Introduced a dedicated company-mapping popup for VSPC Active Alarms summary reports",
"Enabled manual mapping of companies found in mails to existing customers",
"Implemented per-company job and run creation using the format \"Active alarms summary | <Company>\"",
@ -318,7 +318,7 @@ CHANGELOG = [
{
"title": "NTFS Auditing and Synology ABB Enhancements",
"type": "improvement",
"items": [
"changes": [
"Added full parser support for NTFS Auditing reports",
"Improved hostname and FQDN extraction from subject lines, supporting multiple subject formats and prefixes",
"Ensured consistent job name generation as \"<hostname> file audits\"",
@ -331,7 +331,7 @@ CHANGELOG = [
{
"title": "Workflow Simplification and Cleanup",
"type": "improvement",
"items": [
"changes": [
"Removed the \"Mark success (override)\" button from the Run Checks popup",
"Prevented creation of unintended overrides when marking individual runs as successful",
"Simplified override handling so Run Checks actions no longer affect override administration",

View File

@ -67,19 +67,19 @@
{% if subsection.subtitle %}
<h4 class="h6 text-body-secondary mb-2">{{ subsection.subtitle }}</h4>
{% endif %}
{% if subsection.items %}
{% if subsection.changes %}
<ul class="changelog-list">
{% for item in subsection.items %}
<li>{{ item }}</li>
{% for change in subsection.changes %}
<li>{{ change }}</li>
{% endfor %}
</ul>
{% endif %}
</div>
{% endfor %}
{% elif section.items %}
{% elif section.changes %}
<ul class="changelog-list">
{% for item in section.items %}
<li>{{ item }}</li>
{% for change in section.changes %}
<li>{{ change }}</li>
{% endfor %}
</ul>
{% endif %}