Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified locale/en_US/LC_MESSAGES/django.mo
Binary file not shown.
10 changes: 8 additions & 2 deletions locale/en_US/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,12 @@ msgstr "Also delete {num,plural, one{1 associated batch analysis} other{# associ
msgid "ANALYSIS_DESCRIPTION_BETTER"
msgstr "The BETTER analysis leverages better.lbl.gov to calculate energy, cost, and GHG emission savings by comparing the property's change point model with a benchmarked model. The results include saving potential and a list of recommended high-level energy conservation measures."

msgid "ANALYSIS_DESCRIPTION_BSYNCR"
msgid "ANALYSIS_DESCRIPTION_BSyncr"
msgstr "The BSyncr analysis leverages the Normalized Metered Energy Consumption (NMEC) analysis to calculate a change point model. The data are passed to the analysis using BuildingSync. The result of the analysis are the coefficients of the change point model."

msgid "ANALYSIS_DESCRIPTION_BuildingUpgradeRecommendation"
msgstr "The Building Upgrade Recommendation analysis implements a workflow to identify buildings that may need a deep energy retrofit, equipment replaced or re-tuning based on building attributes such as energy use, year built, and square footage."

msgid "ANALYSIS_DESCRIPTION_CO2"
msgstr "This analysis calculates the average annual CO2 emissions for the property's meter data. The analysis requires an eGRID Subregion to be defined in order to accurately determine the emission rates."

Expand All @@ -128,6 +131,9 @@ msgstr "The EEEJ Analysis uses each property's address to identify the 2010 cens
msgid "ANALYSIS_DESCRIPTION_EUI"
msgstr "The EUI analysis will sum the property's meter readings for the last twelve months to calculate the energy use per square footage per year. If there are missing meter readings, then the analysis will return a less that 100% coverage to alert the user that there is a missing meter reading."

msgid "ANALYSIS_DESCRIPTION_ElementStatistics"
msgstr "The Element Statistics analysis looks through a property's element data (if any) to count the number of elements of type 'D.D.C. Control Panel' and saves that quantity to the property"

msgid "AND"
msgstr "AND"

Expand Down Expand Up @@ -3494,7 +3500,7 @@ msgid "TWO_FACTOR_ENABLE"
msgstr "Enable Two-Factor Authentication for your account"

msgid "TWO_FACTOR_REQUIRED"
msgstr "Two-Factor Authentication has been required by an organization admin."
msgstr "Two-Factor Authentication has been required by an organization admin on:"

msgid "TWO_FACTOR_SELECT"
msgstr "Choose one of the following methods to apply two-factor authentication to your SEED account"
Expand Down
Binary file modified locale/fr_CA/LC_MESSAGES/django.mo
Binary file not shown.
11 changes: 9 additions & 2 deletions locale/fr_CA/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,13 @@ msgstr "Supprimez également {num,plural, one{ 1 analyse de lot associée } othe
msgid "ANALYSIS_DESCRIPTION_BETTER"
msgstr "L'analyse BETTER s'appuie sur better.lbl.gov pour calculer les économies d'énergie, de coûts et d'émissions de GES en comparant le modèle de point de changement de la propriété avec un modèle de référence. Les résultats comprennent un potentiel d'économie et une liste de mesures d'économie d'énergie de haut niveau recommandées."

msgid "ANALYSIS_DESCRIPTION_BSYNCR"
msgid "ANALYSIS_DESCRIPTION_BSyncr"
msgstr "L'analyse BSyncr exploite l'analyse de consommation d'énergie normalisée mesurée (NMEC) pour calculer un modèle de point de changement. Les données sont transmises à l'analyse à l'aide de BuildingSync. Le résultat de l'analyse sont les coefficients du modèle de point de changement."

#, fuzzy
msgid "ANALYSIS_DESCRIPTION_BuildingUpgradeRecommendation"
msgstr "Cette analyse met en œuvre un flux de travail pour identifier les bâtiments qui peuvent nécessiter une rénovation énergétique en profondeur, un remplacement ou un réajustement de l'équipement en fonction des attributs du bâtiment tels que la consommation d'énergie, l'année de construction et la superficie en pieds carrés."

msgid "ANALYSIS_DESCRIPTION_CO2"
msgstr "Cette analyse calcule les émissions annuelles moyennes de CO2 pour les données des compteurs de la propriété. L’analyse nécessite la définition d’une sous-région eGRID afin de déterminer avec précision les taux d’émission."

Expand All @@ -130,6 +134,9 @@ msgstr "L'analyse EEEJ utilise l'adresse de chaque propriété pour identifier l
msgid "ANALYSIS_DESCRIPTION_EUI"
msgstr "L'analyse EUI additionnera les relevés de compteurs de la propriété au cours des douze derniers mois pour calculer la consommation d'énergie par pied carré et par an. S'il manque des relevés de compteur, l'analyse renvoie une couverture inférieure à 100 % pour alerter l'utilisateur qu'il manque un relevé de compteur."

msgid "ANALYSIS_DESCRIPTION_ElementStatistics"
msgstr "Cette analyse examine les données des éléments d'une propriété (le cas échéant) pour compter le nombre d'éléments de type « Panneau de configuration DDC » et enregistre cette quantité dans la propriété"

msgid "AND"
msgstr "ET"

Expand Down Expand Up @@ -3523,7 +3530,7 @@ msgid "TWO_FACTOR_ENABLE"
msgstr "Activer l'authentification à deux facteurs pour votre compte"

msgid "TWO_FACTOR_REQUIRED"
msgstr "L'authentification à deux facteurs a été requise par un administrateur d'organisation."
msgstr "L'authentification à deux facteurs a été exigée par un administrateur d'organisation le :"

#, fuzzy
msgid "TWO_FACTOR_SELECT"
Expand Down
1 change: 1 addition & 0 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ requests==2.32.0
probablepeople==0.5.4
xmlschema==1.1.1
lark==0.11.3
pandas==2.2.2

# Parsing and managing geojson data (this is only used in managed tasks at the moment)
geojson==2.5.0
Expand Down
51 changes: 27 additions & 24 deletions seed/static/seed/js/controllers/export_to_cts_modal_controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,39 +11,42 @@ angular.module('SEED.controller.export_to_cts_modal', []).controller('export_to_
'ids',
'org_id',
'inventory_service',
'uploader_service',
// eslint-disable-next-line func-names
function ($http, $scope, $state, $uibModalInstance, user_service, ids, org_id, inventory_service, uploader_service) {
$scope.ids = ids;
$scope.org_id = org_id;
function ($http, $scope, $state, $uibModalInstance, user_service, ids, org_id, inventory_service) {
$scope.exporting = false;

/**
* @type {'evaluation_template' | 'facility_bps_template' | null}
*/
$scope.export_selection = null;
$scope.set_selection = (selection) => {
$scope.export_selection = selection;
};

$scope.set_name = (name) => {
$scope.export_name = name;
};

$scope.export = () => {
let filename = $scope.export_name;
if (!filename.endsWith('.xlsx')) filename += '.xlsx';
$scope.exporting = true;

$http.get('/api/v3/tax_lot_properties/start_export_to_cts/', {
params: {
organization_id: user_service.get_organization().id
}
})
.then((data) => {
uploader_service.check_progress_loop(
data.data.progress_key,
0,
1,
() => {},
() => {},
$scope.exporter_progress
);
return inventory_service.export_to_cts(ids).then((data) => {
const blob_type = data.headers()['content-type'];
const blob = new Blob([data.data], { type: blob_type });
saveAs(blob, filename);
$scope.close();
});
if ($scope.export_selection === 'evaluation_template') {
inventory_service.evaluation_export_to_cts(ids).then((data) => {
const blob_type = data.headers()['content-type'];
const blob = new Blob([data.data], { type: blob_type });
saveAs(blob, filename);
$scope.close();
});
} else if ($scope.export_selection === 'facility_bps_template') {
inventory_service.facility_bps_export_to_cts(org_id, { property_view_ids: ids }).then((data) => {
const blob_type = data.headers()['content-type'];
const blob = new Blob([data.data], { type: blob_type });
saveAs(blob, filename);
$scope.close();
});
}
};

$scope.cancel = () => {
Expand Down
15 changes: 13 additions & 2 deletions seed/static/seed/js/services/inventory_service.js
Original file line number Diff line number Diff line change
Expand Up @@ -1212,8 +1212,10 @@ angular.module('SEED.service.inventory', []).factory('inventory_service', [
organization_id: user_service.get_organization().id
});

inventory_service.export_to_cts = (property_view_ids, filename = 'test.xlsx') => $http.post(
`/api/v3/tax_lot_properties/export_to_cts/?organization_id=${user_service.get_organization().id}`,
// this is the CTS Comprehensive Evaluation Upload Template
// which uses the BAE/BuildingSync workflow
inventory_service.evaluation_export_to_cts = (property_view_ids, filename = 'test.xlsx') => $http.post(
`/api/v3/properties/evaluation_export_to_cts/?organization_id=${user_service.get_organization().id}`,
{
filename,
property_view_ids
Expand All @@ -1223,6 +1225,15 @@ angular.module('SEED.service.inventory', []).factory('inventory_service', [
}
);

// this is the CTS Facility Upload Template for Federal BPS
// which uses the SEED-based workflow (not buildingsync)
inventory_service.facility_bps_export_to_cts = (org_id, property_view_ids) => $http
.post(
`/api/v3/properties/facility_bps_export_to_cts/?organization_id=${org_id}`,
property_view_ids,
{ responseType: 'arraybuffer' }
);

inventory_service.filter_by_property = (cycle_id, property_ids) => $http.post('/api/v3/properties/filter_by_property/', {
organization_id: user_service.get_organization().id,
cycle: cycle_id,
Expand Down
6 changes: 4 additions & 2 deletions seed/static/seed/locales/en_US.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,12 @@
"ALSO_DELETE_ANALYSES": "Also delete {num,plural, one{1 analysis} other{# analyses}}.",
"ALSO_DELETE_BATCH_ANALYSES": "Also delete {num,plural, one{1 associated batch analysis} other{# associated batch analyses}}.",
"ANALYSIS_DESCRIPTION_BETTER": "The BETTER analysis leverages better.lbl.gov to calculate energy, cost, and GHG emission savings by comparing the property's change point model with a benchmarked model. The results include saving potential and a list of recommended high-level energy conservation measures.",
"ANALYSIS_DESCRIPTION_BSYNCR": "The BSyncr analysis leverages the Normalized Metered Energy Consumption (NMEC) analysis to calculate a change point model. The data are passed to the analysis using BuildingSync. The result of the analysis are the coefficients of the change point model.",
"ANALYSIS_DESCRIPTION_BSyncr": "The BSyncr analysis leverages the Normalized Metered Energy Consumption (NMEC) analysis to calculate a change point model. The data are passed to the analysis using BuildingSync. The result of the analysis are the coefficients of the change point model.",
"ANALYSIS_DESCRIPTION_BuildingUpgradeRecommendation": "The Building Upgrade Recommendation analysis implements a workflow to identify buildings that may need a deep energy retrofit, equipment replaced or re-tuning based on building attributes such as energy use, year built, and square footage.",
"ANALYSIS_DESCRIPTION_CO2": "This analysis calculates the average annual CO2 emissions for the property's meter data. The analysis requires an eGRID Subregion to be defined in order to accurately determine the emission rates.",
"ANALYSIS_DESCRIPTION_EEEJ": "The EEEJ Analysis uses each property's address to identify the 2010 census tract. Based on census tract, disadvantaged community classification and energy burden information can be retrieved from the CEJST dataset. The number of affordable housing locations is retrieved from HUD datasets. Location is used to generate a link to view an EJScreen Report providing more demographic indicators.",
"ANALYSIS_DESCRIPTION_EUI": "The EUI analysis will sum the property's meter readings for the last twelve months to calculate the energy use per square footage per year. If there are missing meter readings, then the analysis will return a less that 100% coverage to alert the user that there is a missing meter reading.",
"ANALYSIS_DESCRIPTION_ElementStatistics": "The Element Statistics analysis looks through a property's element data (if any) to count the number of elements of type 'D.D.C. Control Panel' and saves that quantity to the property",
"AND": "AND",
"API Documentation": "API Documentation",
"API Key": "API Key",
Expand Down Expand Up @@ -1140,7 +1142,7 @@
"TWO_FACTOR_DISABLED_TEXT": "Choosing this option will disable two-factor authentication for your account, making it less secure.",
"TWO_FACTOR_EMAIL_SELECTED_TEXT": "Selecting this option will enable two-factor authentication via email ({email}). You will receive a verification code through your registered email address each time you log in.",
"TWO_FACTOR_ENABLE": "Enable Two-Factor Authentication for your account",
"TWO_FACTOR_REQUIRED": "Two-Factor Authentication has been required by an organization admin.",
"TWO_FACTOR_REQUIRED": "Two-Factor Authentication has been required by an organization admin on:",
"TWO_FACTOR_SELECT": "Choose one of the following methods to apply two-factor authentication to your SEED account",
"TWO_FACTOR_TOKEN_SELECTED_TEXT": "Selecting this option will enable two-factor authentication using the token generator app of your choice, such as Google Authenticator, Microsoft Authenticator, or Authy. You will need to scan a QR code to set up the app.",
"TYPE_TO_CONFIRM": "Please type <strong>{org}<\/strong> to confirm.",
Expand Down
6 changes: 4 additions & 2 deletions seed/static/seed/locales/fr_CA.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,12 @@
"ALSO_DELETE_ANALYSES": "Supprimez également {num,plural, one{ 1 analyse } other{# analyses }} .",
"ALSO_DELETE_BATCH_ANALYSES": "Supprimez également {num,plural, one{ 1 analyse de lot associée } other{# analyses de lot associées }} .",
"ANALYSIS_DESCRIPTION_BETTER": "L'analyse BETTER s'appuie sur better.lbl.gov pour calculer les économies d'énergie, de coûts et d'émissions de GES en comparant le modèle de point de changement de la propriété avec un modèle de référence. Les résultats comprennent un potentiel d'économie et une liste de mesures d'économie d'énergie de haut niveau recommandées.",
"ANALYSIS_DESCRIPTION_BSYNCR": "L'analyse BSyncr exploite l'analyse de consommation d'énergie normalisée mesurée (NMEC) pour calculer un modèle de point de changement. Les données sont transmises à l'analyse à l'aide de BuildingSync. Le résultat de l'analyse sont les coefficients du modèle de point de changement.",
"ANALYSIS_DESCRIPTION_BSyncr": "L'analyse BSyncr exploite l'analyse de consommation d'énergie normalisée mesurée (NMEC) pour calculer un modèle de point de changement. Les données sont transmises à l'analyse à l'aide de BuildingSync. Le résultat de l'analyse sont les coefficients du modèle de point de changement.",
"ANALYSIS_DESCRIPTION_BuildingUpgradeRecommendation": "Cette analyse met en œuvre un flux de travail pour identifier les bâtiments qui peuvent nécessiter une rénovation énergétique en profondeur, un remplacement ou un réajustement de l'équipement en fonction des attributs du bâtiment tels que la consommation d'énergie, l'année de construction et la superficie en pieds carrés.",
"ANALYSIS_DESCRIPTION_CO2": "Cette analyse calcule les émissions annuelles moyennes de CO2 pour les données des compteurs de la propriété. L’analyse nécessite la définition d’une sous-région eGRID afin de déterminer avec précision les taux d’émission.",
"ANALYSIS_DESCRIPTION_EEEJ": "L'analyse EEEJ utilise l'adresse de chaque propriété pour identifier le secteur de recensement de 2010. Sur la base des secteurs de recensement, la classification des communautés défavorisées et les informations sur la charge énergétique peuvent être extraites de l'ensemble de données CEJST. Le nombre de logements abordables est extrait des ensembles de données HUD. L'emplacement est utilisé pour générer un lien permettant d'afficher un rapport EJScreen fournissant davantage d'indicateurs démographiques.",
"ANALYSIS_DESCRIPTION_EUI": "L'analyse EUI additionnera les relevés de compteurs de la propriété au cours des douze derniers mois pour calculer la consommation d'énergie par pied carré et par an. S'il manque des relevés de compteur, l'analyse renvoie une couverture inférieure à 100 % pour alerter l'utilisateur qu'il manque un relevé de compteur.",
"ANALYSIS_DESCRIPTION_ElementStatistics": "Cette analyse examine les données des éléments d'une propriété (le cas échéant) pour compter le nombre d'éléments de type « Panneau de configuration DDC » et enregistre cette quantité dans la propriété",
"AND": "ET",
"API Documentation": "Documentation de l'API",
"API Key": "Clé API",
Expand Down Expand Up @@ -1140,7 +1142,7 @@
"TWO_FACTOR_DISABLED_TEXT": "Choisir cette option désactivera l’authentification à deux facteurs pour votre compte, le rendant moins sécurisé.",
"TWO_FACTOR_EMAIL_SELECTED_TEXT": "La sélection de cette option activera l'authentification à deux facteurs par e-mail ( {email} ). Vous recevrez un code de vérification via votre adresse e-mail enregistrée à chaque fois que vous vous connecterez.",
"TWO_FACTOR_ENABLE": "Activer l'authentification à deux facteurs pour votre compte",
"TWO_FACTOR_REQUIRED": "L'authentification à deux facteurs a été requise par un administrateur d'organisation.",
"TWO_FACTOR_REQUIRED": "L'authentification à deux facteurs a été exigée par un administrateur d'organisation le :",
"TWO_FACTOR_SELECT": "Choisissez l'une des méthodes suivantes pour appliquer l'authentification à deux facteurs à votre compte SEED",
"TWO_FACTOR_TOKEN_SELECTED_TEXT": "La sélection de cette option activera l'authentification à deux facteurs à l'aide de l'application génératrice de jetons de votre choix, telle que Google Authenticator, Microsoft Authenticator ou Authy. Vous devrez scanner un code QR pour configurer l'application.",
"TYPE_TO_CONFIRM": "Veuillez saisir <strong> {org} <\/strong> pour confirmer.",
Expand Down
Loading
Loading