Files
dbstorage/dbapp/mainapp/views

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:

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