diff --git a/README.md b/README.md index 60b559689..ac3f07d0c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ![GitHub last commit](https://img.shields.io/github/last-commit/undp/carbon-registry) ![Uptime](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/undp/carbon-registry-status/master/api/carbon-registry/uptime.json) ![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/undp/carbon-registry/server-deployments.yml?branch=main&label=server%20build) - ![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/undp/carbon-registry/frontend-deployment.yml?branch=main&label=frontend%20build) + ![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/undp/carbon-registry/frontend-deployment-prod.yml?branch=main&label=frontend%20build) [![](https://img.shields.io/badge/chat-SparkBlue-blue)](https://www.sparkblue.org/group/keeping-track-digital-public-goods-paris-agreement) [![](https://img.shields.io/badge/Digital%20Public%20Good-Certified-blueviolet)](https://app.digitalpublicgoods.net/a/10403) diff --git a/backend/services/src/data-importer/importers/itmo-system.service.ts b/backend/services/src/data-importer/importers/itmo-system.service.ts index a2acb4d3f..b9b26602a 100644 --- a/backend/services/src/data-importer/importers/itmo-system.service.ts +++ b/backend/services/src/data-importer/importers/itmo-system.service.ts @@ -91,6 +91,12 @@ export class ITMOSystemImporter implements ImporterInterface { SectoralScope.Agriculture, TypeOfMitigation.AGRICULTURE ] + case "energy-industries": + return [ + Sector.Energy, + SectoralScope.EnergyIndustry, + TypeOfMitigation.EE_INDUSTRY + ] default: return [ Sector.Other, diff --git a/backend/services/src/shared/auth/auth.service.ts b/backend/services/src/shared/auth/auth.service.ts index 03f1d0837..82949b6dc 100644 --- a/backend/services/src/shared/auth/auth.service.ts +++ b/backend/services/src/shared/auth/auth.service.ts @@ -82,6 +82,7 @@ export class AuthService { } async forgotPassword(email: any) { + const hostAddress = this.configService.get("host"); const userDetails = await this.userService.findOne(email); if (userDetails) { console.table(userDetails); @@ -99,6 +100,7 @@ export class AuthService { const templateData = { name: userDetails.name, requestId: requestId, + home: hostAddress, countryName: this.configService.get("systemCountryName"), }; diff --git a/backend/services/src/shared/casl/casl-ability.factory.ts b/backend/services/src/shared/casl/casl-ability.factory.ts index efa76fc0e..054f3aaf6 100644 --- a/backend/services/src/shared/casl/casl-ability.factory.ts +++ b/backend/services/src/shared/casl/casl-ability.factory.ts @@ -40,6 +40,9 @@ export class CaslAbilityFactory { cannot([Action.Update], Company, { companyId: { $ne: user.companyId }, }); + cannot([Action.Update, Action.Delete], User, { + companyId: { $ne: user.companyId }, + }); } else if ( user.role == Role.Admin && user.companyRole == CompanyRole.GOVERNMENT diff --git a/backend/services/src/shared/email-helper/email.template.ts b/backend/services/src/shared/email-helper/email.template.ts index 87f02ab3b..0a3bd021e 100644 --- a/backend/services/src/shared/email-helper/email.template.ts +++ b/backend/services/src/shared/email-helper/email.template.ts @@ -96,7 +96,7 @@ export const EmailTemplates = { Use the link below to set a new password for your account. This password reset is only valid for the next hour.

- Click here to reset the password + Click here to reset the password

If you do not use {{countryName}} Carbon Credit Registry or did not request a password reset, please ignore this email or diff --git a/web/src/Pages/ProgrammeView/programmeView.tsx b/web/src/Pages/ProgrammeView/programmeView.tsx index eef67b66f..c43531fae 100644 --- a/web/src/Pages/ProgrammeView/programmeView.tsx +++ b/web/src/Pages/ProgrammeView/programmeView.tsx @@ -1247,32 +1247,36 @@ const ProgrammeView = () => { let calculations: any = {}; if (data.typeOfMitigation === TypeOfMitigation.AGRICULTURE) { calculations = data.agricultureProperties; - if (calculations.landAreaUnit) { - calculations.landArea = new UnitField( - data.agricultureProperties.landAreaUnit, - addCommSep(data.agricultureProperties.landArea) - ); - // addCommSep(data.agricultureProperties.landArea) + - // ' ' + - // data.agricultureProperties.landAreaUnit; + if (calculations) { + if (calculations.landAreaUnit) { + calculations.landArea = new UnitField( + data.agricultureProperties.landAreaUnit, + addCommSep(data.agricultureProperties.landArea) + ); + // addCommSep(data.agricultureProperties.landArea) + + // ' ' + + // data.agricultureProperties.landAreaUnit; + } + delete calculations.landAreaUnit; } - delete calculations.landAreaUnit; } else if (data.typeOfMitigation === TypeOfMitigation.SOLAR) { calculations = data.solarProperties; - if (calculations.energyGenerationUnit) { - calculations.energyGeneration = new UnitField( - data.solarProperties.energyGenerationUnit, - addCommSep(data.solarProperties.energyGeneration) - ); - // addCommSep(data.solarProperties.energyGeneration) + - // ' ' + - // data.solarProperties.energyGenerationUnit; - } else if (calculations.consumerGroup && typeof calculations.consumerGroup === 'string') { - calculations.consumerGroup = ( - {addSpaces(calculations.consumerGroup)} - ); + if (calculations) { + if (calculations.energyGenerationUnit) { + calculations.energyGeneration = new UnitField( + data.solarProperties.energyGenerationUnit, + addCommSep(data.solarProperties.energyGeneration) + ); + // addCommSep(data.solarProperties.energyGeneration) + + // ' ' + + // data.solarProperties.energyGenerationUnit; + } else if (calculations.consumerGroup && typeof calculations.consumerGroup === 'string') { + calculations.consumerGroup = ( + {addSpaces(calculations.consumerGroup)} + ); + } + delete calculations.energyGenerationUnit; } - delete calculations.energyGenerationUnit; } calculations.constantVersion = data.constantVersion;