* Implement Configuration Settings redesign with sticky header + tabs
- Add allow_reordering parameter to AttributeForm to control reorder controls
- Create ConfigEditFormHandler for unified multi-formset handling
- Create ConfigEditResponseRenderer for page-based response generation
- Add system_settings_redesigned.html template with sticky header + tabbed interface
- Update ConfigSettingsView to use helper classes following Entity/Location patterns
- Disable attribute reordering for system-defined config attributes
- Maintain existing URL structure and form submission behavior
* Fix AttributeEditContext integration with SubsystemAttributeEditData
- Create SubsystemAttributeEditContext for proper template context
- Add SubsystemAttributeEditData dataclass to cleanly pair formsets with contexts
- Update form handler and response renderer to use dataclass approach
- Simplify template logic by preparing data structure on server side
- Remove complex template logic in favor of clean dataclass properties
Fixes AttributeError: 'str' object has no attribute 'history_url_name'
* Add missing URL patterns for AttributeEditContext integration
- Add subsystem_attribute_history_inline and subsystem_attribute_restore_inline URL patterns
- Create SubsystemAttributeHistoryInlineView and SubsystemAttributeRestoreInlineView
- Follow Entity/Location pattern for inline history and restore functionality
- Resolves NoReverseMatch error for subsystem_attribute_history_inline URL
Fixes django.urls.exceptions.NoReverseMatch for inline attribute history URLs
* Tweaks for getting backend structure in place. WIP
* Config attrribute config mostly working, but still WIP.
* Good checkpoint on config attribute editing. Works, but WIP.
* Moved config settings to vertical tabs for subsystems.
* Added selected settings tab restoration url strategy.
* Added setting page error count badges to tabs.
* Tweaks to config page entry point and labeling.
* Added auto-dismiss settings update success message.
* Major refactor of attr-v2-modal.js to remove global namespacing.
* Fixed attr-v2 async initialization issue.
* CONverting magic stricts to constants.
* Refactor attribute javascript files to be better organized.
* Fixed ENTER key submit suppression for attributes. Dead code removal.
* Cleaned up all shared temp,ate id, class and selectors.
* Refactor: Attribute editing javascript message posting.
* Removed legacy config attribute history modal views.
* Refactor for better attributeb editing response code organization.
* Interim Refactor: Simple general attribute view working. WIP
* Refactor to introduce attribute page vs. item editing contexts.
* Have Entity and Location converted to refactored attribute editing.
* Checkpoint on converting Subsystem to new attribute editing. WIP
* Completed major attribute editing refactoring.
* Working on unit tests for new attribute refactor. WIP
* Fixed some unit tests. Tests are WIP though.
* Miscellaneous cleanup tasks.
* Fixed unit tests, linting and upload file deletion bug.
* Implement template generalization for Entity/Location attribute editing
Add AttributeEditContext pattern enabling ~95% code reuse between Entity
and Location editing modals while maintaining type-safe owner-specific access.
- Add AttributeEditContext base class and owner-specific implementations
- Create generic edit_content_body.html template with extensible blocks
- Add template filters/tags for dynamic method calls and URL generation
- Update Entity/Location handlers to provide generalized context
- Replace specific templates to extend generic version
- Fix file upload and history restore template context issues
All Location tests (139/139) and Entity editing tests (17/17) passing.
* Updated documentation. Generic Attribute Editing, Testing
* Added unit tests and fixed linting errors.
* Rationalized view vs. edit mode names and directory organization.
* Fixed JS issues with previous refactor.
* More refactoring to rationalize view vs. edit mode.
* Yet more refactoring to rationalize view vs. edit mode.
* Continued refactoring to Javascript bug fixes for refactoring.
* Fixed a couple unit tests and linting errors.
* Document design workflow process and update CLAUDE.md
- Add comprehensive design workflow documentation in docs/dev/workflow/design-workflow.md
- Update CLAUDE.md with design work documentation workflow section
- Establishes data/design/issue-{number}/ pattern for local work
- Documents GitHub issue attachment vs comment organization
- Provides reusable process for future design-focused issues
- Maintains repository cleanliness while enabling design iteration
* Snapshpt fo semi-working new entity and attribute edit modal.
* Refactored new forms to remove duplication. Fixed some textarea bugs.
* Fixed textarea attributes to prevent data corruption.
* Fixed new attribute validation error handling.
* Moved Entity attribute formset non-file filtering closer to def.
* Styling impovements.
* Added attribute value history browsing and restoring.
* Fixed styling on new entity edit modal header area.
* Refactored the messy and confusing new entity edit modal.
* Fixed icon in new attruibute form.
* Attribute Edit style changes.
* Fixed bad claude factoring. Fixed CSRF file upload issue.
* Added scroll-to in antinode.js whic helped fix file upload UX issue.
* Fixed styling of the add new attribute card for the 'mark as secret'.
* Added modified field forms styling for new entity edit modal.
* Fixed bug in secret attribute readonly editing logic.
* Added file attribute value editing to new entity edit modal.
* Removed legacy EntityEditView and related code.
* Refactor to remove EntityEditData.
* Refactor to rename: EntityDetailsData -> EntityEditModeData
* More refactoring for name change from "details" to "edit mode"
* Removed debug log messages. Doc typo fix.
* Refactored entity views to add helper classes.
* Coded cleanup and test fixes.
* Refactored to replace use of hardcoded DOM ids, classes, selectors.
* Refactorings: better naming removed debug messages.
* Renamed "property" to "attribute".
* Fixed unit test gaps.
* Replaced hardcoded form field prefixes with common access.
* Added EntityTransitionType to replace brittle "magic" strings.
* Tweaks on display names for entity edit modal.
* Added missing __init__.py to nested test dirs. (New failures found.)
* Working on fixing unit tests: checkpoint. WIP
* Fixed units tests
* Removed mocking from soem unit tests.
* Removed partial V2 implementation mistake from entity edit work.
* Added testing doc about lessons learned.
* Added a bunch of testing-related documentation.
* Fixed test expectation for LocationAttributeUploadView invalid upload
Updated test to expect 200 status with modal form response instead of 400 error, aligning with new form error handling behavior from entity attribute redesign.