76 lines
2.8 KiB
Markdown
76 lines
2.8 KiB
Markdown
# Views Module Structure
|
|
|
|
This directory contains the refactored views from the original monolithic `views.py` file.
|
|
|
|
## File Organization
|
|
|
|
### `__init__.py`
|
|
Central import file that exports all views for easy access. This allows other modules to import views using:
|
|
```python
|
|
from mainapp.views import ObjItemListView, custom_logout
|
|
```
|
|
|
|
### `base.py`
|
|
Basic views and utilities:
|
|
- `ActionsPageView` - Displays the actions page
|
|
- `custom_logout()` - Custom logout function
|
|
|
|
### `objitem.py`
|
|
ObjItem CRUD operations and related views:
|
|
- `ObjItemListView` - List view with filtering and pagination
|
|
- `ObjItemFormView` - Base class for create/update operations
|
|
- `ObjItemCreateView` - Create new ObjItem
|
|
- `ObjItemUpdateView` - Update existing ObjItem
|
|
- `ObjItemDeleteView` - Delete ObjItem
|
|
- `ObjItemDetailView` - Read-only detail view
|
|
- `DeleteSelectedObjectsView` - Bulk delete operation
|
|
|
|
### `data_import.py`
|
|
Data import views for various formats:
|
|
- `AddSatellitesView` - Add satellites to database
|
|
- `AddTranspondersView` - Upload and parse transponder data from XML
|
|
- `LoadExcelDataView` - Load data from Excel files
|
|
- `LoadCsvDataView` - Load data from CSV files
|
|
- `UploadVchLoadView` - Upload VCH load data from HTML
|
|
- `LinkVchSigmaView` - Link VCH data with Sigma parameters
|
|
- `ProcessKubsatView` - Process Kubsat event data
|
|
|
|
### `api.py`
|
|
API endpoints for AJAX requests:
|
|
- `GetLocationsView` - Get locations by satellite ID in GeoJSON format
|
|
- `LyngsatDataAPIView` - Get LyngSat source data
|
|
- `SigmaParameterDataAPIView` - Get SigmaParameter data
|
|
- `SourceObjItemsAPIView` - Get ObjItems related to a Source
|
|
- `LyngsatTaskStatusAPIView` - Get Celery task status
|
|
|
|
### `lyngsat.py`
|
|
LyngSat related views:
|
|
- `LinkLyngsatSourcesView` - Link LyngSat sources to objects
|
|
- `FillLyngsatDataView` - Fill data from Lyngsat website
|
|
- `LyngsatTaskStatusView` - Track Lyngsat data filling task status
|
|
- `ClearLyngsatCacheView` - Clear LyngSat cache
|
|
|
|
### `source.py`
|
|
Source related views:
|
|
- `SourceListView` - List view for Source objects with filtering
|
|
|
|
### `map.py`
|
|
Map related views:
|
|
- `ShowMapView` - Display objects on map (admin interface)
|
|
- `ShowSelectedObjectsMapView` - Display selected objects on map
|
|
- `ClusterTestView` - Test view for clustering functionality
|
|
|
|
## Migration Notes
|
|
|
|
The original `views.py` has been renamed to `views_old.py` as a backup. All imports have been updated in:
|
|
- `dbapp/mainapp/urls.py`
|
|
- `dbapp/dbapp/urls.py`
|
|
|
|
## Benefits of This Structure
|
|
|
|
1. **Better Organization** - Related views are grouped together
|
|
2. **Easier Maintenance** - Smaller files are easier to navigate and modify
|
|
3. **Clear Responsibilities** - Each file has a specific purpose
|
|
4. **Improved Testability** - Easier to write focused unit tests
|
|
5. **Better Collaboration** - Multiple developers can work on different files without conflicts
|