chellow 1767090201.0.0__tar.gz → 1767956592.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/PKG-INFO +1 -1
- chellow-1767956592.0.0/VERSION +1 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/aahedc.py +8 -6
- chellow-1767956592.0.0/chellow/e/issues.py +31 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/tnuos.py +8 -6
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/views.py +302 -116
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/national_grid.py +28 -5
- chellow-1767956592.0.0/chellow/reports/report_issues.py +136 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/static/css/chellow.css +4 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_issue.html +6 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_issue_attach_supply.html +1 -1
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_issue_edit.html +16 -3
- chellow-1767956592.0.0/chellow/templates/e/dc_issues.html +34 -0
- chellow-1767956592.0.0/chellow/templates/e/issues.html +56 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_contract.html +3 -0
- chellow-1767956592.0.0/chellow/templates/e/mop_entry_add.html +33 -0
- chellow-1767956592.0.0/chellow/templates/e/mop_entry_edit.html +39 -0
- chellow-1767956592.0.0/chellow/templates/e/mop_issue.html +90 -0
- chellow-1767956592.0.0/chellow/templates/e/mop_issue_add.html +26 -0
- chellow-1767956592.0.0/chellow/templates/e/mop_issue_attach_supply.html +26 -0
- chellow-1767956592.0.0/chellow/templates/e/mop_issue_edit.html +50 -0
- chellow-1767956592.0.0/chellow/templates/e/mop_issues.html +34 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_issue.html +13 -4
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_issue_attach_supply.html +1 -1
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_issue_edit.html +9 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supply.html +18 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/home.html +1 -0
- chellow-1767956592.0.0/chellow/templates/reports/issues.html +117 -0
- chellow-1767956592.0.0/chellow/templates/user.html +32 -0
- chellow-1767956592.0.0/chellow/templates/user_edit.html +78 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/views.py +79 -25
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_tnuos.py +1 -3
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_views.py +0 -18
- chellow-1767956592.0.0/test/reports/test_report_issues.py +104 -0
- chellow-1767090201.0.0/VERSION +0 -1
- chellow-1767090201.0.0/chellow/templates/e/dc_issues.html +0 -78
- chellow-1767090201.0.0/chellow/templates/user.html +0 -89
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/.ebextensions/chellow.config +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/.github/workflows/chellow.yml +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/.gitignore +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/README.md +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/application.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/bin/chellow_start.sh +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/bin/chellow_upgrader.sh +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/__init__.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/api.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/bank_holidays.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/dloads.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/__init__.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_importer.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/__init__.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/activity_mop_stark_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/amr_dc_stark_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/annual_mop_stark_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/bgb_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/csv.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/drax_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/edf_export_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/engie_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/engie_export_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/engie_xls.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/engie_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/gdf_csv.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/haven_csv.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/haven_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/haven_edi_tprs.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/mm.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/nonsettlement_dc_stark_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/settlement_dc_stark_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/sse_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bill_parsers/sww_xls.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bmarketidx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/bsuos.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/ccl.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/cfd.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/computer.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/dno_rate_parser.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/duos.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/elexon.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/energy_management.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/hh_importer.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/hh_parser_bg_csv.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/hh_parser_df2.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/hh_parser_edf_csv.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/hh_parser_schneider_csv.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/hh_parser_schneider_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/hh_parser_simple_csv.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/hh_parser_vital_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/isd.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/lafs.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/lcc.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/mdd_importer.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/rab.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/rcrc.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/ro.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/scenario.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/system_price.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/tlms.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/e/triad.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/edi_lib.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/fake_batch_updater.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/gas/bill_import.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/gas/bill_parser_bgs_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/gas/bill_parser_csv.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/gas/bill_parser_engie_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/gas/bill_parser_total_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/gas/ccl.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/gas/cv.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/gas/dn_rate_parser.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/gas/engine.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/gas/transportation.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/gas/views.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/general_import.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/models.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/proxy.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/rate_server.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/__init__.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_109.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_111.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_169.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_181.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_183.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_187.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_219.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_231.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_241.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_247.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_29.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_291.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_33.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_387.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_41.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_429.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_59.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_81.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_87.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_asset_comparison.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_batches.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_bills.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_channel_snags.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_csv_llfcs.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_csv_site_hh_data.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_csv_site_snags.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_ecoes_comparison.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_g_monthly_duration.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_g_supplies_snapshot.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_g_supply_virtual_bill.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_g_virtual_bills.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_g_virtual_bills_hh.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_missing_bills.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_sscs.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/reports/report_supply_contacts.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/rrun.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/static/images/favicon.svg +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/static/images/favicon_test.svg +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/static/images/logo.png +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/static/js/htmx.min.js +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/403.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/base.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/bill_type.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/bill_types.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/chain.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/csv_sites_monthly_duration.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/dashboard.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/downloads.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/asset_comparison.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/channel.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/channel_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/channel_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/channel_snag.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/channel_snag_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/channel_snags.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/comm.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/comms.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/cop.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/cops.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/csv_bills.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/csv_register_reads.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/csv_sites_hh_data.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/csv_sites_triad.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/csv_supplies_hh_data.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/csv_supplies_snapshot.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/csv_supplies_triad.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_auto_importer.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_batch.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_batch_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_batch_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_batch_file.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_batch_file_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_batch_upload_file.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_batches.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_batches_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_bill.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_bill_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_bill_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_bill_import.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_bill_import_contract.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_bill_imports.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_contract.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_contract_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_contract_hh_import.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_contract_hh_imports.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_contract_properties.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_contract_properties_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_contracts.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_contracts_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_element.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_element_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_element_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_entry_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_entry_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_issue_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_rate_script.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_rate_script_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dc_rate_script_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dno.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dno_rate_script.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dno_rate_script_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dno_rate_script_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dnos.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dtc_meter_type.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/dtc_meter_types.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/duration_report.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/elexon.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/em_hh_data.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/em_months.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/em_site.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/em_totals.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/energisation_status.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/energisation_statuses.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/era_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/era_edit_form.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/era_supplier_bill_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/generator_type.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/generator_types.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/gsp_group.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/gsp_groups.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/hh_datum_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/isd.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/lafs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/lcc.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/llfc.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/llfc_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/llfcs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/markdown_docs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/market_role.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/market_roles.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/meter_payment_type.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/meter_payment_types.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/meter_type.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/meter_types.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_batch.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_batch_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_batch_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_batch_file.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_batch_file_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_batch_upload_file.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_batches.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_batches_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_bill.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_bill_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_bill_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_bill_import.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_bill_import_contract.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_bill_imports.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_contract_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_contract_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_contracts.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_element.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_element_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_element_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_rate_script.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_rate_script_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mop_rate_script_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mtc.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mtc_llfc.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mtc_llfc_ssc.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mtc_llfc_ssc_pc.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mtc_llfc_ssc_pcs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mtc_llfc_sscs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mtc_llfcs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mtc_participant.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mtc_participants.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mtc_ssc.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mtc_sscs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/mtcs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/ods_monthly_duration.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/participant.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/participants.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/parties.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/party.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/pc.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/pcs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/read_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/read_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/read_type.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/read_types.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/scenario.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/scenario_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/scenario_docs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/scenario_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/scenarios.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/site_add_e_supply.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/site_add_e_supply_form.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/site_hh_data.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/site_site_snags.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/site_snag.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/site_snag_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/site_snags.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/site_snags_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/source.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/sources.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/ssc.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/sscs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_batch.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_batch_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_batch_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_batch_file.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_batch_file_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_batch_file_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_batch_upload_file.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_batches.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_batches_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_bill.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_bill_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_bill_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_bill_import.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_bill_import_contract.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_contract.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_contract_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_contract_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_contracts.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_element.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_element_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_element_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_entry_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_entry_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_issue_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_issues.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_rate_script.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_rate_script_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supplier_rate_script_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supply_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supply_eras.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supply_hh_data.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supply_issues.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supply_months.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supply_note_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supply_note_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supply_notes.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supply_post.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/supply_virtual_bill.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/tpr.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/e/tprs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/edi_viewer.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/fake_batch_updater.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/batch.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/batch_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/batch_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/batches.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/bill.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/bill_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/bill_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/bill_import.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/bill_imports.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/dn.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/dns.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/era_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/exit_zone.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/industry_auto_importer.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/industry_contract.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/industry_contract_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/industry_contract_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/industry_contracts.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/industry_rate_script.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/industry_rate_script_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/industry_rate_script_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/ldz.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/read_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/read_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/read_type.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/read_types.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/reading_frequencies.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/reading_frequency.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/reports.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supplier_contract.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supplier_contract_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supplier_contract_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supplier_contracts.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supplier_rate_script.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supplier_rate_script_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supplier_rate_script_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supplies.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supply.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supply_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supply_note_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supply_note_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/supply_notes.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/unit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/g/units.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/general_import.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/general_imports.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/input_date.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/local_report.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/local_reports.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/macros.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/national_grid.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/non_core_auto_importer.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/non_core_contract.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/non_core_contract_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/non_core_contracts.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/non_core_rate_script.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/non_core_rate_script_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/non_core_rate_script_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/object_summary.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/rate_server.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/report_run.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/report_run_asset_comparison.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/report_run_bill_check.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/report_run_ecoes_comparison.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/report_run_g_bill_check.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/report_run_missing_e_bills.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/report_run_monthly_duration_org.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/report_run_row.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/report_run_row_bill_check.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/report_run_row_g_bill_check.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/report_run_supply_contacts.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/report_runs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/reports/channel_snags.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/scenario.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/scenario_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/scenario_docs.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/scenario_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/scenarios.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/site.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/site_add.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/site_edit.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/site_gen_graph.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/site_months.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/site_used_graph.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/sites.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/supplies.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/system.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/tester.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/user_roles.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/templates/users.html +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/testing.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/chellow/utils.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/gpl.txt +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/pyproject.toml +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/requirements.txt +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/systemd/chellow.service +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/systemd/chellow_upgrader.service +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/systemd/chellow_upgrader.timer +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/conftest.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/__init__.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_activity_mop_stark_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_annual_mop_stark_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_amr_dc_stark_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_csv.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_drax_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_edf_export_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_engie_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_engie_xls.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_engie_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_haven_csv.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_haven_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_haven_edi_tprs.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_mm.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_nonsettlement_dc_stark_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_settlement_dc_stark_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_sse_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/bill_parsers/test_bill_parser_sww_xls.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/system_price/prices.xls +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/system_price/test_system_price.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_aahedc.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_bill_importer.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_bsuos.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_ccl.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_cfd.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_computer.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_dno_rate_parser.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_duos.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_energy_management.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_hh_importer.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_hh_parser_df2.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_hh_parser_vital_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_lafs.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_mdd_importer.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_rcrc_importer.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_ro.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_scenario.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_tlms.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/e/test_triad.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/gas/bill_parsers/test_bill_parser_bgs_xlsx.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/gas/bill_parsers/test_g_bill_parser_engie_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/gas/bill_parsers/test_g_bill_parser_total_edi.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/gas/test_dn_rate_parser.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/gas/test_engine.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/gas/test_g_cv.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/gas/test_gas_views.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/gas/test_transportation.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_g_monthly_duration.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_g_supplies_snapshot.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_g_supply_virtual_bill.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_g_virtual_bills.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_g_virtual_bills_hh.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_109.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_111.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_169.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_181.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_183.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_187.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_219.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_231.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_241.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_247.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_29.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_291.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_33.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_387.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_41.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_429.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_59.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_81.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_87.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_asset_comparison.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_batches.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_bills.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_channel_snags.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_csv_llfcs.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_csv_site_hh_data.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_csv_site_snags.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_dno_vl_parser.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_ecoes_comparison.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_missing_e_bills.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_sscs.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/reports/test_report_supply_contacts.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/test_chellow.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/test_dloads.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/test_edi_lib.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/test_edi_viewer.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/test_fake_batch_updater.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/test_general_import.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/test_models.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/test_rate_server.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/test_testing.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/test_utils.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/test_views.py +0 -0
- {chellow-1767090201.0.0 → chellow-1767956592.0.0}/test/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: chellow
|
|
3
|
-
Version:
|
|
3
|
+
Version: 1767956592.0.0
|
|
4
4
|
Summary: Web Application for checking UK energy bills.
|
|
5
5
|
Project-URL: Homepage, https://github.com/WessexWater/chellow
|
|
6
6
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1767956592.0.0"
|
|
@@ -3,7 +3,7 @@ from decimal import Decimal
|
|
|
3
3
|
from sqlalchemy import select
|
|
4
4
|
|
|
5
5
|
from chellow.models import Contract, RateScript
|
|
6
|
-
from chellow.national_grid import
|
|
6
|
+
from chellow.national_grid import csv_get, parse_date
|
|
7
7
|
from chellow.utils import ct_datetime, to_utc
|
|
8
8
|
|
|
9
9
|
|
|
@@ -36,9 +36,11 @@ def national_grid_import(sess, log, set_progress, s):
|
|
|
36
36
|
sess, contract_name, "", {}, to_utc(ct_datetime(1996, 4, 1)), None, {}
|
|
37
37
|
)
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
path = (
|
|
40
|
+
"dataset/43d94335-c97f-4939-a8b9-607d2cfb3734/resource/"
|
|
41
|
+
"ffd29cc8-3c55-4e83-aa0e-73212d4fedba/download"
|
|
42
|
+
)
|
|
43
|
+
for record in csv_get(s, path):
|
|
42
44
|
# {
|
|
43
45
|
# "_full_text": "'-07':4 '-15':5 '0.012247':7 '0.028 '2026':2 'final':1",
|
|
44
46
|
# "Published Date": "2025-07-15",
|
|
@@ -71,11 +73,11 @@ def national_grid_import(sess, log, set_progress, s):
|
|
|
71
73
|
except KeyError:
|
|
72
74
|
rs_record = rs_script["record"] = {}
|
|
73
75
|
|
|
74
|
-
record_published_date = record["Published Date"]
|
|
76
|
+
record_published_date = parse_date(record["Published Date"])
|
|
75
77
|
|
|
76
78
|
if (
|
|
77
79
|
"Published Date" not in rs_record
|
|
78
|
-
or rs_record["Published Date"] < record_published_date
|
|
80
|
+
or parse_date(rs_record["Published Date"]) < record_published_date
|
|
79
81
|
):
|
|
80
82
|
rs_script["record"] = record
|
|
81
83
|
rs_script["aahedc_gbp_per_gsp_kwh"] = Decimal(
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
from sqlalchemy import select
|
|
2
|
+
|
|
3
|
+
from chellow.models import Supply, User
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def make_issue_bundles(sess, issues):
|
|
7
|
+
return [make_issue_bundle(sess, issue) for issue in issues]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def make_issue_bundle(sess, issue):
|
|
11
|
+
props = issue.properties
|
|
12
|
+
supply_bundles = []
|
|
13
|
+
if "owner_id" in props:
|
|
14
|
+
owner = User.get_by_id(sess, props["owner_id"])
|
|
15
|
+
else:
|
|
16
|
+
owner = None
|
|
17
|
+
bundle = {
|
|
18
|
+
"issue": issue,
|
|
19
|
+
"latest_entry": None if len(issue.entries) == 0 else issue.entries[-1],
|
|
20
|
+
"supplies": supply_bundles,
|
|
21
|
+
"owner": owner,
|
|
22
|
+
}
|
|
23
|
+
for supply in sess.scalars(
|
|
24
|
+
select(Supply)
|
|
25
|
+
.where(Supply.id.in_(props.get("supply_ids", [])))
|
|
26
|
+
.order_by(Supply.id)
|
|
27
|
+
).all():
|
|
28
|
+
era = supply.eras[0]
|
|
29
|
+
site = era.get_physical_site(sess)
|
|
30
|
+
supply_bundles.append({"supply": supply, "era": supply.eras[0], "site": site})
|
|
31
|
+
return bundle
|
|
@@ -2,7 +2,7 @@ from sqlalchemy import select
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
from chellow.models import Contract, RateScript
|
|
5
|
-
from chellow.national_grid import
|
|
5
|
+
from chellow.national_grid import csv_get, parse_date
|
|
6
6
|
from chellow.utils import (
|
|
7
7
|
ct_datetime,
|
|
8
8
|
to_utc,
|
|
@@ -101,9 +101,11 @@ def national_grid_import(sess, log, set_progress, s):
|
|
|
101
101
|
)
|
|
102
102
|
sess.commit()
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
path = (
|
|
105
|
+
"dataset/eaef4708-1100-4ad9-98d5-d892f3c9a56c/resource/"
|
|
106
|
+
"dcca94fd-343e-4d4e-8c5d-66009dec4ad3/download"
|
|
107
|
+
)
|
|
108
|
+
for record in csv_get(s, path):
|
|
107
109
|
# {
|
|
108
110
|
# "_id": 1,
|
|
109
111
|
# "Publication": "Final",
|
|
@@ -134,10 +136,10 @@ def national_grid_import(sess, log, set_progress, s):
|
|
|
134
136
|
bands = rs_script["bands"] = {}
|
|
135
137
|
|
|
136
138
|
record_key = record["TDR Band"]
|
|
137
|
-
record_published_date = record["Published_Date"]
|
|
139
|
+
record_published_date = parse_date(record["Published_Date"])
|
|
138
140
|
|
|
139
141
|
band = bands.get(record_key)
|
|
140
|
-
if band is None or band["Published_Date"] < record_published_date:
|
|
142
|
+
if band is None or parse_date(band["Published_Date"]) < record_published_date:
|
|
141
143
|
if "TDR Tariff" not in record:
|
|
142
144
|
tdr_tariff = [
|
|
143
145
|
v for k, v in record.items() if k.startswith("TDR Tariff")
|
|
@@ -23,6 +23,7 @@ from flask import (
|
|
|
23
23
|
|
|
24
24
|
from sqlalchemy import (
|
|
25
25
|
Float,
|
|
26
|
+
Integer,
|
|
26
27
|
case,
|
|
27
28
|
cast,
|
|
28
29
|
delete,
|
|
@@ -46,6 +47,7 @@ import chellow.e.dno_rate_parser
|
|
|
46
47
|
import chellow.e.lcc
|
|
47
48
|
from chellow.e.computer import SupplySource, contract_func, forecast_date
|
|
48
49
|
from chellow.e.energy_management import totals_runner
|
|
50
|
+
from chellow.e.issues import make_issue_bundle, make_issue_bundles
|
|
49
51
|
from chellow.models import (
|
|
50
52
|
Batch,
|
|
51
53
|
BatchFile,
|
|
@@ -92,6 +94,8 @@ from chellow.models import (
|
|
|
92
94
|
Ssc,
|
|
93
95
|
Supply,
|
|
94
96
|
Tpr,
|
|
97
|
+
User,
|
|
98
|
+
UserRole,
|
|
95
99
|
VoltageLevel,
|
|
96
100
|
)
|
|
97
101
|
from chellow.utils import (
|
|
@@ -1312,98 +1316,14 @@ def dc_contracts_hh_import_get(contract_id, import_id):
|
|
|
1312
1316
|
@e.route("/dc_contracts/<int:contract_id>/issues")
|
|
1313
1317
|
def dc_issues_get(contract_id):
|
|
1314
1318
|
contract = Contract.get_dc_by_id(g.sess, contract_id)
|
|
1315
|
-
|
|
1316
|
-
for issue in g.sess.scalars(
|
|
1319
|
+
issues = g.sess.scalars(
|
|
1317
1320
|
select(Issue)
|
|
1318
1321
|
.where(Issue.contract == contract)
|
|
1319
1322
|
.order_by(Issue.is_open.desc(), Issue.date_created)
|
|
1320
|
-
):
|
|
1321
|
-
supply_bundles = []
|
|
1322
|
-
bundle = {
|
|
1323
|
-
"issue": issue,
|
|
1324
|
-
"latest_entry": None if len(issue.entries) == 0 else issue.entries[-1],
|
|
1325
|
-
"supplies": supply_bundles,
|
|
1326
|
-
}
|
|
1327
|
-
for supply in g.sess.scalars(
|
|
1328
|
-
select(Supply)
|
|
1329
|
-
.where(Supply.id.in_(issue.properties.get("supply_ids", [])))
|
|
1330
|
-
.order_by(Supply.id)
|
|
1331
|
-
).all():
|
|
1332
|
-
era = supply.eras[0]
|
|
1333
|
-
site = era.get_physical_site(g.sess)
|
|
1334
|
-
supply_bundles.append(
|
|
1335
|
-
{"supply": supply, "era": supply.eras[0], "site": site}
|
|
1336
|
-
)
|
|
1337
|
-
bundles.append(bundle)
|
|
1338
|
-
|
|
1339
|
-
return render_template(
|
|
1340
|
-
"dc_issues.html",
|
|
1341
|
-
contract=contract,
|
|
1342
|
-
issue_bundles=bundles,
|
|
1343
1323
|
)
|
|
1324
|
+
bundles = make_issue_bundles(g.sess, issues)
|
|
1344
1325
|
|
|
1345
|
-
|
|
1346
|
-
@e.route("/dc_contracts/<int:contract_id>/issues/download")
|
|
1347
|
-
def dc_issues_download_get(contract_id):
|
|
1348
|
-
contract = Contract.get_dc_by_id(g.sess, contract_id)
|
|
1349
|
-
titles = (
|
|
1350
|
-
"issue_id",
|
|
1351
|
-
"contract_name",
|
|
1352
|
-
"date_created",
|
|
1353
|
-
"status",
|
|
1354
|
-
"subject",
|
|
1355
|
-
"imp_mpan_core",
|
|
1356
|
-
"exp_mpan_core",
|
|
1357
|
-
"site_code",
|
|
1358
|
-
"site_name",
|
|
1359
|
-
"latest_entry_timestamp",
|
|
1360
|
-
"latest_entry_markdown",
|
|
1361
|
-
)
|
|
1362
|
-
rows = []
|
|
1363
|
-
for issue in g.sess.scalars(
|
|
1364
|
-
select(Issue)
|
|
1365
|
-
.where(Issue.contract == contract)
|
|
1366
|
-
.order_by(Issue.is_open.desc(), Issue.date_created)
|
|
1367
|
-
):
|
|
1368
|
-
props = issue.properties
|
|
1369
|
-
values = {
|
|
1370
|
-
"contract_name": contract.name,
|
|
1371
|
-
"issue_id": issue.id,
|
|
1372
|
-
"date_created": issue.date_created,
|
|
1373
|
-
"status": "open" if issue.is_open else "closed",
|
|
1374
|
-
"subject": props.get("subject"),
|
|
1375
|
-
"imp_mpan_core": None,
|
|
1376
|
-
"exp_mpan_core": None,
|
|
1377
|
-
"site_code": None,
|
|
1378
|
-
"site_name": None,
|
|
1379
|
-
}
|
|
1380
|
-
if len(issue.entries) == 0:
|
|
1381
|
-
values["latest_entry_timestamp"] = None
|
|
1382
|
-
values["latest_entry_markdown"] = None
|
|
1383
|
-
else:
|
|
1384
|
-
entry = issue.entries[-1]
|
|
1385
|
-
values["latest_entry_timestamp"] = entry.timestamp
|
|
1386
|
-
values["latest_entry_markdown"] = entry.markdown
|
|
1387
|
-
|
|
1388
|
-
supply_ids = props.get("supply_ids", [])
|
|
1389
|
-
if len(supply_ids) == 0:
|
|
1390
|
-
rows.append([csv_make_val(values[title]) for title in titles])
|
|
1391
|
-
else:
|
|
1392
|
-
for supply in g.sess.scalars(
|
|
1393
|
-
select(Supply)
|
|
1394
|
-
.where(Supply.id.in_(issue.properties.get("supply_ids", [])))
|
|
1395
|
-
.order_by(Supply.id)
|
|
1396
|
-
).all():
|
|
1397
|
-
values = values.copy()
|
|
1398
|
-
era = supply.eras[0]
|
|
1399
|
-
site = era.get_physical_site(g.sess)
|
|
1400
|
-
values["imp_mpan_core"] = era.imp_mpan_core
|
|
1401
|
-
values["exp_mpan_core"] = era.exp_mpan_core
|
|
1402
|
-
values["site_code"] = site.code
|
|
1403
|
-
values["site_name"] = site.name
|
|
1404
|
-
rows.append([csv_make_val(values[title]) for title in titles])
|
|
1405
|
-
|
|
1406
|
-
return _csv_response("dc_issues.csv", titles, rows)
|
|
1326
|
+
return render_template("dc_issues.html", contract=contract, issue_bundles=bundles)
|
|
1407
1327
|
|
|
1408
1328
|
|
|
1409
1329
|
@e.route("/dc_contracts/<int:contract_id>/add_issue")
|
|
@@ -1420,7 +1340,8 @@ def dc_issue_add_post(contract_id):
|
|
|
1420
1340
|
subject = req_str("subject")
|
|
1421
1341
|
|
|
1422
1342
|
now = utc_datetime_now()
|
|
1423
|
-
|
|
1343
|
+
properties = {"subject": subject, "owner_id": g.user.id}
|
|
1344
|
+
issue = contract.insert_issue(g.sess, now, properties)
|
|
1424
1345
|
g.sess.commit()
|
|
1425
1346
|
return chellow_redirect(f"/dc_issues/{issue.id}", 303)
|
|
1426
1347
|
except BadRequest as e:
|
|
@@ -1433,22 +1354,35 @@ def dc_issue_add_post(contract_id):
|
|
|
1433
1354
|
@e.route("/dc_issues/<int:issue_id>")
|
|
1434
1355
|
def dc_issue_get(issue_id):
|
|
1435
1356
|
issue = Issue.get_by_id(g.sess, issue_id)
|
|
1357
|
+
props = issue.properties
|
|
1436
1358
|
supply_bundles = []
|
|
1437
1359
|
for supply in g.sess.scalars(
|
|
1438
1360
|
select(Supply)
|
|
1439
|
-
.where(Supply.id.in_(
|
|
1361
|
+
.where(Supply.id.in_(props.get("supply_ids", [])))
|
|
1440
1362
|
.order_by(Supply.id)
|
|
1441
1363
|
).all():
|
|
1442
1364
|
era = supply.eras[0]
|
|
1443
1365
|
site = era.get_physical_site(g.sess)
|
|
1444
1366
|
supply_bundles.append({"supply": supply, "era": supply.eras[0], "site": site})
|
|
1445
|
-
|
|
1367
|
+
if "owner_id" in props:
|
|
1368
|
+
owner = User.get_by_id(g.sess, props["owner_id"])
|
|
1369
|
+
else:
|
|
1370
|
+
owner = None
|
|
1371
|
+
return render_template(
|
|
1372
|
+
"dc_issue.html", issue=issue, supply_bundles=supply_bundles, owner=owner
|
|
1373
|
+
)
|
|
1446
1374
|
|
|
1447
1375
|
|
|
1448
1376
|
@e.route("/dc_issues/<int:issue_id>/edit")
|
|
1449
1377
|
def dc_issue_edit_get(issue_id):
|
|
1450
1378
|
issue = Issue.get_by_id(g.sess, issue_id)
|
|
1451
|
-
|
|
1379
|
+
users = g.sess.scalars(
|
|
1380
|
+
select(User)
|
|
1381
|
+
.join(UserRole)
|
|
1382
|
+
.where(UserRole.code == "editor")
|
|
1383
|
+
.order_by(User.email_address)
|
|
1384
|
+
)
|
|
1385
|
+
return render_template("dc_issue_edit.html", issue=issue, users=users)
|
|
1452
1386
|
|
|
1453
1387
|
|
|
1454
1388
|
@e.route("/dc_issues/<int:issue_id>/edit", methods=["POST"])
|
|
@@ -1457,13 +1391,23 @@ def dc_issue_edit_post(issue_id):
|
|
|
1457
1391
|
issue = Issue.get_by_id(g.sess, issue_id)
|
|
1458
1392
|
date_created = req_date("date_created")
|
|
1459
1393
|
is_open = req_checkbox("is_open")
|
|
1460
|
-
|
|
1394
|
+
owner_id = req_int("owner_id")
|
|
1395
|
+
properties = issue.properties
|
|
1396
|
+
properties["owner_id"] = owner_id
|
|
1461
1397
|
issue.update(date_created, is_open, properties)
|
|
1462
1398
|
g.sess.commit()
|
|
1463
1399
|
return chellow_redirect(f"/dc_issues/{issue.id}", 303)
|
|
1464
1400
|
except BadRequest as e:
|
|
1465
1401
|
flash(e.description)
|
|
1466
|
-
|
|
1402
|
+
users = g.sess.scalars(
|
|
1403
|
+
select(User)
|
|
1404
|
+
.join(UserRole)
|
|
1405
|
+
.where(UserRole.code == "editor")
|
|
1406
|
+
.order_by(User.email_address)
|
|
1407
|
+
)
|
|
1408
|
+
return make_response(
|
|
1409
|
+
render_template("dc_issue_edit.html", issue=issue, users=users), 400
|
|
1410
|
+
)
|
|
1467
1411
|
|
|
1468
1412
|
|
|
1469
1413
|
@e.route("/dc_issues/<int:issue_id>/edit", methods=["DELETE"])
|
|
@@ -2724,6 +2668,52 @@ def isd_post():
|
|
|
2724
2668
|
return chellow_redirect("/isd", 303)
|
|
2725
2669
|
|
|
2726
2670
|
|
|
2671
|
+
@e.route("/issues")
|
|
2672
|
+
def issues_get():
|
|
2673
|
+
issues = g.sess.scalars(
|
|
2674
|
+
select(Issue).order_by(Issue.is_open.desc(), Issue.date_created)
|
|
2675
|
+
)
|
|
2676
|
+
mop_contracts = g.sess.scalars(
|
|
2677
|
+
select(Contract)
|
|
2678
|
+
.join(Issue)
|
|
2679
|
+
.join(MarketRole)
|
|
2680
|
+
.where(MarketRole.code == "M")
|
|
2681
|
+
.distinct()
|
|
2682
|
+
.order_by(Contract.name)
|
|
2683
|
+
).all()
|
|
2684
|
+
dc_contracts = g.sess.scalars(
|
|
2685
|
+
select(Contract)
|
|
2686
|
+
.join(Issue)
|
|
2687
|
+
.join(MarketRole)
|
|
2688
|
+
.where(MarketRole.code == "C")
|
|
2689
|
+
.distinct()
|
|
2690
|
+
.order_by(Contract.name)
|
|
2691
|
+
).all()
|
|
2692
|
+
supplier_contracts = g.sess.scalars(
|
|
2693
|
+
select(Contract)
|
|
2694
|
+
.join(Issue)
|
|
2695
|
+
.join(MarketRole)
|
|
2696
|
+
.where(MarketRole.code == "X")
|
|
2697
|
+
.distinct()
|
|
2698
|
+
.order_by(Contract.name)
|
|
2699
|
+
).all()
|
|
2700
|
+
owners = g.sess.scalars(
|
|
2701
|
+
select(User)
|
|
2702
|
+
.join(Issue, User.id == cast(Issue.properties["owner_id"], Integer))
|
|
2703
|
+
.distinct()
|
|
2704
|
+
.order_by(User.email_address)
|
|
2705
|
+
).all()
|
|
2706
|
+
bundles = make_issue_bundles(g.sess, issues)
|
|
2707
|
+
return render_template(
|
|
2708
|
+
"issues.html",
|
|
2709
|
+
issue_bundles=bundles,
|
|
2710
|
+
mop_contracts=mop_contracts,
|
|
2711
|
+
dc_contracts=dc_contracts,
|
|
2712
|
+
supplier_contracts=supplier_contracts,
|
|
2713
|
+
owners=owners,
|
|
2714
|
+
)
|
|
2715
|
+
|
|
2716
|
+
|
|
2727
2717
|
@e.route("/lafs")
|
|
2728
2718
|
def lafs_get():
|
|
2729
2719
|
llfc_id = req_int("llfc_id")
|
|
@@ -3518,6 +3508,198 @@ def mop_element_edit_delete(element_id):
|
|
|
3518
3508
|
)
|
|
3519
3509
|
|
|
3520
3510
|
|
|
3511
|
+
@e.route("/mop_contracts/<int:contract_id>/issues")
|
|
3512
|
+
def mop_issues_get(contract_id):
|
|
3513
|
+
contract = Contract.get_mop_by_id(g.sess, contract_id)
|
|
3514
|
+
issues = g.sess.scalars(
|
|
3515
|
+
select(Issue)
|
|
3516
|
+
.where(Issue.contract == contract)
|
|
3517
|
+
.order_by(Issue.is_open.desc(), Issue.date_created)
|
|
3518
|
+
)
|
|
3519
|
+
bundles = make_issue_bundles(g.sess, issues)
|
|
3520
|
+
|
|
3521
|
+
return render_template("mop_issues.html", contract=contract, issue_bundles=bundles)
|
|
3522
|
+
|
|
3523
|
+
|
|
3524
|
+
@e.route("/mop_contracts/<int:contract_id>/add_issue")
|
|
3525
|
+
def mop_issue_add_get(contract_id):
|
|
3526
|
+
contract = Contract.get_mop_by_id(g.sess, contract_id)
|
|
3527
|
+
|
|
3528
|
+
return render_template("mop_issue_add.html", contract=contract)
|
|
3529
|
+
|
|
3530
|
+
|
|
3531
|
+
@e.route("/mop_contracts/<int:contract_id>/add_issue", methods=["POST"])
|
|
3532
|
+
def mop_issue_add_post(contract_id):
|
|
3533
|
+
contract = Contract.get_mop_by_id(g.sess, contract_id)
|
|
3534
|
+
try:
|
|
3535
|
+
subject = req_str("subject")
|
|
3536
|
+
|
|
3537
|
+
now = utc_datetime_now()
|
|
3538
|
+
properties = {"subject": subject, "owner_id": g.user.id}
|
|
3539
|
+
issue = contract.insert_issue(g.sess, now, properties)
|
|
3540
|
+
g.sess.commit()
|
|
3541
|
+
return chellow_redirect(f"/mop_issues/{issue.id}", 303)
|
|
3542
|
+
except BadRequest as e:
|
|
3543
|
+
flash(e.description)
|
|
3544
|
+
return make_response(
|
|
3545
|
+
render_template("mop_issue_add.html", contract=contract), 400
|
|
3546
|
+
)
|
|
3547
|
+
|
|
3548
|
+
|
|
3549
|
+
@e.route("/mop_issues/<int:issue_id>")
|
|
3550
|
+
def mop_issue_get(issue_id):
|
|
3551
|
+
issue = Issue.get_by_id(g.sess, issue_id)
|
|
3552
|
+
props = issue.properties
|
|
3553
|
+
supply_bundles = []
|
|
3554
|
+
for supply in g.sess.scalars(
|
|
3555
|
+
select(Supply)
|
|
3556
|
+
.where(Supply.id.in_(props.get("supply_ids", [])))
|
|
3557
|
+
.order_by(Supply.id)
|
|
3558
|
+
).all():
|
|
3559
|
+
era = supply.eras[0]
|
|
3560
|
+
site = era.get_physical_site(g.sess)
|
|
3561
|
+
supply_bundles.append({"supply": supply, "era": supply.eras[0], "site": site})
|
|
3562
|
+
if "owner_id" in props:
|
|
3563
|
+
owner = User.get_by_id(g.sess, props["owner_id"])
|
|
3564
|
+
else:
|
|
3565
|
+
owner = None
|
|
3566
|
+
return render_template(
|
|
3567
|
+
"mop_issue.html", issue=issue, supply_bundles=supply_bundles, owner=owner
|
|
3568
|
+
)
|
|
3569
|
+
|
|
3570
|
+
|
|
3571
|
+
@e.route("/mop_issues/<int:issue_id>/edit")
|
|
3572
|
+
def mop_issue_edit_get(issue_id):
|
|
3573
|
+
issue = Issue.get_by_id(g.sess, issue_id)
|
|
3574
|
+
users = g.sess.scalars(
|
|
3575
|
+
select(User)
|
|
3576
|
+
.join(UserRole)
|
|
3577
|
+
.where(UserRole.code == "editor")
|
|
3578
|
+
.order_by(User.email_address)
|
|
3579
|
+
)
|
|
3580
|
+
return render_template("mop_issue_edit.html", issue=issue, users=users)
|
|
3581
|
+
|
|
3582
|
+
|
|
3583
|
+
@e.route("/mop_issues/<int:issue_id>/edit", methods=["POST"])
|
|
3584
|
+
def mop_issue_edit_post(issue_id):
|
|
3585
|
+
try:
|
|
3586
|
+
issue = Issue.get_by_id(g.sess, issue_id)
|
|
3587
|
+
date_created = req_date("date_created")
|
|
3588
|
+
is_open = req_checkbox("is_open")
|
|
3589
|
+
owner_id = req_int("owner_id")
|
|
3590
|
+
properties = issue.properties
|
|
3591
|
+
properties["owner_id"] = owner_id
|
|
3592
|
+
issue.update(date_created, is_open, properties)
|
|
3593
|
+
g.sess.commit()
|
|
3594
|
+
return chellow_redirect(f"/mop_issues/{issue.id}", 303)
|
|
3595
|
+
except BadRequest as e:
|
|
3596
|
+
flash(e.description)
|
|
3597
|
+
users = g.sess.scalars(
|
|
3598
|
+
select(User)
|
|
3599
|
+
.join(UserRole)
|
|
3600
|
+
.where(UserRole.code == "editor")
|
|
3601
|
+
.order_by(User.email_address)
|
|
3602
|
+
)
|
|
3603
|
+
return make_response(
|
|
3604
|
+
render_template("mop_issue_edit.html", issue=issue, users=users), 400
|
|
3605
|
+
)
|
|
3606
|
+
|
|
3607
|
+
|
|
3608
|
+
@e.route("/mop_issues/<int:issue_id>/edit", methods=["DELETE"])
|
|
3609
|
+
def mop_issue_edit_delete(issue_id):
|
|
3610
|
+
try:
|
|
3611
|
+
issue = Issue.get_by_id(g.sess, issue_id)
|
|
3612
|
+
contract = issue.contract
|
|
3613
|
+
issue.delete(g.sess)
|
|
3614
|
+
g.sess.commit()
|
|
3615
|
+
return hx_redirect(f"/mop_contracts/{contract.id}/issues", 303)
|
|
3616
|
+
except BadRequest as e:
|
|
3617
|
+
flash(e.description)
|
|
3618
|
+
return make_response(render_template("mop_issue_edit.html", issue=issue), 400)
|
|
3619
|
+
|
|
3620
|
+
|
|
3621
|
+
@e.route("/mop_issues/<int:issue_id>/attach_supply")
|
|
3622
|
+
def mop_issue_attach_supply_get(issue_id):
|
|
3623
|
+
issue = Issue.get_by_id(g.sess, issue_id)
|
|
3624
|
+
return render_template("mop_issue_attach_supply.html", issue=issue)
|
|
3625
|
+
|
|
3626
|
+
|
|
3627
|
+
@e.route("/mop_issues/<int:issue_id>/attach_supply", methods=["POST"])
|
|
3628
|
+
def mop_issue_attach_supply_post(issue_id):
|
|
3629
|
+
issue = Issue.get_by_id(g.sess, issue_id)
|
|
3630
|
+
try:
|
|
3631
|
+
mpan_core_str = req_str("mpan_core")
|
|
3632
|
+
mpan_core = parse_mpan_core(mpan_core_str)
|
|
3633
|
+
supply = Supply.get_by_mpan_core(g.sess, mpan_core)
|
|
3634
|
+
|
|
3635
|
+
props = issue.properties
|
|
3636
|
+
supply_ids = props.get("supply_ids", [])
|
|
3637
|
+
supply_ids.append(supply.id)
|
|
3638
|
+
props["supply_ids"] = supply_ids
|
|
3639
|
+
issue.update_properties(props)
|
|
3640
|
+
g.sess.commit()
|
|
3641
|
+
return chellow_redirect(f"/mop_issues/{issue.id}", 303)
|
|
3642
|
+
except BadRequest as e:
|
|
3643
|
+
flash(e.description)
|
|
3644
|
+
return make_response(
|
|
3645
|
+
render_template("mop_issue_attach_supply.html", issue=issue), 400
|
|
3646
|
+
)
|
|
3647
|
+
|
|
3648
|
+
|
|
3649
|
+
@e.route("/mop_issues/<int:issue_id>/add_entry")
|
|
3650
|
+
def mop_entry_add_get(issue_id):
|
|
3651
|
+
issue = Issue.get_by_id(g.sess, issue_id)
|
|
3652
|
+
return render_template("mop_entry_add.html", issue=issue)
|
|
3653
|
+
|
|
3654
|
+
|
|
3655
|
+
@e.route("/mop_issues/<int:issue_id>/add_entry", methods=["POST"])
|
|
3656
|
+
def mop_entry_add_post(issue_id):
|
|
3657
|
+
issue = Issue.get_by_id(g.sess, issue_id)
|
|
3658
|
+
try:
|
|
3659
|
+
markdown = req_markdown("markdown")
|
|
3660
|
+
|
|
3661
|
+
issue.add_entry(g.sess, markdown)
|
|
3662
|
+
g.sess.commit()
|
|
3663
|
+
return chellow_redirect(f"/mop_issues/{issue.id}", 303)
|
|
3664
|
+
except BadRequest as e:
|
|
3665
|
+
flash(e.description)
|
|
3666
|
+
return make_response(render_template("mop_entry_add.html", issue=issue), 400)
|
|
3667
|
+
|
|
3668
|
+
|
|
3669
|
+
@e.route("/mop_entries/<int:entry_id>/edit")
|
|
3670
|
+
def mop_entry_edit_get(entry_id):
|
|
3671
|
+
entry = IssueEntry.get_by_id(g.sess, entry_id)
|
|
3672
|
+
return render_template("mop_entry_edit.html", entry=entry)
|
|
3673
|
+
|
|
3674
|
+
|
|
3675
|
+
@e.route("/mop_entries/<int:entry_id>/edit", methods=["POST"])
|
|
3676
|
+
def mop_entry_edit_post(entry_id):
|
|
3677
|
+
entry = IssueEntry.get_by_id(g.sess, entry_id)
|
|
3678
|
+
try:
|
|
3679
|
+
markdown = req_markdown("markdown")
|
|
3680
|
+
timestamp = req_date("timestamp")
|
|
3681
|
+
|
|
3682
|
+
entry.update(timestamp, markdown)
|
|
3683
|
+
g.sess.commit()
|
|
3684
|
+
return chellow_redirect(f"/mop_issues/{entry.issue.id}", 303)
|
|
3685
|
+
except BadRequest as e:
|
|
3686
|
+
flash(e.description)
|
|
3687
|
+
return make_response(render_template("mop_entry_edit.html", entry=entry), 400)
|
|
3688
|
+
|
|
3689
|
+
|
|
3690
|
+
@e.route("/mop_entries/<int:entry_id>/edit", methods=["DELETE"])
|
|
3691
|
+
def mop_entry_edit_delete(entry_id):
|
|
3692
|
+
try:
|
|
3693
|
+
entry = IssueEntry.get_by_id(g.sess, entry_id)
|
|
3694
|
+
issue = entry.issue
|
|
3695
|
+
entry.delete(g.sess)
|
|
3696
|
+
g.sess.commit()
|
|
3697
|
+
return hx_redirect(f"/mop_issues/{issue.id}", 303)
|
|
3698
|
+
except BadRequest as e:
|
|
3699
|
+
flash(e.description)
|
|
3700
|
+
return make_response(render_template("mop_entry_edit.html", entry=entry), 400)
|
|
3701
|
+
|
|
3702
|
+
|
|
3521
3703
|
@e.route("/mop_rate_scripts/<int:rate_script_id>")
|
|
3522
3704
|
def mop_rate_script_get(rate_script_id):
|
|
3523
3705
|
rate_script = RateScript.get_mop_by_id(g.sess, rate_script_id)
|
|
@@ -6057,25 +6239,14 @@ def supplier_element_edit_delete(element_id):
|
|
|
6057
6239
|
@e.route("/supplier_contracts/<int:contract_id>/issues")
|
|
6058
6240
|
def supplier_issues_get(contract_id):
|
|
6059
6241
|
contract = Contract.get_supplier_by_id(g.sess, contract_id)
|
|
6060
|
-
|
|
6061
|
-
for issue in g.sess.scalars(
|
|
6242
|
+
issues = g.sess.scalars(
|
|
6062
6243
|
select(Issue)
|
|
6063
6244
|
.where(Issue.contract == contract)
|
|
6064
6245
|
.order_by(Issue.is_open.desc(), Issue.date_created)
|
|
6065
|
-
)
|
|
6066
|
-
|
|
6067
|
-
bundle["issue"] = issue
|
|
6068
|
-
bundle["supplies"] = g.sess.scalars(
|
|
6069
|
-
select(Supply)
|
|
6070
|
-
.where(Supply.id.in_(issue.properties.get("supply_ids", [])))
|
|
6071
|
-
.order_by(Supply.id)
|
|
6072
|
-
).all()
|
|
6073
|
-
bundles.append(bundle)
|
|
6074
|
-
|
|
6246
|
+
)
|
|
6247
|
+
bundles = make_issue_bundles(g.sess, issues)
|
|
6075
6248
|
return render_template(
|
|
6076
|
-
"supplier_issues.html",
|
|
6077
|
-
contract=contract,
|
|
6078
|
-
issue_bundles=bundles,
|
|
6249
|
+
"supplier_issues.html", contract=contract, issue_bundles=bundles
|
|
6079
6250
|
)
|
|
6080
6251
|
|
|
6081
6252
|
|
|
@@ -6093,7 +6264,8 @@ def supplier_issue_add_post(contract_id):
|
|
|
6093
6264
|
subject = req_str("subject")
|
|
6094
6265
|
|
|
6095
6266
|
now = utc_datetime_now()
|
|
6096
|
-
|
|
6267
|
+
properties = {"subject": subject, "owner_id": g.user.id}
|
|
6268
|
+
issue = contract.insert_issue(g.sess, now, properties)
|
|
6097
6269
|
g.sess.commit()
|
|
6098
6270
|
return chellow_redirect(f"/supplier_issues/{issue.id}", 303)
|
|
6099
6271
|
except BadRequest as e:
|
|
@@ -6106,18 +6278,20 @@ def supplier_issue_add_post(contract_id):
|
|
|
6106
6278
|
@e.route("/supplier_issues/<int:issue_id>")
|
|
6107
6279
|
def supplier_issue_get(issue_id):
|
|
6108
6280
|
issue = Issue.get_by_id(g.sess, issue_id)
|
|
6109
|
-
|
|
6110
|
-
|
|
6111
|
-
.where(Supply.id.in_(issue.properties.get("supply_ids", [])))
|
|
6112
|
-
.order_by(Supply.id)
|
|
6113
|
-
)
|
|
6114
|
-
return render_template("supplier_issue.html", issue=issue, supplies=supplies)
|
|
6281
|
+
issue_bundle = make_issue_bundle(g.sess, issue)
|
|
6282
|
+
return render_template("supplier_issue.html", issue_bundle=issue_bundle)
|
|
6115
6283
|
|
|
6116
6284
|
|
|
6117
6285
|
@e.route("/supplier_issues/<int:issue_id>/edit")
|
|
6118
6286
|
def supplier_issue_edit_get(issue_id):
|
|
6119
6287
|
issue = Issue.get_by_id(g.sess, issue_id)
|
|
6120
|
-
|
|
6288
|
+
users = g.sess.scalars(
|
|
6289
|
+
select(User)
|
|
6290
|
+
.join(UserRole)
|
|
6291
|
+
.where(UserRole.code == "editor")
|
|
6292
|
+
.order_by(User.email_address)
|
|
6293
|
+
)
|
|
6294
|
+
return render_template("supplier_issue_edit.html", issue=issue, users=users)
|
|
6121
6295
|
|
|
6122
6296
|
|
|
6123
6297
|
@e.route("/supplier_issues/<int:issue_id>/edit", methods=["POST"])
|
|
@@ -6127,6 +6301,9 @@ def supplier_issue_edit_post(issue_id):
|
|
|
6127
6301
|
date_created = req_date("date_created")
|
|
6128
6302
|
is_open = req_checkbox("is_open")
|
|
6129
6303
|
properties = req_json("properties")
|
|
6304
|
+
owner_id = req_int("owner_id")
|
|
6305
|
+
properties = issue.properties
|
|
6306
|
+
properties["owner_id"] = owner_id
|
|
6130
6307
|
issue.update(date_created, is_open, properties)
|
|
6131
6308
|
g.sess.commit()
|
|
6132
6309
|
return chellow_redirect(f"/supplier_issues/{issue.id}", 303)
|
|
@@ -6580,6 +6757,14 @@ def supply_get(supply_id):
|
|
|
6580
6757
|
line0 = lines[0]
|
|
6581
6758
|
if len(lines) > 1 or len(line0) > 50:
|
|
6582
6759
|
truncated_line = line0[:50]
|
|
6760
|
+
issues = g.sess.scalars(
|
|
6761
|
+
select(Issue)
|
|
6762
|
+
.where(
|
|
6763
|
+
Issue.is_open == true(),
|
|
6764
|
+
Issue.properties["supply_ids"].op("@>")(cast([supply_id], JSONB)),
|
|
6765
|
+
)
|
|
6766
|
+
.order_by(Issue.date_created)
|
|
6767
|
+
).all()
|
|
6583
6768
|
|
|
6584
6769
|
return render_template(
|
|
6585
6770
|
"supply.html",
|
|
@@ -6594,6 +6779,7 @@ def supply_get(supply_id):
|
|
|
6594
6779
|
this_month_start=this_month_start,
|
|
6595
6780
|
batch_reports=batch_reports,
|
|
6596
6781
|
era_bundles=era_bundles,
|
|
6782
|
+
issues=issues,
|
|
6597
6783
|
)
|
|
6598
6784
|
|
|
6599
6785
|
|