From 77974311f42fbeff66c71386c664da53b70b3f93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Mon, 8 Apr 2024 16:05:31 +0200 Subject: [PATCH 01/35] add horizon scanned assessments --- .../Controllers/AlienSpeciesController.cs | 2 +- .../2023/AlienSpeciesDetail.cshtml | 3 +- ...eciecAssessment2023AlienSpeciesCategory.cs | 3 + ...23AlienSpeciesCategoryResource.Designer.cs | 9 ++ ...nt2023AlienSpeciesCategoryResource.en.resx | 3 + ...sment2023AlienSpeciesCategoryResource.resx | 143 ++++++++++-------- .../TransformAlienSpecies.cs | 23 +-- 7 files changed, 115 insertions(+), 71 deletions(-) diff --git a/Assessments.Frontend.Web/Controllers/AlienSpeciesController.cs b/Assessments.Frontend.Web/Controllers/AlienSpeciesController.cs index bd89f909..16b7dfb6 100644 --- a/Assessments.Frontend.Web/Controllers/AlienSpeciesController.cs +++ b/Assessments.Frontend.Web/Controllers/AlienSpeciesController.cs @@ -75,7 +75,7 @@ public async Task Detail(int id) // members by expertgroup if (!assessmentExpertGroupMembers.Any()) { - assessmentExpertGroupMembers = expertGroupMembers.Where(x => x.ExpertGroup == assessment.ExpertGroup) + assessmentExpertGroupMembers = expertGroupMembers.Where(x => x.ExpertGroup == assessment.ExpertGroup).DistinctBy(x => x.FullName) .OrderBy(x => new List { "Leder", "Medlem" }.IndexOf(x.ExpertGroupRole)).ThenBy(x => x.LastName).ToList(); } diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml index ac3228d1..ed580a76 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml @@ -88,7 +88,8 @@ var isMisidentified = assessment.AlienSpeciesCategory == Assessments.Mapping.AlienSpecies.Model.Enums.AlienSpeciecAssessment2023AlienSpeciesCategory.MisIdentified; var showExpertStatement = !isNr && !isEvaluatedAtAnotherLevel; - var showAssessmentReasoning = (isNr || isEvaluatedAtAnotherLevel) && + var isHorizonScanned = Model.Assessment.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment; + var showAssessmentReasoning = !isHorizonScanned && (isNr || isEvaluatedAtAnotherLevel) && (!string.IsNullOrEmpty(Model.ExpertStatementViewModel.MisidentifiedDescription) || !string.IsNullOrEmpty(Model.ExpertStatementViewModel.AllSubTaxaAssessedSeparately) || !string.IsNullOrEmpty(Model.ExpertStatementViewModel.HybridWithoutOwnRiskAssessmentDescription) || diff --git a/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciecAssessment2023AlienSpeciesCategory.cs b/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciecAssessment2023AlienSpeciesCategory.cs index 840977c9..e1c1a88e 100644 --- a/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciecAssessment2023AlienSpeciesCategory.cs +++ b/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciecAssessment2023AlienSpeciesCategory.cs @@ -23,6 +23,9 @@ public enum AlienSpeciecAssessment2023AlienSpeciesCategory [Display(Name = nameof(AlienSpeciesAssessment2023AlienSpeciesCategoryResource.not_alien_species), ResourceType = typeof(AlienSpeciesAssessment2023AlienSpeciesCategoryResource))] NotAlienSpecie, + [Display(Name = nameof(AlienSpeciesAssessment2023AlienSpeciesCategoryResource.horizon_scanned_but_no_risk_assessment), ResourceType = typeof(AlienSpeciesAssessment2023AlienSpeciesCategoryResource))] + HorizonScannedButNoRiskAssessment, + [Display(Name = nameof(AlienSpeciesAssessment2023AlienSpeciesCategoryResource.evaluated_at_another_level), ResourceType = typeof(AlienSpeciesAssessment2023AlienSpeciesCategoryResource))] TaxonEvaluatedAtAnotherLevel, diff --git a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.Designer.cs b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.Designer.cs index fae3e199..97cd6eac 100644 --- a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.Designer.cs +++ b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.Designer.cs @@ -115,6 +115,15 @@ public static string evaluated_at_another_level { } } + /// + /// Looks up a localized string similar to Horisontskannet. + /// + public static string horizon_scanned_but_no_risk_assessment { + get { + return ResourceManager.GetString("horizon_scanned_but_no_risk_assessment", resourceCulture); + } + } + /// /// Looks up a localized string similar to Utenfor avgrensningen. /// diff --git a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.en.resx b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.en.resx index b15e195d..019e6cc8 100644 --- a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.en.resx +++ b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.en.resx @@ -150,4 +150,7 @@ Outside the delimination + + Horizon scanned + \ No newline at end of file diff --git a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.resx b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.resx index 416645f9..1be935e6 100644 --- a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.resx +++ b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.resx @@ -1,76 +1,96 @@  + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + + + + + + + + + + + + + + + + + + - + + @@ -89,13 +109,13 @@ text/microsoft-resx - 1.3 + 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Selvstendig reproduserende @@ -130,4 +150,7 @@ Utenfor avgrensningen + + Horisontskannet + \ No newline at end of file diff --git a/Assessments.Transformation/TransformAlienSpecies.cs b/Assessments.Transformation/TransformAlienSpecies.cs index eeb3b608..5adbaea6 100644 --- a/Assessments.Transformation/TransformAlienSpecies.cs +++ b/Assessments.Transformation/TransformAlienSpecies.cs @@ -77,6 +77,8 @@ public static async Task TransformDataModels(IConfigurationRoot configuration, b if (fa4 == null || AssessmentToBeExcluded(fa4)) continue; + FixImpactCategory(fa4); + // datasett fa4.Attachmemnts = assessment.Attachments.Where(x => !x.IsDeleted).Select(x => new Attachment() { @@ -213,8 +215,8 @@ private static byte[] SanitizedAttachmentFile(Database.Fab4.Models.Attachment at /// private static bool AssessmentToBeExcluded(FA4 fa4) { - // ekskluderer vurderinger som ligger under horisontskanning eller ikke har kategori - if (fa4.HorizonDoScanning || string.IsNullOrEmpty(fa4.Category)) + // ekskluderer vurderinger som ikke har kategori + if (string.IsNullOrEmpty(fa4.Category)) { Progress.ProgressBar.Tick(); return true; @@ -229,13 +231,6 @@ private static bool AssessmentToBeExcluded(FA4 fa4) return true; } - // ekskluderer vurderinger som ikke er ferdigstilte - if (!fa4.EvaluationStatus.Equals("finished", StringComparison.OrdinalIgnoreCase)) - { - Progress.ProgressBar.Tick(); - return true; - } - // ekskluderer vurderinger med pattedyr som er husdyrraser if (new[] { 4937, 4963, 4964, 4965, 5217 }.Contains(fa4.Id)) { @@ -246,6 +241,16 @@ private static bool AssessmentToBeExcluded(FA4 fa4) return false; } + private static void FixImpactCategory(FA4 assessment) + { + if (assessment.HorizonDoScanning) + { + assessment.Category = "NR"; + assessment.AssessmentConclusion = "WillNotBeRiskAssessed"; + assessment.AlienSpeciesCategory = "HorizonScannedButNoRiskAssessment"; + } + } + private static void FixSubSpeciesLinkedToSpecies(List targetItems, List sourceItems) { // lag relasjon mellom underart og art der arten skal representere kategori From 59b8e52a376e85aaa0e1faa9994259c01b4950ae Mon Sep 17 00:00:00 2001 From: Eirik Date: Thu, 6 Jun 2024 15:33:25 +0200 Subject: [PATCH 02/35] Adjust transformation rules and add translation (wip #1415) --- Assessments.Shared/Helpers/DataFilenames.cs | 6 +++-- Assessments.Shared/Helpers/Extensions.cs | 4 +-- ...23AlienSpeciesCategoryResource.Designer.cs | 9 +++++++ ...nt2023AlienSpeciesCategoryResource.en.resx | 3 +++ ...sment2023AlienSpeciesCategoryResource.resx | 3 +++ .../TransformAlienSpecies.cs | 27 +++++++++---------- 6 files changed, 34 insertions(+), 18 deletions(-) diff --git a/Assessments.Shared/Helpers/DataFilenames.cs b/Assessments.Shared/Helpers/DataFilenames.cs index 0d8f3cf0..cfceaf30 100644 --- a/Assessments.Shared/Helpers/DataFilenames.cs +++ b/Assessments.Shared/Helpers/DataFilenames.cs @@ -13,9 +13,11 @@ public static class DataFilenames public const string SpeciesExpertCommitteeMembers = "species-experts.csv"; - public const string AlienSpecies2023 = "alienspecies-2023.json"; + // TODO: midlertidige navn for horisontskanning, endre tilbake etter testing - public const string AlienSpecies2023Temp = "alienspecies-temp-2023.json"; + public const string AlienSpecies2023 = "alienspecies-2023-test.json"; + + public const string AlienSpecies2023Temp = "alienspecies-temp-2023-test.json"; public const string AlienSpeciesExpertCommitteeMembers = "alienspecies-experts.csv"; diff --git a/Assessments.Shared/Helpers/Extensions.cs b/Assessments.Shared/Helpers/Extensions.cs index f58da9d9..9f944e1c 100644 --- a/Assessments.Shared/Helpers/Extensions.cs +++ b/Assessments.Shared/Helpers/Extensions.cs @@ -44,7 +44,7 @@ public static string Description(this Enum value) case { ResourceType: not null, Description: not null }: { var manager = new ResourceManager(attribute.ResourceType); - return manager.GetString(attribute.Description) ?? throw new InvalidOperationException(); + return manager.GetString(attribute.Description); } default: return attribute.Description ?? value.ToString(); @@ -60,7 +60,7 @@ public static string DisplayName(this Enum value) case { ResourceType: not null, Name: not null }: { var manager = new ResourceManager(attribute.ResourceType); - return manager.GetString(attribute.Name) ?? throw new InvalidOperationException(); + return manager.GetString(attribute.Name); } default: return attribute.Name ?? value.ToString(); diff --git a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.Designer.cs b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.Designer.cs index 97cd6eac..165fa68e 100644 --- a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.Designer.cs +++ b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.Designer.cs @@ -124,6 +124,15 @@ public static string horizon_scanned_but_no_risk_assessment { } } + /// + /// Looks up a localized string similar to Horisontskannet. + /// + public static string horizon_scanned_but_not_assessed { + get { + return ResourceManager.GetString("horizon_scanned_but_not_assessed", resourceCulture); + } + } + /// /// Looks up a localized string similar to Utenfor avgrensningen. /// diff --git a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.en.resx b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.en.resx index 019e6cc8..8d35adb1 100644 --- a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.en.resx +++ b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.en.resx @@ -153,4 +153,7 @@ Horizon scanned + + Horizon scanned + \ No newline at end of file diff --git a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.resx b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.resx index 1be935e6..2f2f7874 100644 --- a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.resx +++ b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.resx @@ -153,4 +153,7 @@ Horisontskannet + + Horisontskannet + \ No newline at end of file diff --git a/Assessments.Transformation/TransformAlienSpecies.cs b/Assessments.Transformation/TransformAlienSpecies.cs index 5adbaea6..af06c32b 100644 --- a/Assessments.Transformation/TransformAlienSpecies.cs +++ b/Assessments.Transformation/TransformAlienSpecies.cs @@ -215,40 +215,39 @@ private static byte[] SanitizedAttachmentFile(Database.Fab4.Models.Attachment at /// private static bool AssessmentToBeExcluded(FA4 fa4) { + Progress.ProgressBar.Tick(); + // ekskluderer vurderinger som ikke har kategori if (string.IsNullOrEmpty(fa4.Category)) - { - Progress.ProgressBar.Tick(); return true; - } + + // ekskluderer vurderinger som ikke er ferdigstilte + ikke horisonstskannet + if (!fa4.EvaluationStatus.Equals("finished", StringComparison.OrdinalIgnoreCase) && !fa4.HorizonDoScanning) + return true; // ekskluderer vurderinger som er "ikke fremmed" i 2023 og 2018 if (fa4.AlienSpeciesCategory == "NotAlienSpecie" && fa4.PreviousAssessments.FirstOrDefault(x => x.RevisionYear == 2018) is - { MainCategory: "NotApplicable", MainSubCategory: "notAlienSpecie" }) + { MainCategory: "NotApplicable", MainSubCategory: "notAlienSpecie" }) { - Progress.ProgressBar.Tick(); return true; } // ekskluderer vurderinger med pattedyr som er husdyrraser if (new[] { 4937, 4963, 4964, 4965, 5217 }.Contains(fa4.Id)) - { - Progress.ProgressBar.Tick(); return true; - } return false; } private static void FixImpactCategory(FA4 assessment) { - if (assessment.HorizonDoScanning) - { - assessment.Category = "NR"; - assessment.AssessmentConclusion = "WillNotBeRiskAssessed"; - assessment.AlienSpeciesCategory = "HorizonScannedButNoRiskAssessment"; - } + if (!assessment.HorizonDoScanning) + return; + + assessment.Category = "NR"; + assessment.AssessmentConclusion = "WillNotBeRiskAssessed"; + assessment.AlienSpeciesCategory = "HorizonScannedButNoRiskAssessment"; } private static void FixSubSpeciesLinkedToSpecies(List targetItems, List sourceItems) From 24316f4bb547757c629afa270cca7418567a2fa1 Mon Sep 17 00:00:00 2001 From: Eirik Date: Fri, 7 Jun 2024 10:12:11 +0200 Subject: [PATCH 03/35] Add new properties as enums, handle missing enum translations (#1415) --- .../AlienSpecies/Model/AlienSpeciesAssessment2023.cs | 4 ++++ ...lienSpeciesAssessment2023HorizonEcologicalEffect.cs | 8 ++++++++ ...peciesAssessment2023HorizonEstablismentPotential.cs | 8 ++++++++ .../Profiles/AlienSpeciesAssessment2023Profile.cs | 10 ++++++++++ Assessments.Shared/Helpers/Extensions.cs | 2 +- 5 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEcologicalEffect.cs create mode 100644 Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEstablismentPotential.cs diff --git a/Assessments.Mapping/AlienSpecies/Model/AlienSpeciesAssessment2023.cs b/Assessments.Mapping/AlienSpecies/Model/AlienSpeciesAssessment2023.cs index 7d6b03cd..248cf101 100644 --- a/Assessments.Mapping/AlienSpecies/Model/AlienSpeciesAssessment2023.cs +++ b/Assessments.Mapping/AlienSpecies/Model/AlienSpeciesAssessment2023.cs @@ -685,5 +685,9 @@ public class AlienSpeciesAssessment2023 /// Date of revision of an assessment /// public DateTime RevisionDate { get; set; } + + public AlienSpeciesAssessment2023HorizonEstablismentPotential? HorizonEstablismentPotential { get; set; } + + public AlienSpeciesAssessment2023HorizonEcologicalEffect? HorizonEcologicalEffect { get; set; } } } diff --git a/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEcologicalEffect.cs b/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEcologicalEffect.cs new file mode 100644 index 00000000..7f43d21d --- /dev/null +++ b/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEcologicalEffect.cs @@ -0,0 +1,8 @@ +namespace Assessments.Mapping.AlienSpecies.Model.Enums; + +public enum AlienSpeciesAssessment2023HorizonEcologicalEffect +{ + No, + YesWhilePresent, + YesAfterGone +} \ No newline at end of file diff --git a/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEstablismentPotential.cs b/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEstablismentPotential.cs new file mode 100644 index 00000000..6f774d2c --- /dev/null +++ b/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEstablismentPotential.cs @@ -0,0 +1,8 @@ +namespace Assessments.Mapping.AlienSpecies.Model.Enums; + +public enum AlienSpeciesAssessment2023HorizonEstablismentPotential +{ + Zero = 0, + One = 1, + TwoOrMore = 2 +} \ No newline at end of file diff --git a/Assessments.Mapping/AlienSpecies/Profiles/AlienSpeciesAssessment2023Profile.cs b/Assessments.Mapping/AlienSpecies/Profiles/AlienSpeciesAssessment2023Profile.cs index b5ade618..aefd8a53 100644 --- a/Assessments.Mapping/AlienSpecies/Profiles/AlienSpeciesAssessment2023Profile.cs +++ b/Assessments.Mapping/AlienSpecies/Profiles/AlienSpeciesAssessment2023Profile.cs @@ -248,6 +248,16 @@ public AlienSpeciesAssessment2023Profile() }) .ForMember(dest => dest.ReasonForChangeOfCategory, opt => opt.MapFrom(src => AlienSpeciesAssessment2023ProfileHelper.GetReasonForChangeOfCategory(src.ReasonForChangeOfCategory))) .ForMember(dest => dest.RevisionDate, opt => opt.MapFrom(src => AlienSpeciesAssessment2023ProfileHelper.GetRevisionDate(src.Id))) + + // horisontskanning + .ForMember(dest => dest.HorizonEstablismentPotential, opt => + { + opt.PreCondition(src => src.HorizonDoScanning); + }) + .ForMember(dest => dest.HorizonEcologicalEffect, opt => + { + opt.PreCondition(src => src.HorizonDoScanning); + }) .AfterMap((_, dest) => dest.PreviousAssessments = AlienSpeciesAssessment2023ProfileHelper.GetPreviousAssessments(dest.PreviousAssessments)); diff --git a/Assessments.Shared/Helpers/Extensions.cs b/Assessments.Shared/Helpers/Extensions.cs index 9f944e1c..bee2aef1 100644 --- a/Assessments.Shared/Helpers/Extensions.cs +++ b/Assessments.Shared/Helpers/Extensions.cs @@ -63,7 +63,7 @@ public static string DisplayName(this Enum value) return manager.GetString(attribute.Name); } default: - return attribute.Name ?? value.ToString(); + return attribute?.Name ?? value.ToString(); } } From 3c7b4e0ff4bf129d970b633fffee51daa7c584f5 Mon Sep 17 00:00:00 2001 From: Eirik Date: Fri, 7 Jun 2024 13:24:26 +0200 Subject: [PATCH 04/35] Change expertcommittee members filename temporarily for testing (#1416) --- Assessments.Shared/Helpers/DataFilenames.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assessments.Shared/Helpers/DataFilenames.cs b/Assessments.Shared/Helpers/DataFilenames.cs index cfceaf30..cae9c7de 100644 --- a/Assessments.Shared/Helpers/DataFilenames.cs +++ b/Assessments.Shared/Helpers/DataFilenames.cs @@ -19,7 +19,7 @@ public static class DataFilenames public const string AlienSpecies2023Temp = "alienspecies-temp-2023-test.json"; - public const string AlienSpeciesExpertCommitteeMembers = "alienspecies-experts.csv"; + public const string AlienSpeciesExpertCommitteeMembers = "alienspecies-experts-test.csv"; public static string CalculateAlienSpecies2023AttachmentFilePath(int attachmentId, string fileName) { From 8190ea567010471d4fa634a39161b95806699fbb Mon Sep 17 00:00:00 2001 From: Ane Marlene Myhre Date: Tue, 18 Jun 2024 14:25:21 +0200 Subject: [PATCH 05/35] test translation consept for assessment partials --- Assessments.Frontend.Web/Infrastructure/Constants.cs | 4 ++-- .../Resources/SharedResourcesAlienSpecies.en.resx | 6 ++++++ .../Resources/SharedResourcesAlienSpecies.resx | 6 ++++++ .../2023/AssessmentPartials/_RiskCategoryExplanation.cshtml | 4 +++- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Assessments.Frontend.Web/Infrastructure/Constants.cs b/Assessments.Frontend.Web/Infrastructure/Constants.cs index 91e9a395..05cf29a6 100644 --- a/Assessments.Frontend.Web/Infrastructure/Constants.cs +++ b/Assessments.Frontend.Web/Infrastructure/Constants.cs @@ -381,8 +381,8 @@ public class SearchAndFiltersAlienSpecies public const string noRisk = "ingen kjent risiko"; public const string noRiskExplanation = "NK og har dermed ingen avgjørende kriterier."; - public const string criteriaExplanationString = "Artens risikokategori bestemmes av artens høyeste skår på invasjonspotensial (x-aksen i risikomatrisa) og på økologisk effekt (y-aksen i risikomatrisa). Kriteriet(ene) arten skårer høyest på for hver av aksene i matrisa er artens avgjørende kriterier."; - public const string readMoreAboutCriterias = "Les mer om kriteriene"; + //public const string criteriaExplanationString = "Artens risikokategori bestemmes av artens høyeste skår på invasjonspotensial (x-aksen i risikomatrisa) og på økologisk effekt (y-aksen i risikomatrisa). Kriteriet(ene) arten skårer høyest på for hver av aksene i matrisa er artens avgjørende kriterier."; + //public const string readMoreAboutCriterias = "Les mer om kriteriene"; public const string xAxisExplanation = "Artens invasjonspotensial bestemmes av tre kriterier: Artens mediane levetid i Norge (A-kriteriet), artens ekspansjonshastighet (B-kriteriet) og størrelsen på naturtypeareal som arten koloniserer (C-kriteriet)."; public const string yAxisExplanation = "Artens økologiske effekt bestemmes av seks kriterier: Artens effekter på stedegne arter (D- og E-kriteriet), artens effekter på naturtyper (F- og G-kriteriet), genetisk forurensning av stedegne arter (H-kriteriet) og overføring av parasitter eller patogener til stedegne arter (I-kriteriet)."; diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx index 2980c465..56c303a4 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx @@ -120,4 +120,10 @@ Alien species list + + The impact category of a species is determined by the species' highest score on invasion potential (x-axis in the impact matrix) and ecological effect (y-axis in the impact matrix). The criterion(s) the species scores highest on for each of the axes in the matrix are the species' decisive criteria. + + + Read more about the criteria + \ No newline at end of file diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx index 57197667..0dc9d2c4 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx @@ -120,4 +120,10 @@ Fremmedartslista + + Artens risikokategori bestemmes av artens høyeste skår på invasjonspotensial (x-aksen i risikomatrisa) og på økologisk effekt (y-aksen i risikomatrisa). Kriteriet(ene) arten skårer høyest på for hver av aksene i matrisa er artens avgjørende kriterier. + + + Les mer om kriteriene + \ No newline at end of file diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_RiskCategoryExplanation.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_RiskCategoryExplanation.cshtml index e2d43b3f..bace4589 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_RiskCategoryExplanation.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_RiskCategoryExplanation.cshtml @@ -1,5 +1,7 @@ @model AlienSpeciesDetailViewModel @using Assessments.Mapping.AlienSpecies.Model.Enums +@inject IStringLocalizer Localizer +@* @inject IHtmlLocalizer LocalizerHtml *@ @{ var criteriaLetters = "ABCDEFGHI"; @@ -25,7 +27,7 @@

@Constants.HeadingsNo.RiskCategoryExplanation

-

@Constants.criteriaExplanationString @Constants.readMoreAboutCriterias.

+

@Localizer["body_criteria_explanation_general_text"] @Localizer["body_link_to_criteria_page_text"].

@Html.Raw(Constants.xAxisExplanation)

From cf2486a75b0b15e8fcf5045b2e840ef6076e9239 Mon Sep 17 00:00:00 2001 From: Ane Marlene Myhre Date: Tue, 18 Jun 2024 14:49:38 +0200 Subject: [PATCH 06/35] change settings to not transform assessments in prod --- Assessments.Frontend.Web/appsettings.Production.json | 4 ++-- Assessments.Frontend.Web/appsettings.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Assessments.Frontend.Web/appsettings.Production.json b/Assessments.Frontend.Web/appsettings.Production.json index 94c7b11a..59e0bf78 100644 --- a/Assessments.Frontend.Web/appsettings.Production.json +++ b/Assessments.Frontend.Web/appsettings.Production.json @@ -11,10 +11,10 @@ "AlienSpecies2023": { "Enabled": true, "IsHearing": false, - "TransformAssessments": true + "TransformAssessments": false }, "Species2021": { - "TransformAssessments": true + "TransformAssessments": false } } } diff --git a/Assessments.Frontend.Web/appsettings.json b/Assessments.Frontend.Web/appsettings.json index 11f950e0..bd460fa5 100644 --- a/Assessments.Frontend.Web/appsettings.json +++ b/Assessments.Frontend.Web/appsettings.json @@ -17,10 +17,10 @@ "AlienSpecies2023": { "Enabled": true, // toogle alien species 2003 views and links "IsHearing": true, // toggles feedback (enabled if true) and export/citation/statistics (disabled if true) during "innsynet" - "TransformAssessments": true + "TransformAssessments": false }, "Species2021": { - "TransformAssessments": true + "TransformAssessments": false } } } From bf14b677cfb146920ca9adfd36e6fd93ef590794 Mon Sep 17 00:00:00 2001 From: Ane Marlene Myhre Date: Tue, 18 Jun 2024 20:37:55 +0200 Subject: [PATCH 07/35] translate intro info-text and table of content -category explaination --- .../SharedResourcesAlienSpecies.en.resx | 19 +++++++++++++++++-- .../SharedResourcesAlienSpecies.resx | 19 +++++++++++++++++-- .../2023/AlienSpeciesDetail.cshtml | 5 +++-- .../_RiskCategoryExplanation.cshtml | 16 ++++++++-------- 4 files changed, 45 insertions(+), 14 deletions(-) diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx index 56c303a4..cb74c744 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx @@ -120,10 +120,25 @@ Alien species list - + The impact category of a species is determined by the species' highest score on invasion potential (x-axis in the impact matrix) and ecological effect (y-axis in the impact matrix). The criterion(s) the species scores highest on for each of the axes in the matrix are the species' decisive criteria. - + Read more about the criteria + + <b>The species' invasion potential</b> is determined by three criteria: The species' median lifetime in Norway (Criterion A), the species' expansion speed (Criterion B), and the proportion of the total area of an ecosystem colonised by the alien species (Criterion C). + + + <b>The species' ecological effect</b> is determined by six criteria: The species' effects on native species (Criteria D and E), the species' effects on ecosystems (Criteria F and G), transfer of genetic material to native species (Criterion H), and transmission of parasites or pathogens to native species (Criterion I). + + + What determines the species' impact category + + + Decisive criteria + + + Non-decisive criteria + \ No newline at end of file diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx index 0dc9d2c4..dc97f784 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx @@ -120,10 +120,25 @@ Fremmedartslista - + Artens risikokategori bestemmes av artens høyeste skår på invasjonspotensial (x-aksen i risikomatrisa) og på økologisk effekt (y-aksen i risikomatrisa). Kriteriet(ene) arten skårer høyest på for hver av aksene i matrisa er artens avgjørende kriterier. - + Les mer om kriteriene + + <b>Artens invasjonspotensial</b> bestemmes av tre kriterier: Artens mediane levetid i Norge (A-kriteriet), artens ekspansjonshastighet (B-kriteriet) og størrelsen på naturtypeareal som arten koloniserer (C-kriteriet). + + + <b>Artens økologiske effekt</b> bestemmes av seks kriterier: Artens effekter på stedegne arter (D- og E-kriteriet), artens effekter på naturtyper (F- og G-kriteriet), genetisk forurensning av stedegne arter (H-kriteriet) og overføring av parasitter eller patogener til stedegne arter (I-kriteriet). + + + Hva bestemmer artens risikokategori + + + Avgjørende kriterier + + + Øvrige kriterier + \ No newline at end of file diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml index 103bad09..23c70f37 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml @@ -2,6 +2,7 @@ @using Assessments.Mapping.AlienSpecies.Model.Enums @using Microsoft.AspNetCore.Mvc.TagHelpers @using Assessments.Data.Models +@inject IStringLocalizer Localizer @{ var assessment = Model.Assessment; @@ -129,8 +130,8 @@ }, new () { - ElementId = nameof(Constants.HeadingsNo.RiskCategoryExplanation), - Title = Constants.HeadingsNo.RiskCategoryExplanation, + ElementId = @Localizer["category_explaination_heading"].Name, + Title = @Localizer["category_explaination_heading"], ShouldShow = showRiskCategoryExplanation }, new () diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_RiskCategoryExplanation.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_RiskCategoryExplanation.cshtml index bace4589..ce30b04a 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_RiskCategoryExplanation.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_RiskCategoryExplanation.cshtml @@ -1,7 +1,7 @@ @model AlienSpeciesDetailViewModel @using Assessments.Mapping.AlienSpecies.Model.Enums @inject IStringLocalizer Localizer -@* @inject IHtmlLocalizer LocalizerHtml *@ +@inject IHtmlLocalizer LocalizerHtml @{ var criteriaLetters = "ABCDEFGHI"; @@ -23,19 +23,19 @@ }; } -
+
-

@Constants.HeadingsNo.RiskCategoryExplanation

+

@Localizer["category_explaination_heading"]

-

@Localizer["body_criteria_explanation_general_text"] @Localizer["body_link_to_criteria_page_text"].

+

@Localizer["category_explanation_intro_text"] @Localizer["link_to_criteria_page_text"].

-

@Html.Raw(Constants.xAxisExplanation)

+

@LocalizerHtml["category_explaination_x_axis_explaination"]

-

@Html.Raw(Constants.yAxisExplanation)

+

@LocalizerHtml["category_explaination_y_axis_explaination"]

- - + +
From 82a054b78500d0dbda4daae1a8ddffe93b6c76c8 Mon Sep 17 00:00:00 2001 From: Ane Marlene Myhre Date: Tue, 18 Jun 2024 20:38:59 +0200 Subject: [PATCH 08/35] delete constants that are no longer in use --- Assessments.Frontend.Web/Infrastructure/Constants.cs | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Assessments.Frontend.Web/Infrastructure/Constants.cs b/Assessments.Frontend.Web/Infrastructure/Constants.cs index 05cf29a6..c50206d8 100644 --- a/Assessments.Frontend.Web/Infrastructure/Constants.cs +++ b/Assessments.Frontend.Web/Infrastructure/Constants.cs @@ -30,7 +30,6 @@ public static class SubHeadings public static readonly string TableOfContents = "Innhold på siden"; public static readonly string ExpertSummary = "Ekspertenes oppsummering"; public static readonly string AssesmentReasoning = "Begrunnelse"; - public static readonly string RiskCategoryExplanation = "Hva forklarer artens risikokategori"; public static readonly string CategoryChange = "Endring av risikokategori fra 2018"; public static readonly string ClimateEffectsInvationpotential = "Effekt av klimaendringer"; public static readonly string GeographicVariationInCategory = "Geografisk variasjon i risiko"; @@ -381,12 +380,6 @@ public class SearchAndFiltersAlienSpecies public const string noRisk = "ingen kjent risiko"; public const string noRiskExplanation = "NK og har dermed ingen avgjørende kriterier."; - //public const string criteriaExplanationString = "Artens risikokategori bestemmes av artens høyeste skår på invasjonspotensial (x-aksen i risikomatrisa) og på økologisk effekt (y-aksen i risikomatrisa). Kriteriet(ene) arten skårer høyest på for hver av aksene i matrisa er artens avgjørende kriterier."; - //public const string readMoreAboutCriterias = "Les mer om kriteriene"; - - public const string xAxisExplanation = "Artens invasjonspotensial bestemmes av tre kriterier: Artens mediane levetid i Norge (A-kriteriet), artens ekspansjonshastighet (B-kriteriet) og størrelsen på naturtypeareal som arten koloniserer (C-kriteriet)."; - public const string yAxisExplanation = "Artens økologiske effekt bestemmes av seks kriterier: Artens effekter på stedegne arter (D- og E-kriteriet), artens effekter på naturtyper (F- og G-kriteriet), genetisk forurensning av stedegne arter (H-kriteriet) og overføring av parasitter eller patogener til stedegne arter (I-kriteriet)."; - public const string seeOtherTab = "Se fanen Øvrige kriterier."; public const string noDecisiveCriteriaXAxis = "Arten har lite invasjonspotensial og har dermed ingen utslag på kriterier på invasjonsaksen."; From 360b9c816c00616565ef0581fa77c8da186c459b Mon Sep 17 00:00:00 2001 From: Ane Marlene Myhre Date: Fri, 21 Jun 2024 10:16:15 +0200 Subject: [PATCH 09/35] fix #1424 --- Assessments.Frontend.Web/Infrastructure/Helpers.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assessments.Frontend.Web/Infrastructure/Helpers.cs b/Assessments.Frontend.Web/Infrastructure/Helpers.cs index 983a35bc..0ec24ccf 100644 --- a/Assessments.Frontend.Web/Infrastructure/Helpers.cs +++ b/Assessments.Frontend.Web/Infrastructure/Helpers.cs @@ -249,7 +249,7 @@ public static string[] FindEuropeanPopProcentages(string[] europeanPopulation) public static string removeLineBreaksForMobile(string text) { - return text.Replace("
", "").Replace("", ""); + return text.Replace("
", "").Replace("", "").Replace("
", ""); } public static bool IsNotEmpty(string key) From 6a5e9f4277e006aa49edf7e9c69cc343bcc55530 Mon Sep 17 00:00:00 2001 From: Ane Marlene Myhre Date: Thu, 1 Aug 2024 13:53:10 +0200 Subject: [PATCH 10/35] ittybitty refactoration.. --- .../Views/AlienSpecies/AlienSpeciesHome.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/AlienSpeciesHome.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/AlienSpeciesHome.cshtml index e93b308a..a893430a 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/AlienSpeciesHome.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/AlienSpeciesHome.cshtml @@ -2,7 +2,7 @@ @inject IStringLocalizer LocalizerShared @{ - ViewData["Title"] = LocalizerShared["alien-species-list"]; + ViewData["Title"] = LocalizerShared["alien_species_list"]; }
From 39dd9e0be9cf3452db1147cc5e9f90fe544244c8 Mon Sep 17 00:00:00 2001 From: Ane Marlene Myhre Date: Thu, 1 Aug 2024 13:56:19 +0200 Subject: [PATCH 11/35] translate category explaination intro + start of translation of criteria description/content (mostly tables for D, E, F and G). --- .../Infrastructure/Constants.cs | 29 ---- .../Resources/SharedResources.Designer.cs | 45 +++++++ .../Resources/SharedResources.en.resx | 17 ++- .../Resources/SharedResources.resx | 15 +++ .../SharedResourcesAlienSpecies.en.resx | 89 +++++++++++-- .../SharedResourcesAlienSpecies.resx | 85 ++++++++++-- .../_CriteriaExplanation.cshtml | 126 +++++++++--------- .../_RiskCategoryExplanation.cshtml | 7 +- 8 files changed, 302 insertions(+), 111 deletions(-) diff --git a/Assessments.Frontend.Web/Infrastructure/Constants.cs b/Assessments.Frontend.Web/Infrastructure/Constants.cs index c50206d8..5111a3c0 100644 --- a/Assessments.Frontend.Web/Infrastructure/Constants.cs +++ b/Assessments.Frontend.Web/Infrastructure/Constants.cs @@ -18,7 +18,6 @@ public static class SubHeadings public static readonly string SpreadWays = "Spredningsmåter"; public static readonly string CriteriaDocumentationInvasionPotential = "Invasjonspotensial"; public static readonly string CriteriaDocumentationEcoEffect = "Økologisk effekt"; - public static readonly string RiskCategoryExplanationInvasionPotential = "Invasjonspotensial"; public static readonly string RiskCategoryExplanationEcoEffect = "Økologisk effekt"; public static readonly string RegionalSpreadArea = "Forekomstareal"; public static readonly string RegionalSpreadObservations = "Fylkesforekomster"; @@ -376,20 +375,12 @@ public class SearchAndFiltersAlienSpecies /* Criteria Explanation */ - public const string speciesEvaluatedTo = "Arten er vurdert til "; - public const string noRisk = "ingen kjent risiko"; - public const string noRiskExplanation = "NK og har dermed ingen avgjørende kriterier."; - public const string seeOtherTab = "Se fanen Øvrige kriterier."; public const string noDecisiveCriteriaXAxis = "Arten har lite invasjonspotensial og har dermed ingen utslag på kriterier på invasjonsaksen."; public const string showDetailsButton = "Vis detaljer"; public const string hideDetailsButton = "Skjul detaljer"; - public const string determeningCriteriaHeading = "Avgjørende kriterier"; - public const string otherCriteriaHeading = "Øvrige kriterier"; public const string estimationMethod = "Estimeringsmetode:"; - public const string ScoreExplanationScore = "Dette tilsvarer skår"; - public const string JustScore = "skår"; public const string basedOnEstimatesPlural = "Basert på de beste anslagene på "; public const string basedOnEstimatesSingular = "Basert på det beste anslaget på"; @@ -416,7 +407,6 @@ public class SearchAndFiltersAlienSpecies public const string downTo = "ned mot"; public const string upTo = "opp mot"; public const string mPerYear = "m/år"; - public const string speciesHas = "Arten har"; public const string medianLifeEst = "Basert på de demografiske nøkkeltallene er det beste anslaget for artens mediane levetid i Norge estimert til "; public const string modelAndProgram = "Beskrivelse av modeller og programvare som er brukt: "; @@ -430,7 +420,6 @@ public class SearchAndFiltersAlienSpecies public const string expansionSpeedEst = "er ekspansjonshastigheten estimert til"; public const string expansion = "ekspansjon"; - public const string isScore = "Dette tilsvarer skår"; public const string atBCrit = "på B-kriteriet"; public const string methodDescriptionUnaidedFuture = "Denne estimeringsmetoden anslår ekspansjonshastigheten ut fra forventet endring i forekomstareal framover i tid."; public const string commentData = "Kommentar til datagrunnlaget:"; @@ -487,35 +476,17 @@ public class AlienSpeciesTables public const string ExpansionSpeedAOOKnownAreaCorrected = "Kjent forekomstareal (km2)
korrigert for tiltak"; /*Criteria D, E, H and I*/ - public const string CriteriaDSpeciesNaturetypesTableTitle = "Artens negative effekter på grupper av arter (inkludert trua arter eller nøkkelarter)."; - public const string CriteriaDSpeciesNaturetypesTableDescription = "Tabellen viser hvilken type interaksjon den fremmede arten har med grupper av stedegne arter (hvor minst én av artene er trua eller nøkkelart), samt interaksjonens styre og omfang. Den negative interaksjonen med stedegne arter er gitt for hver naturtype. Kun effekter som er dokumentert i Norge eller i utlandet (for arten selv eller en sammenlignbar art), eller som sannsynlig vil opptre i Norge i løpet av 50 år, er inkludert."; - public const string CriteriaESpeciesNaturetypesTableTitle = "Artens negative effekter på grupper av stedegne arter."; - public const string CriteriaESpeciesNaturetypesTableDescription = "Tabellen viser hvilken type interaksjon den fremmede arten har med grupper av stedegne arter, samt interaksjonens styre og omfang. Den negative interaksjonen med stedegne arter er gitt for hver naturtype. Kun effekter som er dokumentert i Norge eller i utlandet (for arten selv eller en sammenlignbar art), eller som sannsynlig vil opptre i Norge i løpet av 50 år, er inkludert."; - public const string CriteriaDSpeciesTableTitle = "Artens negative effekter på trua arter eller nøkkelarter."; - public const string CriteriaDSpeciesTableDescription = "Tabellen viser hvilken type interaksjon den fremmede arten har med stedegne trua arter eller nøkkelarter, samt interaksjonens styre og omfang. Kun effekter som er dokumentert i Norge eller i utlandet (for arten selv eller en sammenlignbar art), eller som sannsynlig vil opptre i Norge i løpet av 50 år, er inkludert."; - - public const string CriteriaESpeciesTableTitle = "Artens negative effekter på stedegne arter (ikke trua eller sjelden)."; - public const string CriteriaESpeciesTableDescription = "Tabellen viser hvilken type interaksjon den fremmede arten har med stedegne arter, samt interaksjonens styre og omfang. Kun effekter som er dokumentert i Norge eller i utlandet (for arten selv eller en sammenlignbar art), eller som sannsynlig vil opptre i Norge i løpet av 50 år, er inkludert."; public const string CriteriaHIntrogressionTableTitle = "Overføring av genetisk materiale."; public const string CriteriaHIntrogressionTableDescription = "Tabellen viser hvilke stedegne arter som blir, eller kan bli, genetisk forurenset av den fremmede arten. Med genetisk forurensning menes introgresjon, hybridisering alene er ikke tilstrekkelig. Kun genetisk forurensing som er dokumentert eller sannsynlig er inkludert."; public const string CriteriaIParasitesTableTitle = "Overføring av parasitter og patogener."; public const string CriteriaIParasitesTableDescription = "Tabellen viser hvilke parasitter eller patogener (inkludert bakterier og virus) arten er vurdert å overføre til stedegne verter, om parasitten er kjent for verten eller ei, samt om parasitten er fremmed eller stedegen. Den økologiske effekten av overføringen kan ikke være større enn den økologiske effekten parasitten selv vurderes å ha etter kriteriene D til H. Kun overføringer av parasitter og patogener som er dokumentert eller sannsynlig er inkludert."; - public const string KeyStoneSpeciesTableColumn = "Nøkkelart?"; public const string RedListCategoryTableColumn = "Kategori
Rødlista 2021"; - public const string InteractionStrengthTableColumn = "Interaksjonens styrke"; - public const string ScaleTableColumn = "Geografisk omfang"; - public const string InteractionTypeTableColumn = "Type interaksjon"; - public const string NaturetypeDAndETableColumn1 = "Påvirkede
arter i"; - public const string NaturetypeDAndETableColumn2 = "Nøkkelarter
eller truede
arter?"; /*Criteria C, F, G and impacted naturetypes (incl. microhabitats)*/ public const string CriteriaCNaturetypesTableTitle = "Artens koloniserte naturtypeareal."; public const string CriteriaCNaturetypesTableDescription = "Tabellen viser hvilke(n) naturtype(r) den fremmede arten koloniserer nå eller i framtida. Andel kolonisert areal (%) av totalt naturtypeareal og vurderingsgrunnlag er gitt for hver naturtype."; - public const string CriteriaFNaturetypesTableTitle = "Artens negative effekter på truede eller sjeldne naturtyper."; - public const string CriteriaGNaturetypesTableTitle = "Artens negative effekter på naturtyper (ikke trua eller sjelden)."; - public const string CriteriaFAndGNaturetypesTableDescription = "Tabellen viser hvilke(n) naturtype(r) som påvirkes av den fremmede arten nå eller i framtida. Type tilstandsendring, hvor stor del av naturtypearealet som påvirkes og vurderingsgrunnlag er gitt for hver naturtype. Se retningslinjene for beskrivelse av tydelig tilstandsendring."; public const string ImpactedNatureTypesCurrentTableTitle = "Truede, sjeldne eller øvrige naturtyper arten er observert i. "; public const string ImpactedNatureTypesFutureTableTitle = "Truede, sjeldne eller øvrige naturtyper som er potensielle habitater for arten i Norge. "; public const string ImpactedNatureTypesCurrentTableDescription = "Tabellen viser anslått kolonisert areal (C-kriteriet) i de naturtypene arten er observert i, samt artens påvirkning i naturtypen og anslått andel av naturtypens areal som blir påvirket (F- og G-kriteriet)."; diff --git a/Assessments.Frontend.Web/Resources/SharedResources.Designer.cs b/Assessments.Frontend.Web/Resources/SharedResources.Designer.cs index 1e343fe0..1a662122 100644 --- a/Assessments.Frontend.Web/Resources/SharedResources.Designer.cs +++ b/Assessments.Frontend.Web/Resources/SharedResources.Designer.cs @@ -186,6 +186,15 @@ public static string decisive_criteria { } } + /// + /// Looks up a localized string similar to Avgjørende kriterier. + /// + public static string decisive_criteria_short { + get { + return ResourceManager.GetString("decisive_criteria_short", resourceCulture); + } + } + /// /// Looks up a localized string similar to Dørstokkarter. /// @@ -240,6 +249,15 @@ public static string ecological_effect_y_axis { } } + /// + /// Looks up a localized string similar to naturtype. + /// + public static string ecosystem { + get { + return ResourceManager.GetString("ecosystem", resourceCulture); + } + } + /// /// Looks up a localized string similar to Naturtyper. /// @@ -294,6 +312,15 @@ public static string geographic_var_unequal { } } + /// + /// Looks up a localized string similar to har. + /// + public static string has { + get { + return ResourceManager.GetString("has", resourceCulture); + } + } + /// /// Looks up a localized string similar to Risikokategori. /// @@ -384,6 +411,15 @@ public static string lifestyle { } } + /// + /// Looks up a localized string similar to Øvrige kriterier. + /// + public static string non_decisive_criteria { + get { + return ResourceManager.GetString("non_decisive_criteria", resourceCulture); + } + } + /// /// Looks up a localized string similar to Ikke-risikovurderte arter. /// @@ -474,6 +510,15 @@ public static string regions_oceans { } } + /// + /// Looks up a localized string similar to skår. + /// + public static string score { + get { + return ResourceManager.GetString("score", resourceCulture); + } + } + /// /// Looks up a localized string similar to Artsgrupper. /// diff --git a/Assessments.Frontend.Web/Resources/SharedResources.en.resx b/Assessments.Frontend.Web/Resources/SharedResources.en.resx index f362502f..1d440b07 100644 --- a/Assessments.Frontend.Web/Resources/SharedResources.en.resx +++ b/Assessments.Frontend.Web/Resources/SharedResources.en.resx @@ -208,7 +208,7 @@ Occurrence in threatened or rare ecosystems - Ecosystems + Nature types Import to production or indoor area @@ -270,4 +270,19 @@ Select all + + has + + + score + + + Decisive criteria + + + Non-decisive criteria + + + nature type + \ No newline at end of file diff --git a/Assessments.Frontend.Web/Resources/SharedResources.resx b/Assessments.Frontend.Web/Resources/SharedResources.resx index 6e7a5bf6..62012421 100644 --- a/Assessments.Frontend.Web/Resources/SharedResources.resx +++ b/Assessments.Frontend.Web/Resources/SharedResources.resx @@ -270,4 +270,19 @@ Merk alle + + har + + + skår + + + Avgjørende kriterier + + + Øvrige kriterier + + + naturtype + \ No newline at end of file diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx index cb74c744..d88f6dc3 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx @@ -117,28 +117,97 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Alien species list - - + The impact category of a species is determined by the species' highest score on invasion potential (x-axis in the impact matrix) and ecological effect (y-axis in the impact matrix). The criterion(s) the species scores highest on for each of the axes in the matrix are the species' decisive criteria. Read more about the criteria - <b>The species' invasion potential</b> is determined by three criteria: The species' median lifetime in Norway (Criterion A), the species' expansion speed (Criterion B), and the proportion of the total area of an ecosystem colonised by the alien species (Criterion C). + <b>The species' invasion potential</b> is determined by three criteria: The species' median lifetime in Norway (criterion A), the species' expansion speed (criterion B), and the proportion of the total area of an ecosystem colonised by the alien species (criterion C). - <b>The species' ecological effect</b> is determined by six criteria: The species' effects on native species (Criteria D and E), the species' effects on ecosystems (Criteria F and G), transfer of genetic material to native species (Criterion H), and transmission of parasites or pathogens to native species (Criterion I). + <b>The species' ecological effect</b> is determined by six criteria: The species' effects on native species (criteria D and E), the species' effects on nature types (criteria F and G), transfer of genetic material to native species (criterion H), and transmission of parasites or pathogens to native species (criterion I). What determines the species' impact category - - Decisive criteria + + The species' negative effects on threatened or keystone species. + + + The table shows the interaction(s) the alien species has with threatened or keystone species, as well as the interactions' strength and geographical extent. Only effects that are documented in Norway; or documented elsewhere (or for a closely related species) and likely to occur in Norway within 50 years, are included. + + + The species' negative effects on native species that are neither threatened nor keystone. + + + The table shows the interaction(s) the alien species has with native species, as well as the interactions' strength and geographical extent. Only effects that are documented in Norway; or documented elsewhere (or for a closely related species) and likely to occur in Norway within 50 years, are included. + + + native species + + + category <br>Red List 2021 + + + keystone species? + + + strength of interaction + + + geographical extent + + + type of interaction + + + type of documentation + + + The table shows the interaction(s) the alien species has with societies of native species (where at least one of the species are either threatened or keystone), as well as the interactions' strength and geographical extent. The negative interaction with a society of species is indicated by the impacted ecosystem. Only effects that are documented in Norway; or documented elsewhere (or for a closely related species) and likely to occur in Norway within 50 years, are included. + + + The species' negative effects on societies of native species, including threatened or keystone species. + + + The table shows the interaction(s) the alien species has with societies of native species, as well as the interactions' strength and geographical extent. The negative interaction with a society of species is indicated by the impacted ecosystem. Only effects that are documented in Norway; or documented elsewhere (or for a closely related species) and likely to occur in Norway within 50 years, are included. + + + The species' negative effects on societies of native species. + + + Affected <br>species in + + + threatened <br>or keystone <br>species? + + + The species' negative effects on threatened or rare nature types. + + + The species' negative effects on nature types that are neither threatened nor rare. + + + The table shows the nature type(s) affected by the alien species now or in the future. Type of state change, the proportion of the nature type's area that are affected and the documentation type is given for each nature type. See guidelines for a description of substantial state change. + + + time horizon + + + substantial <br>state shange + + + substantially <br>affected <br>area (%) + + + This corresponds to + + + is assessed to - - Non-decisive criteria + + NK and has no desicive criteria. \ No newline at end of file diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx index dc97f784..8a677ca6 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx @@ -117,10 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Fremmedartslista - - + Artens risikokategori bestemmes av artens høyeste skår på invasjonspotensial (x-aksen i risikomatrisa) og på økologisk effekt (y-aksen i risikomatrisa). Kriteriet(ene) arten skårer høyest på for hver av aksene i matrisa er artens avgjørende kriterier. @@ -135,10 +132,82 @@ Hva bestemmer artens risikokategori - - Avgjørende kriterier + + Artens negative effekter på trua arter eller nøkkelarter. + + + Tabellen viser hvilken type interaksjon den fremmede arten har med stedegne trua arter eller nøkkelarter, samt interaksjonens styre og omfang. Kun effekter som er dokumentert i Norge eller i utlandet (for arten selv eller en sammenlignbar art), eller som sannsynlig vil opptre i Norge i løpet av 50 år, er inkludert. + + + Artens negative effekter på stedegne arter (ikke trua eller sjelden). + + + Tabellen viser hvilken type interaksjon den fremmede arten har med stedegne arter, samt interaksjonens styre og omfang. Kun effekter som er dokumentert i Norge eller i utlandet (for arten selv eller en sammenlignbar art), eller som sannsynlig vil opptre i Norge i løpet av 50 år, er inkludert. + + + stedegen art + + + kategori <br>Rødlista 2021 + + + nøkkelart? + + + interaksjonens styrke + + + geografisk omfang + + + type interaksjon + + + vurderings<span>&#8208;</span><br>grunnlag + + + Tabellen viser hvilken type interaksjon den fremmede arten har med grupper av stedegne arter (hvor minst én av artene er trua eller nøkkelart), samt interaksjonens styre og omfang. Den negative interaksjonen med grupper av arter er indikert gjennom påvirket naturtype. Kun effekter som er dokumentert i Norge eller i utlandet (for arten selv eller en sammenlignbar art), eller som sannsynlig vil opptre i Norge i løpet av 50 år, er inkludert. + + + Artens negative effekter på grupper av arter (inkludert trua arter eller nøkkelarter). + + + Artens negative effekter på grupper av stedegne arter. + + + Tabellen viser hvilken type interaksjon den fremmede arten har med grupper av stedegne arter, samt interaksjonens styre og omfang. Den negative interaksjonen med grupper av arter er indikert gjennom påvirket naturtype. Kun effekter som er dokumentert i Norge eller i utlandet (for arten selv eller en sammenlignbar art), eller som sannsynlig vil opptre i Norge i løpet av 50 år, er inkludert. + + + Påvirkede <br>arter i + + + nøkkelarter <br>eller truede <br>arter? + + + Artens negative effekter på truede eller sjeldne naturtyper. + + + Artens negative effekter på naturtyper (ikke trua eller sjelden). + + + Tabellen viser hvilke(n) naturtype(r) som påvirkes av den fremmede arten nå eller i framtida. Type tilstandsendring, hvor stor del av naturtypearealet som påvirkes og vurderingsgrunnlag er gitt for hver naturtype. Se retningslinjene for beskrivelse av tydelig tilstandsendring. + + + tidshorisont + + + tydelig <br>tilstandsendring + + + tydelig <br>påvirka <br>areal (%) + + + Dette tilsvarer + + + er vurdert til - - Øvrige kriterier + + NK og har dermed ingen avgjørende kriterier. \ No newline at end of file diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml index 1253f0a9..60f132fc 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml @@ -1,5 +1,8 @@ @model CriteriaExplanationViewModel @using Assessments.Mapping.AlienSpecies.Model.Enums +@inject IStringLocalizer Localizer +@inject IStringLocalizer LocalizerShared +@inject IHtmlLocalizer LocalizerHtml @{ var isDecisiveCriteria = Model.Criteria == Model.AlienSpeciesDetailViewModel.Assessment.DecisiveCriteria; @@ -123,26 +126,26 @@ @if (shouldBeThreatened) { - @Constants.AlienSpeciesTables.CriteriaDSpeciesTableTitle - @Constants.AlienSpeciesTables.CriteriaDSpeciesTableDescription + @Localizer["alien_species_tables_D_criteria_table_title"] + @Localizer["alien_species_tables_D_criteria_table_text"] } @if (!shouldBeThreatened) { - @Constants.AlienSpeciesTables.CriteriaESpeciesTableTitle - @Constants.AlienSpeciesTables.CriteriaESpeciesTableDescription + @Localizer["alien_species_tables_E_criteria_table_title"] + @Localizer["alien_species_tables_E_criteria_table_text"] } - Stedegen art - @Html.Raw(@Constants.AlienSpeciesTables.RedListCategoryTableColumn) - @Constants.AlienSpeciesTables.KeyStoneSpeciesTableColumn - @Constants.AlienSpeciesTables.InteractionStrengthTableColumn - @Constants.AlienSpeciesTables.ScaleTableColumn - @Constants.AlienSpeciesTables.InteractionTypeTableColumn + @Localizer["native_species"] + @LocalizerHtml["red_list_category_2021_html"] + @Localizer["keystone_species"] + @Localizer["interaction_strength"] + @Localizer["geographical_extent"] + @Localizer["interaction_type"] @if (impacts.Any(x => x.Background.Count() != 0)) { - @Html.Raw(@Constants.AlienSpeciesTables.BackgroundTableColumn) + @LocalizerHtml["documentation_type"] } @foreach (var impact in impacts) @@ -181,7 +184,7 @@ @impact.RedListCategory - @impact.RedListCategory.DisplayName() - @Constants.AlienSpeciesTables.KeyStoneSpeciesTableColumn + @Localizer["keystone_species"] @(impact.KeyStoneSpecie ? "ja" : "nei") @@ -220,23 +223,23 @@ @if (shouldBeThreatened) { - @Constants.AlienSpeciesTables.CriteriaDSpeciesNaturetypesTableTitle - @Constants.AlienSpeciesTables.CriteriaDSpeciesNaturetypesTableDescription + @Localizer["alien_species_tables_D_criteria_society_table_title"] + @Localizer["alien_species_tables_D_criteria_society_table_description"] } @if (!shouldBeThreatened) { - @Constants.AlienSpeciesTables.CriteriaESpeciesNaturetypesTableTitle - @Constants.AlienSpeciesTables.CriteriaESpeciesNaturetypesTableDescription + @Localizer["alien_species_tables_E_criteria_society_table_title"] + @Localizer["alien_species_tables_E_criteria_society_table_description"] } - @Html.Raw(Constants.AlienSpeciesTables.NaturetypeDAndETableColumn1) - @Html.Raw(Constants.AlienSpeciesTables.NaturetypeDAndETableColumn2) - @Constants.AlienSpeciesTables.InteractionStrengthTableColumn - @Constants.AlienSpeciesTables.ScaleTableColumn - @Constants.AlienSpeciesTables.InteractionTypeTableColumn - @Html.Raw(Constants.AlienSpeciesTables.BackgroundTableColumn) + @LocalizerHtml["affected_species_naturetype"] + @LocalizerHtml["keystone_or_threatened"] + @Localizer["interaction_strength"] + @Localizer["geographical_extent"] + @Localizer["interaction_type"] + @LocalizerHtml["documentation_type"] @foreach (var impact in impacts) { @@ -264,27 +267,27 @@ foreach (var impact in impacts) { - + - + /* påvirkes nøkkelarter eller truede arter? */ - + - + - + @if (@impact.Background.Count() != 0) { - + - - - - - + + + + + @foreach (var natureType in assessment.ImpactedNatureTypes.Where(x => x.IsThreatened == shouldBeThreatened && HasAffectedArea(x.AffectedArea))) { @@ -361,7 +364,7 @@
@letter. @criterion.CriteriaLetter.DisplayName() - @AlienSpeciesHelpers.GetLetterFullText(criterion, false) @Constants.ScoreExplanationScore @criterion.Value. + @AlienSpeciesHelpers.GetLetterFullText(criterion, false) @Localizer["corresponds_to"] @LocalizerShared["score"] @criterion.Value.
- + - + @foreach (var natureType in assessment.ImpactedNatureTypes) { - + - - - - + + + @@ -871,9 +877,9 @@ @Constants.AlienSpeciesTables.CriteriaIParasitesTableDescription - - - + + + diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_RiskCategoryExplanation.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_RiskCategoryExplanation.cshtml index ce30b04a..56e33e72 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_RiskCategoryExplanation.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_RiskCategoryExplanation.cshtml @@ -2,6 +2,7 @@ @using Assessments.Mapping.AlienSpecies.Model.Enums @inject IStringLocalizer Localizer @inject IHtmlLocalizer LocalizerHtml +@inject IStringLocalizer LocalizerShared @{ var criteriaLetters = "ABCDEFGHI"; @@ -27,15 +28,15 @@

@Localizer["category_explaination_heading"]

-

@Localizer["category_explanation_intro_text"] @Localizer["link_to_criteria_page_text"].

+

@Localizer["category_explaination_intro_text"] @Localizer["link_to_criteria_page_text"].

@LocalizerHtml["category_explaination_x_axis_explaination"]

@LocalizerHtml["category_explaination_y_axis_explaination"]

- - + +
From 414a577af1b1c7d793eaef8bbf072be3bc734cbe Mon Sep 17 00:00:00 2001 From: Ane Marlene Myhre Date: Fri, 2 Aug 2024 13:33:20 +0200 Subject: [PATCH 12/35] Translate LetterFullText-content for all criteria A to I. --- .../AlienSpecies/AlienSpeciesHelpers.cs | 87 ++--- .../Infrastructure/Constants.cs | 4 - .../Resources/SharedResources.Designer.cs | 333 ++++++++++++++++++ .../Resources/SharedResources.en.resx | 111 ++++++ .../Resources/SharedResources.resx | 111 ++++++ .../_CriteriaExplanation.cshtml | 4 +- ...sessment2023CriteriaLetterResource.en.resx | 8 +- 7 files changed, 600 insertions(+), 58 deletions(-) diff --git a/Assessments.Frontend.Web/Infrastructure/AlienSpecies/AlienSpeciesHelpers.cs b/Assessments.Frontend.Web/Infrastructure/AlienSpecies/AlienSpeciesHelpers.cs index 151645b3..10aa2c62 100644 --- a/Assessments.Frontend.Web/Infrastructure/AlienSpecies/AlienSpeciesHelpers.cs +++ b/Assessments.Frontend.Web/Infrastructure/AlienSpecies/AlienSpeciesHelpers.cs @@ -43,90 +43,81 @@ public static string CriteriaDescription(AlienSpeciesAssessment2023CriteriaLette case AlienSpeciesAssessment2023CriteriaLetter.A: description = value switch { - 1 => "mindre enn 10 år", - 2 => "mellom 10 og 59 år", - 3 => "mellom 60 og 649 år", - 4 => "minimum 650 år", + 1 => Resources.SharedResources.less_than_ten_years, + 2 => Resources.SharedResources.between_ten_59_years, + 3 => Resources.SharedResources.between_60_649_years, + 4 => Resources.SharedResources.minimum_650_years, _ => description }; break; case AlienSpeciesAssessment2023CriteriaLetter.B: description = value switch { - 1 => "mindre enn 50 m/år", - 2 => "mellom 50 og 159 m/år", - 3 => "mellom 160 og 499 m/år", - 4 => "minimum 500 m/år", + 1 => Resources.SharedResources.less_than_50_myear, + 2 => Resources.SharedResources.between_50_159_myear, + 3 => Resources.SharedResources.between_160_499_myear, + 4 => Resources.SharedResources.minimum_500_myear, _ => description }; break; case AlienSpeciesAssessment2023CriteriaLetter.C: + case AlienSpeciesAssessment2023CriteriaLetter.G: description = value switch { - 1 => "mindre enn 5%", - 2 => "minimum 5%", - 3 => "minimum 10%", - 4 => "minimum 20%", + 1 => Resources.SharedResources.less_than_five_percent, + 2 => Resources.SharedResources.min_five_percent, + 3 => Resources.SharedResources.minimum_ten_percent, + 4 => Resources.SharedResources.minimum_20_percent, _ => description }; break; case AlienSpeciesAssessment2023CriteriaLetter.D: description = value switch { - 1 => "fraværende", - 2 => "svak styrke og begrenset omfang", - 3 => "svak styrke og storskala omfang ELLER moderat styrke og begrenset omfang", - 4 => "moderat styrke og storskala omfang ELLER fortrengning", + 1 => Resources.SharedResources.absent, + 2 => Resources.SharedResources.weak_confined, + 3 => Resources.SharedResources.weak_large_scale_or_moderate_confined, + 4 => Resources.SharedResources.moderate_large_scale_or_displacement, _ => description }; break; case AlienSpeciesAssessment2023CriteriaLetter.E: description = value switch { - 1 => "svak styrke ELLER moderat styrke og begrenset omfang", - 2 => "moderat styrke og storskala omfang", - 3 => "fortrengning i begrenset omfang", - 4 => "fortrengning i storskala omfang", + 1 => Resources.SharedResources.weak_or_moderate_confined, + 2 => Resources.SharedResources.moderate_large_scale, + 3 => Resources.SharedResources.confined_displacement, + 4 => Resources.SharedResources.large_scale_displacement, _ => description }; break; case AlienSpeciesAssessment2023CriteriaLetter.F: description = value switch { - 1 => "0%", - 2 => "over 0%", - 3 => "minimum 2%", - 4 => "minimum 5%", - _ => description - }; - break; - case AlienSpeciesAssessment2023CriteriaLetter.G: - description = value switch - { - 1 => "mindre enn 5%", - 2 => "minimum 5%", - 3 => "minimum 10%", - 4 => "minimum 20%", + 1 => Resources.SharedResources.zero_percent, + 2 => Resources.SharedResources.over_zero_percent, + 3 => Resources.SharedResources.min_two_percent, + 4 => Resources.SharedResources.min_five_percent, _ => description }; break; case AlienSpeciesAssessment2023CriteriaLetter.H: description = value switch { - 1 => "ingen overføring", - 2 => "begrenset til stedegen art", - 3 => "storskala til stedegen art ELLER begrenset til truet art eller nøkkelart", - 4 => "storskala til truet art eller nøkkelart", + 1 => Resources.SharedResources.no_transfer, + 2 => Resources.SharedResources.confined_native_species, + 3 => Resources.SharedResources.large_scale_non_threatened_OR_confined_threatened, + 4 => Resources.SharedResources.large_scale_threatened, _ => description }; break; case AlienSpeciesAssessment2023CriteriaLetter.I: description = value switch { - 1 => "ingen overføring ELLER begrenset til art som allerede er vert for denne parasitten", - 2 => "storskala til art som allerede er vert for denne parasitten ELLER begrenset til ny vert", - 3 => "storskala av eksisterende parasitt til ny vert ELLER begrenset til ny truet vert", - 4 => "storskala av eksisterende parasitt til ny truet vert ELLER storskala eller begrenset av en fremmed parasitt", + 1 => Resources.SharedResources.absent_OR_confined_known_host, + 2 => Resources.SharedResources.large_scale_known_host_OR_confined_new_host, + 3 => Resources.SharedResources.large_scale_new_host_OR_confined_threathened_new_host, + 4 => Resources.SharedResources.large_scale_new_threatened_host_OR_doorknocker_parasite, _ => description }; break; @@ -150,29 +141,29 @@ public static int GetUncertaintyLow(AlienSpeciesAssessment2023Criterion criterio return criterion.UncertaintyValues.Where(x => x < criterion.Value).FirstOrDefault(); } - public static string GetLetterFullText(AlienSpeciesAssessment2023Criterion criterion, bool isDifferent) + public static string GetLetterFullText(AlienSpeciesAssessment2023Criterion criterion) { var letterText = ""; - letterText += isDifferent == true ? " " + Constants.whichIs + " " : " "+ Constants.on +" "; + letterText += criterion.CriteriaLetter.DisplayName() + ": "; letterText += CriteriaDescription(criterion.CriteriaLetter, criterion.Value); letterText += GetUncertaintyHigh(criterion) == 0 && GetUncertaintyLow(criterion) == 0 ? "." : ""; if (GetUncertaintyHigh(criterion) != 0 || GetUncertaintyLow(criterion) != 0) { - letterText += " ("+ Constants.withUuncertainty + " "; + letterText += " ("+ Resources.SharedResources.with_uncertainty + " "; } if (GetUncertaintyLow(criterion) != 0) { - letterText += Constants.downTo + " "; + letterText += Resources.SharedResources.down_to + " "; letterText += CriteriaDescription(criterion.CriteriaLetter, AlienSpeciesHelpers.GetUncertaintyLow(criterion)); letterText += GetUncertaintyHigh(criterion) == 0 && GetUncertaintyLow(criterion) != 0 ? ")." : ""; } if (GetUncertaintyHigh(criterion) != 0 && GetUncertaintyLow(criterion) != 0) { - letterText += " " + Constants.and + " "; + letterText += " " + Resources.SharedResources.and + " "; } if (AlienSpeciesHelpers.GetUncertaintyHigh(criterion) != 0) { - letterText += Constants.upTo + " "; + letterText += Resources.SharedResources.up_to + " "; letterText += CriteriaDescription(criterion.CriteriaLetter, GetUncertaintyHigh(criterion)); letterText += GetUncertaintyHigh(criterion) != 0 || GetUncertaintyLow(criterion) != 0 ? ")." : ""; } diff --git a/Assessments.Frontend.Web/Infrastructure/Constants.cs b/Assessments.Frontend.Web/Infrastructure/Constants.cs index 5111a3c0..97a26e9d 100644 --- a/Assessments.Frontend.Web/Infrastructure/Constants.cs +++ b/Assessments.Frontend.Web/Infrastructure/Constants.cs @@ -402,10 +402,6 @@ public class SearchAndFiltersAlienSpecies public const string years = "år"; public const string to = "til"; - public const string on = "på"; - public const string whichIs = "som er"; - public const string downTo = "ned mot"; - public const string upTo = "opp mot"; public const string mPerYear = "m/år"; public const string medianLifeEst = "Basert på de demografiske nøkkeltallene er det beste anslaget for artens mediane levetid i Norge estimert til "; diff --git a/Assessments.Frontend.Web/Resources/SharedResources.Designer.cs b/Assessments.Frontend.Web/Resources/SharedResources.Designer.cs index 1a662122..3fd986fb 100644 --- a/Assessments.Frontend.Web/Resources/SharedResources.Designer.cs +++ b/Assessments.Frontend.Web/Resources/SharedResources.Designer.cs @@ -78,6 +78,24 @@ public static string A_B_highest_score { } } + /// + /// Looks up a localized string similar to fraværende. + /// + public static string absent { + get { + return ResourceManager.GetString("absent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ingen overføring ELLER begrenset overføring av eksisterende parasitt til eksisterende vert. + /// + public static string absent_OR_confined_known_host { + get { + return ResourceManager.GetString("absent_OR_confined_known_host", resourceCulture); + } + } + /// /// Looks up a localized string similar to Fremmedartslista. /// @@ -87,6 +105,15 @@ public static string alien_species_list { } } + /// + /// Looks up a localized string similar to og. + /// + public static string and { + get { + return ResourceManager.GetString("and", resourceCulture); + } + } + /// /// Looks up a localized string similar to Forekomstareal i sterkt endra natur. /// @@ -114,6 +141,42 @@ public static string area { } } + /// + /// Looks up a localized string similar to mellom 160 og 499 m/år. + /// + public static string between_160_499_myear { + get { + return ResourceManager.GetString("between_160_499_myear", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to mellom 50 og 159 m/år. + /// + public static string between_50_159_myear { + get { + return ResourceManager.GetString("between_50_159_myear", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to mellom 60 og 649 år. + /// + public static string between_60_649_years { + get { + return ResourceManager.GetString("between_60_649_years", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to mellom 10 og 59 år. + /// + public static string between_ten_59_years { + get { + return ResourceManager.GetString("between_ten_59_years", resourceCulture); + } + } + /// /// Looks up a localized string similar to Kategorien er endret fra 2018. /// @@ -177,6 +240,24 @@ public static string climate_not_affected { } } + /// + /// Looks up a localized string similar to fortrengning i begrenset omfang. + /// + public static string confined_displacement { + get { + return ResourceManager.GetString("confined_displacement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to begrenset overføring til stedegen art. + /// + public static string confined_native_species { + get { + return ResourceManager.GetString("confined_native_species", resourceCulture); + } + } + /// /// Looks up a localized string similar to Avgjørende kriterier for kategori. /// @@ -204,6 +285,15 @@ public static string doorknockers { } } + /// + /// Looks up a localized string similar to ned mot. + /// + public static string down_to { + get { + return ResourceManager.GetString("down_to", resourceCulture); + } + } + /// /// Looks up a localized string similar to Økologisk effekt. /// @@ -402,6 +492,87 @@ public static string is_production_species { } } + /// + /// Looks up a localized string similar to fortrengning i storskala omfang. + /// + public static string large_scale_displacement { + get { + return ResourceManager.GetString("large_scale_displacement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to storskala av eksisterende parasitt til eksisterende vert ELLER begrenset til ny vert. + /// + public static string large_scale_known_host_OR_confined_new_host { + get { + return ResourceManager.GetString("large_scale_known_host_OR_confined_new_host", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to storskala av eksisterende parasitt til ny vert ELLER begrenset til ny truet vert. + /// + public static string large_scale_new_host_OR_confined_threathened_new_host { + get { + return ResourceManager.GetString("large_scale_new_host_OR_confined_threathened_new_host", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to storskala av eksisterende parasitt til ny truet vert ELLER overføring av en dørstokkart-parasitt. + /// + public static string large_scale_new_threatened_host_OR_doorknocker_parasite { + get { + return ResourceManager.GetString("large_scale_new_threatened_host_OR_doorknocker_parasite", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to storskala overføring til stedegen art ELLER begrenset til truet art eller nøkkelart. + /// + public static string large_scale_non_threatened_OR_confined_threatened { + get { + return ResourceManager.GetString("large_scale_non_threatened_OR_confined_threatened", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to storskala overføring til truet art eller nøkkelart. + /// + public static string large_scale_threatened { + get { + return ResourceManager.GetString("large_scale_threatened", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to mindre enn 50 m/år. + /// + public static string less_than_50_myear { + get { + return ResourceManager.GetString("less_than_50_myear", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to mindre enn 5%. + /// + public static string less_than_five_percent { + get { + return ResourceManager.GetString("less_than_five_percent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to mindre enn 10 år. + /// + public static string less_than_ten_years { + get { + return ResourceManager.GetString("less_than_ten_years", resourceCulture); + } + } + /// /// Looks up a localized string similar to Livsmiljø. /// @@ -411,6 +582,87 @@ public static string lifestyle { } } + /// + /// Looks up a localized string similar to minimum 5%. + /// + public static string min_five_percent { + get { + return ResourceManager.GetString("min_five_percent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to minimum 2%. + /// + public static string min_two_percent { + get { + return ResourceManager.GetString("min_two_percent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to minimum 20%. + /// + public static string minimum_20_percent { + get { + return ResourceManager.GetString("minimum_20_percent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to minimum 500 m/år. + /// + public static string minimum_500_myear { + get { + return ResourceManager.GetString("minimum_500_myear", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to minimum 650 år. + /// + public static string minimum_650_years { + get { + return ResourceManager.GetString("minimum_650_years", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to minimum 10%. + /// + public static string minimum_ten_percent { + get { + return ResourceManager.GetString("minimum_ten_percent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to moderat styrke og storskala omfang. + /// + public static string moderate_large_scale { + get { + return ResourceManager.GetString("moderate_large_scale", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to moderat styrke og storskala omfang ELLER fortrengning. + /// + public static string moderate_large_scale_or_displacement { + get { + return ResourceManager.GetString("moderate_large_scale_or_displacement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ingen overføring. + /// + public static string no_transfer { + get { + return ResourceManager.GetString("no_transfer", resourceCulture); + } + } + /// /// Looks up a localized string similar to Øvrige kriterier. /// @@ -438,6 +690,24 @@ public static string not_production_species { } } + /// + /// Looks up a localized string similar to på. + /// + public static string of { + get { + return ResourceManager.GetString("of", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to over 0%. + /// + public static string over_zero_percent { + get { + return ResourceManager.GetString("over_zero_percent", resourceCulture); + } + } + /// /// Looks up a localized string similar to Spredningsmåter. /// @@ -555,6 +825,15 @@ public static string to_species_page { } } + /// + /// Looks up a localized string similar to opp mot. + /// + public static string up_to { + get { + return ResourceManager.GetString("up_to", resourceCulture); + } + } + /// /// Looks up a localized string similar to Vannregioner. /// @@ -563,5 +842,59 @@ public static string water_regions { return ResourceManager.GetString("water_regions", resourceCulture); } } + + /// + /// Looks up a localized string similar to svak styrke og begrenset omfang. + /// + public static string weak_confined { + get { + return ResourceManager.GetString("weak_confined", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to svak styrke og storskala omfang ELLER moderat styrke og begrenset omfang. + /// + public static string weak_large_scale_or_moderate_confined { + get { + return ResourceManager.GetString("weak_large_scale_or_moderate_confined", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to svak styrke ELLER moderat styrke og begrenset omfang. + /// + public static string weak_or_moderate_confined { + get { + return ResourceManager.GetString("weak_or_moderate_confined", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to som er. + /// + public static string which_is { + get { + return ResourceManager.GetString("which_is", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to med usikkerhet. + /// + public static string with_uncertainty { + get { + return ResourceManager.GetString("with_uncertainty", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 0%. + /// + public static string zero_percent { + get { + return ResourceManager.GetString("zero_percent", resourceCulture); + } + } } } diff --git a/Assessments.Frontend.Web/Resources/SharedResources.en.resx b/Assessments.Frontend.Web/Resources/SharedResources.en.resx index 1d440b07..c9f10d85 100644 --- a/Assessments.Frontend.Web/Resources/SharedResources.en.resx +++ b/Assessments.Frontend.Web/Resources/SharedResources.en.resx @@ -285,4 +285,115 @@ nature type + + which is + + + of + + + less than 5% + + + minimum 5% + + + less than 10 years + + + between 10 and 59 years + + + between 60 and 649 years + + + minimum 650 years + + + less than 50 m/year + + + between 50 and 159 m/year + + + between 160 and 499 m/year + + + minimum 500 m/year + + + minimum 10% + + + minimum 20% + + + absent + + + weak strength and confined extent + + + weak strength and large-scale extent OR moderate strength and confined extent + + + moderate strength and large-scale extent OR displacement + + + weak strength OR moderate strength and confined extent + + + moderate strength and large-scale extent + + + geographically confined displacement + + + large-scale displacement + + + 0% + + + above 0% + + + minimum 2% + + + no transfer + + + geographically confined transfer to non-threatened species + + + large scale transfer to non-threatened species OR confined to keystone or threatened species + + + large scale transfer to keystone or threatened species + + + no transmission OR confined transmission of existing parasite to existing host + + + large scale of existing parasite to existent host OR confined to new host + + + large scale of existing parasite to new host OR confined to new threatened host + + + large scale of existing parasite to new threatened host OR transmission of door knocker parasite + + + with uncertainty + + + down to + + + and + + + up to + \ No newline at end of file diff --git a/Assessments.Frontend.Web/Resources/SharedResources.resx b/Assessments.Frontend.Web/Resources/SharedResources.resx index 62012421..54026bba 100644 --- a/Assessments.Frontend.Web/Resources/SharedResources.resx +++ b/Assessments.Frontend.Web/Resources/SharedResources.resx @@ -285,4 +285,115 @@ naturtype + + som er + + + + + + mindre enn 5% + + + minimum 5% + + + mindre enn 10 år + + + mellom 10 og 59 år + + + mellom 60 og 649 år + + + minimum 650 år + + + mindre enn 50 m/år + + + mellom 50 og 159 m/år + + + mellom 160 og 499 m/år + + + minimum 500 m/år + + + minimum 10% + + + minimum 20% + + + fraværende + + + svak styrke og begrenset omfang + + + svak styrke og storskala omfang ELLER moderat styrke og begrenset omfang + + + moderat styrke og storskala omfang ELLER fortrengning + + + svak styrke ELLER moderat styrke og begrenset omfang + + + moderat styrke og storskala omfang + + + fortrengning i begrenset omfang + + + fortrengning i storskala omfang + + + 0% + + + over 0% + + + minimum 2% + + + ingen overføring + + + begrenset overføring til stedegen art + + + storskala overføring til stedegen art ELLER begrenset til truet art eller nøkkelart + + + storskala overføring til truet art eller nøkkelart + + + ingen overføring ELLER begrenset overføring av eksisterende parasitt til eksisterende vert + + + storskala av eksisterende parasitt til eksisterende vert ELLER begrenset til ny vert + + + storskala av eksisterende parasitt til ny vert ELLER begrenset til ny truet vert + + + storskala av eksisterende parasitt til ny truet vert ELLER overføring av en dørstokkart-parasitt + + + med usikkerhet + + + ned mot + + + og + + + opp mot + \ No newline at end of file diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml index 60f132fc..265d84f8 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml @@ -363,8 +363,8 @@ {
- @letter. @criterion.CriteriaLetter.DisplayName() - @AlienSpeciesHelpers.GetLetterFullText(criterion, false) @Localizer["corresponds_to"] @LocalizerShared["score"] @criterion.Value. + @letter. + @AlienSpeciesHelpers.GetLetterFullText(criterion) @Localizer["corresponds_to"] @LocalizerShared["score"] @criterion.Value. From ac7a64f7e845bd584c7af5d03988784aaa2b6a26 Mon Sep 17 00:00:00 2001 From: Ane Marlene Myhre Date: Mon, 5 Aug 2024 12:52:08 +0200 Subject: [PATCH 16/35] cleanup some messy messies and forgotties --- Assessments.Frontend.Web/Infrastructure/Constants.cs | 1 - .../Resources/SharedResources.Designer.cs | 2 +- .../Resources/SharedResources.en.resx | 2 +- Assessments.Frontend.Web/Resources/SharedResources.resx | 2 +- .../Resources/SharedResourcesAlienSpecies.en.resx | 8 +++++++- .../Resources/SharedResourcesAlienSpecies.resx | 8 +++++++- .../2023/AssessmentPartials/_CriteriaExplanation.cshtml | 6 +++--- 7 files changed, 20 insertions(+), 9 deletions(-) diff --git a/Assessments.Frontend.Web/Infrastructure/Constants.cs b/Assessments.Frontend.Web/Infrastructure/Constants.cs index 11506265..b6813e65 100644 --- a/Assessments.Frontend.Web/Infrastructure/Constants.cs +++ b/Assessments.Frontend.Web/Infrastructure/Constants.cs @@ -424,7 +424,6 @@ public class SearchAndFiltersAlienSpecies - public const string noEcoEffect = "Arten har ingen kjent økologisk effekt og har dermed ingen utslag på kriterier på effektaksen."; diff --git a/Assessments.Frontend.Web/Resources/SharedResources.Designer.cs b/Assessments.Frontend.Web/Resources/SharedResources.Designer.cs index 3fd986fb..cc68f58e 100644 --- a/Assessments.Frontend.Web/Resources/SharedResources.Designer.cs +++ b/Assessments.Frontend.Web/Resources/SharedResources.Designer.cs @@ -101,7 +101,7 @@ public static string absent_OR_confined_known_host { /// public static string alien_species_list { get { - return ResourceManager.GetString("alien-species-list", resourceCulture); + return ResourceManager.GetString("alien_species_list", resourceCulture); } } diff --git a/Assessments.Frontend.Web/Resources/SharedResources.en.resx b/Assessments.Frontend.Web/Resources/SharedResources.en.resx index c9f10d85..3d775243 100644 --- a/Assessments.Frontend.Web/Resources/SharedResources.en.resx +++ b/Assessments.Frontend.Web/Resources/SharedResources.en.resx @@ -117,7 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + Alien species list diff --git a/Assessments.Frontend.Web/Resources/SharedResources.resx b/Assessments.Frontend.Web/Resources/SharedResources.resx index 54026bba..26a278c6 100644 --- a/Assessments.Frontend.Web/Resources/SharedResources.resx +++ b/Assessments.Frontend.Web/Resources/SharedResources.resx @@ -117,7 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + Fremmedartslista diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx index 026ab8d2..28f282d0 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx @@ -223,7 +223,7 @@ Invasion potential by criterium - The species' invasion potential corresponds to the lowest score possible, meaning the species has no decisive criteria on the invasion axis. + The species' score for invasion potential is the lowest score possible, meaning the species has no decisive criteria on the invasion axis. See the tab Non-decisive criteria. @@ -240,4 +240,10 @@ The criterion(s) with the highest score on each of the axes in the matrix (invasion potential and ecological effect) are the species' <i>decisive criteria</i>. + + The species' score for ecological effect is the lowest score possible, meaning the species has no decisive criteria on the effect axis. + + + score + \ No newline at end of file diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx index c44e7dc2..52e91381 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx @@ -223,7 +223,7 @@ er vurdert som fraværende (usannsynlig). - Artens invasjonspotensial tilsvarer laveste mulige skår og arten har derfor ingen avgjørende kriterier på invasjonsaksen. + Artens delkategori invasjonspotensial tilsvarer laveste mulige delkategori og arten har derfor ingen avgjørende kriterier på invasjonsaksen. Se fanen Øvrige kriterier. @@ -240,4 +240,10 @@ Kriteriet(ene) arten skårer høyest på for hver av aksene i matrisa (invasjonspotensial og økologisk effekt) kalles artens <i>avgjørende kriterier</i>. + + Artens delkategori for økologisk effekt tilsvarer laveste mulige delkategori og arten har dermed ingen avgjørende kriterier på effektaksen. + + + delkategori + \ No newline at end of file diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml index ba52445d..59f3d272 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml @@ -397,7 +397,7 @@

@LocalizerShared["invasion_potential"]

- @Helpers.FixSpeciesLevelWithTranslation("{Arten}", assessment.ScientificName.ScientificNameRank, assessment.ScientificName.ScientificName) @Localizer["assess_to"] @LocalizerShared["score"] @((int)assessment.ScoreInvasionPotential) @Localizer["on_invasion_axis"] + @Helpers.FixSpeciesLevelWithTranslation("{Arten}", assessment.ScientificName.ScientificNameRank, assessment.ScientificName.ScientificName) @Localizer["assess_to"] @Localizer["axis_score"] @((int)assessment.ScoreInvasionPotential) @Localizer["on_invasion_axis"]

@@ -681,14 +681,14 @@

- @Helpers.FixSpeciesLevelWithTranslation("{Arten}", assessment.ScientificName.ScientificNameRank, assessment.ScientificName.ScientificName) @Localizer["assess_to"] @LocalizerShared["score"] @((int)assessment.ScoreEcologicalEffect) @Localizer["on_eco_effect_axis"] + @Helpers.FixSpeciesLevelWithTranslation("{Arten}", assessment.ScientificName.ScientificNameRank, assessment.ScientificName.ScientificName) @Localizer["assess_to"] @Localizer["axis_score"] @((int)assessment.ScoreEcologicalEffect) @Localizer["on_eco_effect_axis"]

@LocalizerShared["decisive_criteria_short"] @LocalizerShared["non_decisive_criteria"]

-

@Constants.noEcoEffect

+

@Localizer["eco_effect_no_decisive"]

  • From ba6039d65a5e006f6cdf984d6da99c39b80017de Mon Sep 17 00:00:00 2001 From: Ane Marlene Myhre Date: Mon, 5 Aug 2024 13:02:09 +0200 Subject: [PATCH 17/35] detailsSchmitails #1426 --- .../Resources/SharedResourcesAlienSpecies.en.resx | 4 ++-- .../Resources/SharedResourcesAlienSpecies.resx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx index 28f282d0..82eda5dc 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx @@ -124,10 +124,10 @@ Read more about the criteria - <b>The species' invasion potential</b> (x-axis in the impact matrix) is determined by three criteria: the species' median lifetime in Norway (criterion A), the species' expansion speed (criterion B), and the proportion of the total area of an ecosystem colonised by the alien species (criterion C). + The species' <b>invasion potential</b> (x-axis in the impact matrix) is determined by three criteria: the species' median lifetime in Norway (criterion A), the species' expansion speed (criterion B), and the proportion of the total area of an ecosystem colonised by the alien species (criterion C). - <b>The species' ecological effect</b> (y-axis in the impact matrix) is determined by six criteria: the species' effects on native species (criteria D and E), the species' effects on ecosystems (criteria F and G), transfer of genetic material to native species (criterion H), and transmission of parasites or pathogens to native species (criterion I). + The species' <b>ecological effect</b> (y-axis in the impact matrix) is determined by six criteria: the species' effects on native species (criteria D and E), the species' effects on ecosystems (criteria F and G), transfer of genetic material to native species (criterion H), and transmission of parasites or pathogens to native species (criterion I). What determines the species' impact category diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx index 52e91381..768b0472 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx @@ -124,10 +124,10 @@ Les mer om kriteriene - <b>Artens invasjonspotensial</b> (x-aksen i risikomatrisa) bestemmes av tre kriterier: artens mediane levetid i Norge (A-kriteriet), artens ekspansjonshastighet (B-kriteriet) og størrelsen på naturtypeareal som arten koloniserer (C-kriteriet). + Artens <b>invasjonspotensial</b> (x-aksen i risikomatrisa) bestemmes av tre kriterier: artens mediane levetid i Norge (A-kriteriet), artens ekspansjonshastighet (B-kriteriet) og størrelsen på naturtypeareal som arten koloniserer (C-kriteriet). - <b>Artens økologiske effekt</b> (y-aksen i risikomatrisa) bestemmes av seks kriterier: artens effekter på stedegne arter (D- og E-kriteriet), artens effekter på naturtyper (F- og G-kriteriet), genetisk forurensning av stedegne arter (H-kriteriet) og overføring av parasitter eller patogener til stedegne arter (I-kriteriet). + Artens <b>økologiske effekt</b> (y-aksen i risikomatrisa) bestemmes av seks kriterier: artens effekter på stedegne arter (D- og E-kriteriet), artens effekter på naturtyper (F- og G-kriteriet), genetisk forurensning av stedegne arter (H-kriteriet) og overføring av parasitter eller patogener til stedegne arter (I-kriteriet). Hva bestemmer artens risikokategori From 97372cfd28b9338a586fc835bc4034a362fbcca1 Mon Sep 17 00:00:00 2001 From: Ane Marlene Myhre Date: Mon, 5 Aug 2024 13:15:46 +0200 Subject: [PATCH 18/35] add 2x@ --- .../2023/AssessmentPartials/_CriteriaExplanation.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml index 59f3d272..cd31dde1 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml @@ -672,7 +672,7 @@
  • - Localizer["invasion_pot_by_criteria"] @UnusedCriteriaInvationPotential() Localizer["evaluated_absent_inv"] + @Localizer["invasion_pot_by_criteria"] @UnusedCriteriaInvationPotential() @Localizer["evaluated_absent_inv"]

From 70180aa79597b26ddc242fcbc88175a1a87c320e Mon Sep 17 00:00:00 2001 From: Eirik Date: Fri, 9 Aug 2024 09:33:17 +0200 Subject: [PATCH 19/35] Improve check and allow revisionreason html #1428 --- .../Species/2021/Assessment/partials/_RevisionReason.cshtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assessments.Frontend.Web/Views/Redlist/Species/2021/Assessment/partials/_RevisionReason.cshtml b/Assessments.Frontend.Web/Views/Redlist/Species/2021/Assessment/partials/_RevisionReason.cshtml index ab2fffa7..7af10028 100644 --- a/Assessments.Frontend.Web/Views/Redlist/Species/2021/Assessment/partials/_RevisionReason.cshtml +++ b/Assessments.Frontend.Web/Views/Redlist/Species/2021/Assessment/partials/_RevisionReason.cshtml @@ -1,5 +1,5 @@ @model SpeciesAssessment2021 -@if (!string.IsNullOrWhiteSpace(Model.RevisionReason)) +@if (!string.IsNullOrEmpty(Model.RevisionReason.StripHtml())) {
@@ -10,7 +10,7 @@ NB - Vurderingen er justert etter publisering: Justeringer etter publisering

- @Model.RevisionReason + @Html.Raw(Model.RevisionReason) Gå til første utgave

From 3b0bd29d119b7c7f8791c1ef04edaed2d5ef3653 Mon Sep 17 00:00:00 2001 From: "Stein A. Hoem" Date: Tue, 20 Aug 2024 09:56:31 +0200 Subject: [PATCH 20/35] =?UTF-8?q?fix=20spr=C3=A5k?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assessments.Transformation/Program.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Assessments.Transformation/Program.cs b/Assessments.Transformation/Program.cs index 348725e8..ce444ac0 100644 --- a/Assessments.Transformation/Program.cs +++ b/Assessments.Transformation/Program.cs @@ -23,6 +23,7 @@ Directory.CreateDirectory(dataFolder); CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("nb-NO"); +CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("nb-NO"); var menuItems = new List { From 0ff1270f793c15aa07dad44bd0eaeae2147571b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Fri, 23 Aug 2024 09:52:53 +0200 Subject: [PATCH 21/35] update test for horizon scanned assessments --- .../SharedResourcesAlienSpecies.en.resx | 3 + .../SharedResourcesAlienSpecies.resx | 3 + .../2023/AlienSpeciesDetail.cshtml | 3 +- .../Views/Shared/_Ingress.cshtml | 11 +- ...23AlienSpeciesCategoryResource.Designer.cs | 9 -- ...nt2023AlienSpeciesCategoryResource.en.resx | 3 - ...sment2023AlienSpeciesCategoryResource.resx | 3 - ...sment2023SpeciesStatusResource.Designer.cs | 9 ++ ...ssessment2023SpeciesStatusResource.en.resx | 3 + ...esAssessment2023SpeciesStatusResource.resx | 143 ++++++++++-------- 10 files changed, 111 insertions(+), 79 deletions(-) diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx index 82eda5dc..75ec4213 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx @@ -246,4 +246,7 @@ score + + did not pass the horizon scanning + \ No newline at end of file diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx index 768b0472..36449d98 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx @@ -246,4 +246,7 @@ delkategori + + ikke gikk videre fra horisontskanningen + \ No newline at end of file diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml index bc029966..4381ca3b 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml @@ -107,11 +107,12 @@ var showRegionalSpread = !isNr && !isEvaluatedAtAnotherLevel; var showAttachments = !isEvaluatedAtAnotherLevel && assessment.Attachments != null && assessment.Attachments.Count() != 0; var showImpactedNatureTypes = !isNr && !isEvaluatedAtAnotherLevel; - var showKnowMore = !(assessment.Category == AlienSpeciesAssessment2023Category.NR && (assessment.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.NotAlienSpecie || Model.Assessment.SpeciesStatus == AlienSpeciesAssessment2023SpeciesStatus.NotIndicated)); + var showKnowMore = !(assessment.Category == AlienSpeciesAssessment2023Category.NR && (assessment.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.NotAlienSpecie || Model.Assessment.SpeciesStatus == AlienSpeciesAssessment2023SpeciesStatus.NotIndicated || Model.Assessment.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment)); var showReference = assessment.References != null && assessment.References.Count() > 0; var showSpreadWays = !isNr && !isEvaluatedAtAnotherLevel; var showTableOfContents = assessment.Category != AlienSpeciesAssessment2023Category.NR; var showCitationForAssessment = Model.ExpertGroupMembers.Any(); + var showHorizonScanning = assessment.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment; Model.PageMenuViewModel.TableOfContentsViewModel = new TableOfContentsViewModel { diff --git a/Assessments.Frontend.Web/Views/Shared/_Ingress.cshtml b/Assessments.Frontend.Web/Views/Shared/_Ingress.cshtml index 9b82b910..61ae0be7 100644 --- a/Assessments.Frontend.Web/Views/Shared/_Ingress.cshtml +++ b/Assessments.Frontend.Web/Views/Shared/_Ingress.cshtml @@ -1,5 +1,6 @@ @model IngressViewModel @using Assessments.Mapping.AlienSpecies.Model.Enums +@inject IStringLocalizer Localizer @{ var isNr = Model.Category == AlienSpeciesAssessment2023Category.NR; @@ -14,9 +15,13 @@ var notAssessedText = "er ikke risikovurdert fordi"; var evaluatedOnAnotherLevelString = "den"; var notEvaluatedOnAnotherLevelString = "den er"; + var didNotPassHorizonScanning = "den"; var allSubTaxaAssessedSeparatelyString = "det"; - var evaluetedString = Model.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.TaxonEvaluatedAtAnotherLevel ? evaluatedOnAnotherLevelString : + var evaluatedString = Model.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.TaxonEvaluatedAtAnotherLevel ? evaluatedOnAnotherLevelString : + Model.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment ? + didNotPassHorizonScanning : Model.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.AllSubTaxaAssessedSeparately ? allSubTaxaAssessedSeparatelyString : notEvaluatedOnAnotherLevelString; + var statusText = Model.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment ? @Localizer["did_not_pass_horizon_scanning"] : Model.AlienSpeciesCategory.DisplayName().ToLowerInvariant(); }
@@ -39,10 +44,10 @@

- @Helpers.FixSpeciesLevelWithTranslation("{Arten}", Model.TaxonRank, Model.ScientificName) @notAssessedText @evaluetedString @Model.AlienSpeciesCategory.DisplayName().ToLowerInvariant() (les vurderingen her). + @Helpers.FixSpeciesLevelWithTranslation("{Arten}", Model.TaxonRank, Model.ScientificName) @notAssessedText @evaluatedString @Model.AlienSpeciesCategory.DisplayName().ToLowerInvariant() (les vurderingen her).

- @Helpers.FixSpeciesLevelWithTranslation("{Arten}", Model.TaxonRank, Model.ScientificName) @notAssessedText @evaluetedString @Model.AlienSpeciesCategory.DisplayName().ToLowerInvariant(). + @Helpers.FixSpeciesLevelWithTranslation("{Arten}", Model.TaxonRank, Model.ScientificName) @notAssessedText @evaluatedString @statusText.ToLowerInvariant().

@Helpers.FixSpeciesLevelWithTranslation("{Arten}", Model.TaxonRank, Model.ScientificName) @notAssessedText @Model.SpeciesStatus.Description(). diff --git a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.Designer.cs b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.Designer.cs index 165fa68e..97cd6eac 100644 --- a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.Designer.cs +++ b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.Designer.cs @@ -124,15 +124,6 @@ public static string horizon_scanned_but_no_risk_assessment { } } - ///

- /// Looks up a localized string similar to Horisontskannet. - /// - public static string horizon_scanned_but_not_assessed { - get { - return ResourceManager.GetString("horizon_scanned_but_not_assessed", resourceCulture); - } - } - /// /// Looks up a localized string similar to Utenfor avgrensningen. /// diff --git a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.en.resx b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.en.resx index 8d35adb1..9b906cb7 100644 --- a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.en.resx +++ b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.en.resx @@ -150,9 +150,6 @@ Outside the delimination - - Horizon scanned - Horizon scanned diff --git a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.resx b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.resx index 2f2f7874..4d5cfc4a 100644 --- a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.resx +++ b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023AlienSpeciesCategoryResource.resx @@ -150,9 +150,6 @@ Utenfor avgrensningen - - Horisontskannet - Horisontskannet diff --git a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023SpeciesStatusResource.Designer.cs b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023SpeciesStatusResource.Designer.cs index 52d3f58f..65da8b2d 100644 --- a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023SpeciesStatusResource.Designer.cs +++ b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023SpeciesStatusResource.Designer.cs @@ -97,6 +97,15 @@ public static string established_description { } } + /// + /// Looks up a localized string similar to ikke gikk videre fra horisontskanningen. + /// + public static string horizon_scanned { + get { + return ResourceManager.GetString("horizon_scanned", resourceCulture); + } + } + /// /// Looks up a localized string similar to Innendørs. /// diff --git a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023SpeciesStatusResource.en.resx b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023SpeciesStatusResource.en.resx index 22c8cdb7..14358857 100644 --- a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023SpeciesStatusResource.en.resx +++ b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023SpeciesStatusResource.en.resx @@ -162,4 +162,7 @@ Reproducing unaidedly + + did not pass through the horizon scanning + \ No newline at end of file diff --git a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023SpeciesStatusResource.resx b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023SpeciesStatusResource.resx index e75d30c1..da23494b 100644 --- a/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023SpeciesStatusResource.resx +++ b/Assessments.Shared/Resources/Enums/AlienSpecies/AlienSpeciesAssessment2023SpeciesStatusResource.resx @@ -1,76 +1,96 @@  + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + + + + + + + + + + + + + + + + + + - + + @@ -89,13 +109,13 @@ text/microsoft-resx - 1.3 + 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Ikke angitt @@ -142,4 +162,7 @@ selvstendig reproduserende + + ikke gikk videre fra horisontskanningen + \ No newline at end of file From 68612ad103622f7e7c60acac9ff0c6167f555a9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Fri, 23 Aug 2024 10:24:24 +0200 Subject: [PATCH 22/35] update text --- .../Resources/SharedResourcesAlienSpecies.en.resx | 2 +- .../Resources/SharedResourcesAlienSpecies.resx | 2 +- Assessments.Frontend.Web/Views/Shared/_Ingress.cshtml | 3 --- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx index 75ec4213..d702f248 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.en.resx @@ -247,6 +247,6 @@ score - did not pass the horizon scanning + outside the scope of risk assessment \ No newline at end of file diff --git a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx index 36449d98..2431036b 100644 --- a/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx +++ b/Assessments.Frontend.Web/Resources/SharedResourcesAlienSpecies.resx @@ -247,6 +247,6 @@ delkategori - ikke gikk videre fra horisontskanningen + utenfor avgrensningen for risikovurdering \ No newline at end of file diff --git a/Assessments.Frontend.Web/Views/Shared/_Ingress.cshtml b/Assessments.Frontend.Web/Views/Shared/_Ingress.cshtml index 61ae0be7..2e561be9 100644 --- a/Assessments.Frontend.Web/Views/Shared/_Ingress.cshtml +++ b/Assessments.Frontend.Web/Views/Shared/_Ingress.cshtml @@ -15,11 +15,8 @@ var notAssessedText = "er ikke risikovurdert fordi"; var evaluatedOnAnotherLevelString = "den"; var notEvaluatedOnAnotherLevelString = "den er"; - var didNotPassHorizonScanning = "den"; var allSubTaxaAssessedSeparatelyString = "det"; var evaluatedString = Model.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.TaxonEvaluatedAtAnotherLevel ? evaluatedOnAnotherLevelString : - Model.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment ? - didNotPassHorizonScanning : Model.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.AllSubTaxaAssessedSeparately ? allSubTaxaAssessedSeparatelyString : notEvaluatedOnAnotherLevelString; var statusText = Model.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment ? @Localizer["did_not_pass_horizon_scanning"] : Model.AlienSpeciesCategory.DisplayName().ToLowerInvariant(); } From 0c3909a2ddcecc695835ea889385ffbd490b0cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Fri, 23 Aug 2024 13:57:07 +0200 Subject: [PATCH 23/35] add horizon scanning to assessment reasoning --- .../Models/PartialViewModels.cs | 6 ++++- .../2023/AlienSpeciesDetail.cshtml | 3 +-- .../_AssessmentReasoning.cshtml | 7 +++++- .../AssessmentPartials/_HorizonScanned.cshtml | 23 +++++++++++++++++++ 4 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml diff --git a/Assessments.Frontend.Web/Models/PartialViewModels.cs b/Assessments.Frontend.Web/Models/PartialViewModels.cs index 2e9fc7d5..490a30dc 100644 --- a/Assessments.Frontend.Web/Models/PartialViewModels.cs +++ b/Assessments.Frontend.Web/Models/PartialViewModels.cs @@ -173,7 +173,11 @@ public class ExpertStatementViewModel public string UncertaintyEstablishmentTimeDescription { get; set; } - public string ScientificName { get; set; } + public string ScientificName { get; set; } + + public AlienSpeciesAssessment2023HorizonEstablismentPotential? HorizonEstablismentPotential { get; set; } + + public AlienSpeciesAssessment2023HorizonEcologicalEffect? HorizonEcologicalEffect { get; set; } } public class IngressViewModel diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml index 4381ca3b..75f4ae22 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml @@ -92,7 +92,7 @@ var showExpertStatement = !isNr && !isEvaluatedAtAnotherLevel; var isHorizonScanned = Model.Assessment.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment; - var showAssessmentReasoning = !isHorizonScanned && (isNr || isEvaluatedAtAnotherLevel) && + var showAssessmentReasoning = isHorizonScanned || (isNr || isEvaluatedAtAnotherLevel) && (!string.IsNullOrEmpty(Model.ExpertStatementViewModel.MisidentifiedDescription) || !string.IsNullOrEmpty(Model.ExpertStatementViewModel.AllSubTaxaAssessedSeparately) || !string.IsNullOrEmpty(Model.ExpertStatementViewModel.HybridWithoutOwnRiskAssessmentDescription) || @@ -112,7 +112,6 @@ var showSpreadWays = !isNr && !isEvaluatedAtAnotherLevel; var showTableOfContents = assessment.Category != AlienSpeciesAssessment2023Category.NR; var showCitationForAssessment = Model.ExpertGroupMembers.Any(); - var showHorizonScanning = assessment.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment; Model.PageMenuViewModel.TableOfContentsViewModel = new TableOfContentsViewModel { diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_AssessmentReasoning.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_AssessmentReasoning.cshtml index 8b9d04f5..46c07b5b 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_AssessmentReasoning.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_AssessmentReasoning.cshtml @@ -1,4 +1,5 @@ -@model ExpertStatementViewModel +@using Assessments.Mapping.AlienSpecies.Model.Enums +@model ExpertStatementViewModel @{ var showChangedAssessment = Model.AlienSpeciesCategory == Assessments.Mapping.AlienSpecies.Model.Enums.AlienSpeciecAssessment2023AlienSpeciesCategory.NotAlienSpecie; @@ -7,6 +8,7 @@ var showChangedFromAlienDescription = !string.IsNullOrEmpty(Model.ChangedFromAlienDescription) && (!string.IsNullOrEmpty(Model.AlienStatusExplanation) && Model.AlienStatusExplanation != Model.ChangedFromAlienDescription || string.IsNullOrEmpty(Model.AlienStatusExplanation)); var showConnectedToHigherLowerTaxonDescription = Model.AlienSpeciesCategory == Assessments.Mapping.AlienSpecies.Model.Enums.AlienSpeciecAssessment2023AlienSpeciesCategory.TaxonEvaluatedAtAnotherLevel; var showUncertaintyEstablishmentTimeDescription = Model.AlienSpeciesCategory == Assessments.Mapping.AlienSpecies.Model.Enums.AlienSpeciecAssessment2023AlienSpeciesCategory.UncertainBefore1800 || Model.AlienSpeciesCategory == Assessments.Mapping.AlienSpecies.Model.Enums.AlienSpeciecAssessment2023AlienSpeciesCategory.RegionallyAlienEstablishedBefore1800; + var showHorizonScanned = Model.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment; var isMisidentified = Model.AlienSpeciesCategory == Assessments.Mapping.AlienSpecies.Model.Enums.AlienSpeciecAssessment2023AlienSpeciesCategory.MisIdentified; var isAllBubTaxaAssessedSeparately = Model.AlienSpeciesCategory == Assessments.Mapping.AlienSpecies.Model.Enums.AlienSpeciecAssessment2023AlienSpeciesCategory.AllSubTaxaAssessedSeparately; var isHybridWithoutOwnRiskAssessment = Model.AlienSpeciesCategory == Assessments.Mapping.AlienSpecies.Model.Enums.AlienSpeciecAssessment2023AlienSpeciesCategory.HybridWithoutOwnRiskAssessment; @@ -36,6 +38,9 @@

@Html.Raw(Model.UncertaintyEstablishmentTimeDescription)

+
+ +
diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml new file mode 100644 index 00000000..ec19ed14 --- /dev/null +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml @@ -0,0 +1,23 @@ +@model ExpertStatementViewModel +
+

+ Arten er vurdert som en potensiell dørstokkart i Horisontskanning av fremmede arter. Resultatet viser at arten ikke er en dørstokkart for Norge fordi kombinasjonen av etableringspotensial og negative økologiske effekter ikke skårer høyt nok. Den skal derfor ikke risikovurderes. +

+ +

Etableringspotensial

+

Antall forekomster 10 år etter én introduksjon ble vurdert til: [VIS GJELDENDE VERDI HER.]

+ +

Økologisk effekt

+

Vesentlige negative økologiske effekter knyttet til arten er: [VIS GJELDENDE VERDI HER]

+
+
+

Se mulige verdier for etableringspotensial og økologisk effekt

+ expand_less + expand_more +
+ +
+ +
+
+
\ No newline at end of file From 23d5dfc04fc9920033233f3dcb89549a346068d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Mon, 26 Aug 2024 07:57:41 +0200 Subject: [PATCH 24/35] add download date to citation --- .../Views/Shared/_CitationForAssessment.cshtml | 5 ++++- .../Views/Shared/_CitationForList.cshtml | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Assessments.Frontend.Web/Views/Shared/_CitationForAssessment.cshtml b/Assessments.Frontend.Web/Views/Shared/_CitationForAssessment.cshtml index e361ca4e..8f0a96ec 100644 --- a/Assessments.Frontend.Web/Views/Shared/_CitationForAssessment.cshtml +++ b/Assessments.Frontend.Web/Views/Shared/_CitationForAssessment.cshtml @@ -1,8 +1,10 @@ @using Microsoft.AspNetCore.Http.Extensions +@using System.Globalization @model CitationForAssessmentViewModel @{ // Date + var downloadDate = $"Nedlastet {DateTime.Now.ToShortDateString()}"; var firspublished = Helpers.GetPublishedDate(Model.AssessmentYear, Model.YearPreviousAssessment, Model.FirstPublished); var revisiondate = Helpers.GetRevisionDate(Model.RevisionDate, firspublished); var date = firspublished; @@ -23,6 +25,7 @@ (@date). @Html.Raw(Model.AssessmentName) @Model.PublicationText - @Context.Request.GetDisplayUrl().Split('?')[0] + @Context.Request.GetDisplayUrl().Split('?')[0]. + @downloadDate

} diff --git a/Assessments.Frontend.Web/Views/Shared/_CitationForList.cshtml b/Assessments.Frontend.Web/Views/Shared/_CitationForList.cshtml index 2b9b2b38..9d76803b 100644 --- a/Assessments.Frontend.Web/Views/Shared/_CitationForList.cshtml +++ b/Assessments.Frontend.Web/Views/Shared/_CitationForList.cshtml @@ -1,9 +1,13 @@ @model CitationForListViewModel @using Microsoft.AspNetCore.Http.Extensions +@{ + var downloadDate = $"Nedlastet {DateTime.Now.ToShortDateString()}"; +} +

Sitering

- @Model.CitationString @Context.Request.GetEncodedUrl().Split('?', '#')[0] + @Model.CitationString @Context.Request.GetEncodedUrl().Split('?', '#')[0]. @downloadDate

\ No newline at end of file From f9b2d167ca0069198ef8cc6c8646c3da021ee356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Mon, 26 Aug 2024 13:21:06 +0200 Subject: [PATCH 25/35] add accordion css and js from NiN3 --- .../AssessmentPartials/_HorizonScanned.cshtml | 19 +- .../Views/AlienSpecies/_Layout.cshtml | 2 + .../Views/Redlist/_Layout.cshtml | 2 + .../Views/Shared/_Layout.cshtml | 4 +- .../wwwroot/css/accordions.css | 296 ++++++++++++++++++ .../wwwroot/css/buttons-and-chips.css | 4 + .../wwwroot/js/accordions.js | 54 ++++ 7 files changed, 370 insertions(+), 11 deletions(-) create mode 100644 Assessments.Frontend.Web/wwwroot/css/accordions.css create mode 100644 Assessments.Frontend.Web/wwwroot/js/accordions.js diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml index ec19ed14..5a72d01c 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml @@ -9,15 +9,14 @@

Økologisk effekt

Vesentlige negative økologiske effekter knyttet til arten er: [VIS GJELDENDE VERDI HER]

-
-
-

Se mulige verdier for etableringspotensial og økologisk effekt

- expand_less - expand_more -
- -
- +
+ +
+ add content here
-
+
\ No newline at end of file diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/_Layout.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/_Layout.cshtml index adafbc06..66b5533f 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/_Layout.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/_Layout.cshtml @@ -32,6 +32,7 @@ + @@ -51,6 +52,7 @@ @RenderBody() + diff --git a/Assessments.Frontend.Web/Views/Redlist/_Layout.cshtml b/Assessments.Frontend.Web/Views/Redlist/_Layout.cshtml index ea2d881f..8ac1ade0 100644 --- a/Assessments.Frontend.Web/Views/Redlist/_Layout.cshtml +++ b/Assessments.Frontend.Web/Views/Redlist/_Layout.cshtml @@ -22,6 +22,7 @@ + @@ -42,6 +43,7 @@ + diff --git a/Assessments.Frontend.Web/Views/Shared/_Layout.cshtml b/Assessments.Frontend.Web/Views/Shared/_Layout.cshtml index fc78ef43..23b7e071 100644 --- a/Assessments.Frontend.Web/Views/Shared/_Layout.cshtml +++ b/Assessments.Frontend.Web/Views/Shared/_Layout.cshtml @@ -12,7 +12,8 @@ - + + @@ -26,6 +27,7 @@ @RenderBody() + diff --git a/Assessments.Frontend.Web/wwwroot/css/accordions.css b/Assessments.Frontend.Web/wwwroot/css/accordions.css new file mode 100644 index 00000000..25d21bbf --- /dev/null +++ b/Assessments.Frontend.Web/wwwroot/css/accordions.css @@ -0,0 +1,296 @@ +/* Hentet fra styles/accordions.sass i Natur i Norge 3 og oversatt til css. */ + +.adb-accordions, +.adb-single-accordion { + margin: 55px 0; +} + +.adb-accordion-ingress { + margin: 20px 0; +} + +.adb-accordion-small-button, +.adb-accordion-button { + display: flex; + width: 100%; + height: 75px; + padding: 20px; + margin-bottom: 20px; + justify-content: space-between; + align-items: center; + flex-shrink: 0; + border: 0; + border-bottom: 1px solid #005B72; +} + +.adb-accordion-button-variable { + background-color: inherit; + border: 1px solid #005B72; +} + +.adb-accordion-button-variable-special { + background-color: inherit; + height: auto; +} + +.adb-accordion-button-variable-special .accordion-title-heading { + text-align: initial; +} + +.adb-accordion-button.adb-accordion-button-variable-special { + padding: 0 25px; +} + +.adb-accordion-button { + padding: 25px; +} + +.adb-accordion-small-button { + height: 61px; + background: inherit; + max-width: 300px; +} + +.accordion-primary .adb-accordion-button { + background: #FFF9F0; +} + +.accordion-secondary .adb-accordion-button { + background: #F7F9FB; +} + +.accordion-secondary .adb-accordion-button:hover, +.accordion-secondary .adb-accordion-button:focus { + cursor: pointer; + background: #f6f6f6; +} + +.accordion-primary .adb-accordion-small-button:hover, +.accordion-primary .adb-accordion-small-button:focus, +.accordion-primary .adb-accordion-button:hover, +.accordion-primary.open .adb-accordion-button:hover{ + cursor: pointer; + background: #f6f6f6; +} + +.accordion-primary .adb-accordion-button:focus, +.accordion-primary.open .adb-accordion-button { + background: #FBF5ED; +} + +.adb-single-accordion { + margin: 0; +} + + .adb-single-accordion .adb-accordion-button { + background: initial; + } + +.adb-accordion.References .adb-accordion-button { + background: white; +} + + .adb-accordion.References.open .adb-accordion-button, + .adb-accordion.References .adb-accordion-button:hover, + .adb-accordion.References .adb-accordion-button:focus { + background: #f6f6f6; + } + +.adb-accordion-small .remove, +.adb-accordion .remove { + display: none; +} + +.adb-accordion .adb-accordion-small-content, +.adb-accordion .adb-accordion-content, +.adb-accordion-small .adb-accordion-small-content, +.adb-accordion-small .adb-accordion-content { + display: none; +} + +.adb-accordion-small.open { + border-left: 1px solid #D9D9D9; +} + + .adb-accordion-small.open.search-bar { + max-width: 300px; + border: 1px solid #D9D9D9; + } + + .adb-accordion-small.open.search-bar .adb-accordion-small-content { + padding: 10px; + } + + .adb-accordion-small.open .adb-accordion-small-button, + .adb-accordion.open .adb-accordion-small-button { + color: #fff; + background-color: #005B72; + } + + .adb-accordion-small.open .adb-accordion-small-button .Label_14, + .adb-accordion.open .adb-accordion-small-button .Label_14 { + color: #fff; + } + + .adb-accordion-small.open .adb-accordion-button, + .adb-accordion.open .adb-accordion-button { + color: #262f31; + padding-left: 30px; + } + + .adb-accordion-small.open .adb-accordion-button-variable, + .adb-accordion-small.open .adb-accordion-button-variable-special, + .adb-accordion.open .adb-accordion-button-variable, + .adb-accordion.open .adb-accordion-button-variable-special { + background-color: #f6f6f6; + border: 0; + border-bottom: 1px solid #005B72; + } + +.adb-accordion.open .adb-accordion-small-content, +.adb-accordion.open .adb-accordion-content, +.adb-accordion-small.open .adb-accordion-small-content, +.adb-accordion-small.open .adb-accordion-content { + display: block; + margin-bottom: 20px; +} + +.adb-accordion-small.open .adb-accordion-small-content, +.adb-accordion.open .adb-accordion-small-content { + padding-left: 10px; + max-height: 400px; + overflow-y: auto; + max-width: 300px; +} + +.adb-accordion-small.open .add, +.adb-accordion.open .add { + display: none; +} + +.adb-accordion-small.open .remove, +.adb-accordion.open .remove { + display: block; +} + +.adb-accordion.open .adb-accordion-button-variable-special .accordion-title .accordion-title-code { + color: #005B72; +} + +.adb-accordion.open .adb-accordion-button-variable-special .accordion-title .Heading_20_bold { + color: #005B72; +} + +.adb-accordion-button-title-with-icon { + display: flex; + align-items: center; + justify-content: center; +} + +.adb-accordion-button-title-with-icon span:first-child { + margin-right: 15px; +} + +.adb-accordion-content-variable { + display: flex; + flex-direction: column; +} + +.adb-accordion-content-variable .accordion-left { + display: flex; + flex-direction: row; + gap: 20px; + align-items: center; + border-bottom: 1px solid #D9D9D9; + padding: 5px 0; +} + +.adb-accordion-content-variable .accordion-left .accordion-title { + display: flex; + flex-direction: column; + align-items: flex-start; + margin-bottom: 0; +} + +.adb-accordion-content-variable .accordion-left .accordion-title-value { + display: flex; + align-items: center; + justify-content: center; + height: 45px; + width: 45px; + border-radius: 50%; + background: #DFEDE9; +} + +.adb-accordion-content-variable .accordion-left .accordion-title-code { + font-size: 15px; + margin: 0 0 -8px 4px; +} + + +.accordion-left { + display: flex; + flex-direction: row; + gap: 10px; + align-items: center; +} + +.accordion-left .accordion-title { + display: flex; + flex-direction: column; + align-items: flex-start; + margin-bottom: 20px; +} + +.accordion-left .accordion-title-value { + display: flex; + align-items: center; + justify-content: center; + height: 45px; + min-width: 45px; + width: 45px; + border-radius: 50%; + background: #DFEDE9; +} + +.accordion-left .accordion-title-code { + font-size: 15px; + margin: 0 0 -8px 4px; +} + +@media (max-width: 750px) { + .adb-accordion .material-icons-outlined { + font-size: 20px; + } + + .adb-accordions { + margin: 55px 15px; + } + + .adb-single-accordion { + margin: 0 15px; + } + + .adb-accordion-small { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + } + + .adb-accordion-small.open { + margin-bottom: 70px; + } + + .adb-accordion-small.open .adb-accordion-small-content { + max-width: inherit; + } + + .adb-accordion-small-button { + max-width: initial; + } + + .adb-accordion-small.open.search-bar { + max-width: inherit; + } +} \ No newline at end of file diff --git a/Assessments.Frontend.Web/wwwroot/css/buttons-and-chips.css b/Assessments.Frontend.Web/wwwroot/css/buttons-and-chips.css index 7ad261ca..ccc55229 100644 --- a/Assessments.Frontend.Web/wwwroot/css/buttons-and-chips.css +++ b/Assessments.Frontend.Web/wwwroot/css/buttons-and-chips.css @@ -74,6 +74,10 @@ button { height: auto; } +.collapsible_header { + margin: 0; +} + .link-styled { display: block; } diff --git a/Assessments.Frontend.Web/wwwroot/js/accordions.js b/Assessments.Frontend.Web/wwwroot/js/accordions.js new file mode 100644 index 00000000..0348883f --- /dev/null +++ b/Assessments.Frontend.Web/wwwroot/js/accordions.js @@ -0,0 +1,54 @@ +/* +This is taken from Natur i Norge 3 and modified slightly to fit for this project. +To see more use cases and code examples, visit Natur i Norge 3. + +
+ +
+ add content here +
+
+*/ + +const toggleAccordion = (element) => { + const openClassName = 'open'; + const parent = element.parentElement; + const isOpen = parent.classList.contains(openClassName); + if (isOpen) { + parent.classList.remove(openClassName); + } + else { + parent.classList.add(openClassName); + } +}; +const triggerAccordion = () => { + const accordionClassName = 'adb-accordion'; + const smallAccordionClassName = 'adb-accordion-small'; + const openClassName = 'open'; + const accordions = document.getElementsByClassName(accordionClassName); + const smallAccordions = document.getElementsByClassName(smallAccordionClassName); + if (accordions.length != 0) { + Array.prototype.forEach.call(accordions, (element) => { + if (element === null || element === void 0 ? void 0 : element.classList.contains(openClassName)) { + element.classList.remove(openClassName); + } + }); + } + if (smallAccordions.length != 0) { + Array.prototype.forEach.call(smallAccordions, (element) => { + if (element === null || element === void 0 ? void 0 : element.classList.contains(openClassName)) { + element.classList.remove(openClassName); + } + }); + } +}; From 6ae05fa902fd8d9b7dd8c9323b8959663a8284ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Mon, 26 Aug 2024 14:02:26 +0200 Subject: [PATCH 26/35] switch collapsible with accordion --- Assessments.Frontend.Web/README.md | 2 +- .../_CriteriaExplanation.cshtml | 56 +++++++---------- .../AssessmentPartials/_HorizonScanned.cshtml | 2 +- .../Views/AlienSpecies/_Layout.cshtml | 1 - .../wwwroot/css/accordions.css | 1 + .../wwwroot/js/collapse.js | 63 ------------------- 6 files changed, 27 insertions(+), 98 deletions(-) delete mode 100644 Assessments.Frontend.Web/wwwroot/js/collapse.js diff --git a/Assessments.Frontend.Web/README.md b/Assessments.Frontend.Web/README.md index 25f789c1..514eed48 100644 --- a/Assessments.Frontend.Web/README.md +++ b/Assessments.Frontend.Web/README.md @@ -4,7 +4,7 @@ ### Make areas in the assessment page collapsible -Follow the recipe found in top of the file "Assessments.Frontend.Web/wwwroot/js/collapse.js". +Follow the recipe found in top of the file "Assessments.Frontend.Web/wwwroot/js/accordions.js". ### Adding a filter to the list view diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml index cd31dde1..02c45073 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_CriteriaExplanation.cshtml @@ -361,22 +361,14 @@ void GetListForCategory(AlienSpeciesAssessment2023Criterion criterion, string letter) { -
+ -
+ + expand_more + expand_less + } void GetEstimationMethod(string estimationMethod) @@ -408,11 +400,11 @@ @Localizer["go_to_non_decisive"]

    -
  • +
  • @{ GetListForCategory(uncertaintyA, AlienSpeciesAssessment2023CriteriaLetter.A.ToString()); } -
    +
    @{GetEstimationMethod(assessment.MedianLifetimeEstimationMethod.DisplayName().ToLowerInvariant());}

    @@ -520,11 +512,11 @@

  • -
  • +
  • @{ GetListForCategory(uncertaintyB, AlienSpeciesAssessment2023CriteriaLetter.B.ToString()); } -
    +
    @{GetEstimationMethod(assessment.ExpansionSpeedEstimationMethod.DisplayName().ToLowerInvariant());}

    @@ -633,11 +625,11 @@
  • -
    +
    @{ GetListForCategory(uncertaintyC, AlienSpeciesAssessment2023CriteriaLetter.C.ToString()); } -
    +
Berørt naturtype (med gruppen av påvirkede arter): @impact.Name@Helpers.removeLineBreaksForMobile(@Localizer["affected_species_naturetype"].Value): @impact.Name
påvirkes nøkkelarter eller truede arter?@Helpers.removeLineBreaksForMobile(@Localizer["keystone_or_threatened"].Value)@(impact.KeyStoneSpecie ? "ja" : "nei")
interaksjonens styrke@Localizer["interaction_strength"] @impact.InteractionStrength.DisplayName()
geografisk omfang@Localizer["geographical_extent"] @impact.Scale.DisplayName()
type interaksjon@Localizer["interaction_type"] @impact.InteractionType.DisplayName()
vurderingsgrunnlag@Helpers.removeLineBreaksForMobile(@Localizer["documentation_type"].Value)
    @foreach (var background in impact.Background) @@ -305,20 +308,20 @@
@if (shouldBeThreatened) { - @Constants.AlienSpeciesTables.CriteriaFNaturetypesTableTitle + @Localizer["alien_species_tables_F_criteria_table_title"] } @if (!shouldBeThreatened) { - @Constants.AlienSpeciesTables.CriteriaGNaturetypesTableTitle + @Localizer["alien_species_tables_G_criteria_table_title"] } - @Constants.AlienSpeciesTables.CriteriaFAndGNaturetypesTableDescription + @Localizer["alien_species_tables_F_G_criteria_table_description"]
@Constants.AlienSpeciesTables.NaturetypeNameTableColumn@Constants.AlienSpeciesTables.TimeHorizonTableColumn@Html.Raw(@Constants.AlienSpeciesTables.StateChangeTableColumn)@Html.Raw(@Constants.AlienSpeciesTables.AffectedAreaTableColumn)@Html.Raw(@Constants.AlienSpeciesTables.BackgroundTableColumn)@LocalizerShared["ecosystem"]@Localizer["time_horizon"]@LocalizerHtml["state_change"]@LocalizerHtml["affected_area"]@LocalizerHtml["documentation_type"]
@Constants.AlienSpeciesTables.NaturetypeNameTableColumn@Constants.AlienSpeciesTables.TimeHorizonTableColumn@Localizer["time_horizon"] @Html.Raw(@Constants.AlienSpeciesTables.ColonizedAreaTableColumn)@Html.Raw(@Constants.AlienSpeciesTables.BackgroundTableColumn)@LocalizerHtml["documentation_type"]
@Constants.AlienSpeciesTables.NaturetypeNameTableColumn:@natureType.Name @Constants.AlienSpeciesTables.TimeHorizonTableColumn:@natureType.TimeHorizon.DisplayName() @Localizer["time_horizon"]:@natureType.TimeHorizon.DisplayName() @Helpers.removeLineBreaksForMobile(@Constants.AlienSpeciesTables.ColonizedAreaTableColumn):@natureType.ColonizedArea @Helpers.removeLineBreaksForMobile(@Constants.AlienSpeciesTables.BackgroundTableColumn): + + @Helpers.removeLineBreaksForMobile(@Localizer["documentation_type"]):
    @foreach (var background in natureType.Background) { @@ -673,16 +678,17 @@
-

@Constants.yAxisLabel

+

@LocalizerShared["ecological_effect"]

- @Constants.speciesHas @assessment.ScoreEcologicalEffect.DisplayName().ToLowerInvariant() - @Constants.yAxisLabel.ToLower() (@Constants.JustScore @((int)assessment.ScoreEcologicalEffect)) + + @Helpers.FixSpeciesLevelWithTranslation("{Arten}", assessment.ScientificName.ScientificNameRank, assessment.ScientificName.ScientificName) @LocalizerShared["has"] @assessment.ScoreEcologicalEffect.DisplayName().ToLowerInvariant() + @LocalizerShared["ecological_effect"].Value.ToLower() (@LocalizerShared["score"] @((int)assessment.ScoreEcologicalEffect))

- @Constants.determeningCriteriaHeading - @Constants.otherCriteriaHeading + @LocalizerShared["decisive_criteria_short"] + @LocalizerShared["non_decisive_criteria"]

@Constants.noEcoEffect

@@ -820,9 +826,9 @@ @Constants.AlienSpeciesTables.CriteriaHIntrogressionTableDescription
Stedegen art@Html.Raw(@Constants.AlienSpeciesTables.RedListCategoryTableColumn)@Constants.AlienSpeciesTables.KeyStoneSpeciesTableColumn@Localizer["native_species"]@LocalizerHtml["red_list_category_2021_html"]@Localizer["keystone_species"] Geografisk omfang Vurderingsgrunnlag
Stedegen art@Html.Raw(@Constants.AlienSpeciesTables.RedListCategoryTableColumn)@Constants.AlienSpeciesTables.KeyStoneSpeciesTableColumn@Localizer["native_species"]@LocalizerHtml["red_list_category_2021_html"]@Localizer["keystone_species"] Parasittens vitenskapelige navn Parasittens status Parasittens delkategori
@Constants.AlienSpeciesTables.CriteriaCNaturetypesTableTitle @@ -691,11 +683,11 @@

@Localizer["eco_effect_no_decisive"]

    -
  • +
  • @{ GetListForCategory(uncertaintyD, AlienSpeciesAssessment2023CriteriaLetter.D.ToString()); } -
    +
    @{ @@ -734,11 +726,11 @@
  • -
  • +
  • @{ GetListForCategory(uncertaintyE, AlienSpeciesAssessment2023CriteriaLetter.E.ToString()); } -
    +
    @{ @@ -777,11 +769,11 @@
  • -
  • +
  • @{ GetListForCategory(uncertaintyF, AlienSpeciesAssessment2023CriteriaLetter.F.ToString()); } -
    +
    @{ GetFGTable(true); @@ -794,11 +786,11 @@
  • -
    +
    @{ GetListForCategory(uncertaintyG, AlienSpeciesAssessment2023CriteriaLetter.G.ToString()); } -
    +
    @{ GetFGTable(false); @@ -812,11 +804,11 @@
  • -
    +
    @{ GetListForCategory(uncertaintyH, AlienSpeciesAssessment2023CriteriaLetter.H.ToString()); } -
    +
    @@ -863,11 +855,11 @@
  • -
    +
    @{ GetListForCategory(uncertaintyI, AlienSpeciesAssessment2023CriteriaLetter.I.ToString()); } -
    +
    @@ -919,7 +911,7 @@ -
  • +
  • @Localizer["eco_effects_by_criteria"] @UnusedCriteriaEcologicalEffect() @Localizer["evaluated_absent"] diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml index 5a72d01c..3c8d37d3 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml @@ -9,7 +9,7 @@

    Økologisk effekt

    Vesentlige negative økologiske effekter knyttet til arten er: [VIS GJELDENDE VERDI HER]

    -
    +
    -//
    -// -//
    -// -//
    -//
    - -const hideClassName = 'hide-element'; -const collapsibleClassName = 'collapsible'; - -const toggleCollapsible = buttonElement => { - const mainElement = buttonElement?.parentNode?.parentNode; - const collapsibleContentElement = mainElement?.children[1]; - const isCollapsed = collapsibleContentElement?.classList.contains(hideClassName); - const expandLessIcon = buttonElement?.children[0]; - const expandMoreIcon = buttonElement?.children[1]; - - if (isCollapsed) { - collapsibleContentElement.classList.remove(hideClassName); - expandLessIcon.classList.remove(hideClassName); - expandMoreIcon.classList.add(hideClassName); - } else { - collapsibleContentElement?.classList.add(hideClassName); - expandLessIcon?.classList.add(hideClassName); - expandMoreIcon?.classList.remove(hideClassName); - } -} - -const initialCollapse = () => { - const collapsibleMainElements = document.getElementsByClassName(collapsibleClassName); - Array.prototype.forEach.call(collapsibleMainElements, element => { - const collapsibleContent = element.children[1]; - collapsibleContent?.classList.add(hideClassName); - }); -} - -const revealToggleCollapsibleButtons = () => { - const collapsibleMainElements = document.getElementsByClassName(collapsibleClassName); - Array.prototype.forEach.call(collapsibleMainElements, element => { - const buttonElement = element.children[0].children[1]; - buttonElement?.classList.remove(hideClassName); - toggleCollapsible(buttonElement); - }); -} - -const initCollapsible = () => { - revealToggleCollapsibleButtons(); - initialCollapse(); -} - -initCollapsible(); \ No newline at end of file From 2e1a5532bd5572f4697a48de57b472e1731f39fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Mon, 26 Aug 2024 15:05:18 +0200 Subject: [PATCH 27/35] add display names to enums for horizon scanned values --- .../Models/AlienSpeciesDetailViewModel.cs | 2 ++ .../AssessmentPartials/_HorizonScanned.cshtml | 36 ++++++++++++++++--- .../wwwroot/css/assessment.css | 11 ++++++ ...esAssessment2023HorizonEcologicalEffect.cs | 9 ++++- ...essment2023HorizonEstablismentPotential.cs | 15 +++++--- ...peciesAssessment2023InteractionStrength.cs | 19 +++++----- 6 files changed, 73 insertions(+), 19 deletions(-) diff --git a/Assessments.Frontend.Web/Models/AlienSpeciesDetailViewModel.cs b/Assessments.Frontend.Web/Models/AlienSpeciesDetailViewModel.cs index b7f193c1..a30c27d3 100644 --- a/Assessments.Frontend.Web/Models/AlienSpeciesDetailViewModel.cs +++ b/Assessments.Frontend.Web/Models/AlienSpeciesDetailViewModel.cs @@ -37,6 +37,8 @@ public AlienSpeciesDetailViewModel(AlienSpeciesAssessment2023 assessment) Environment = assessment.Environment, EvaluationContext = assessment.EvaluationContext, HasIndoorProduction = assessment.HasIndoorProduction, + HorizonEcologicalEffect = assessment.HorizonEcologicalEffect, + HorizonEstablismentPotential = assessment.HorizonEstablismentPotential, HybridWithoutOwnRiskAssessmentDescription = assessment.HybridWithoutOwnRiskAssessmentDescription, ImportPathways = assessment.ImportPathways, MisidentifiedDescription = assessment.MisIdentifiedDescription, diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml index 3c8d37d3..06dcbc02 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml @@ -1,14 +1,23 @@ -@model ExpertStatementViewModel +@using Assessments.Mapping.AlienSpecies.Model.Enums +@model ExpertStatementViewModel + +@{ + var establishmentPotential = Enum.GetValues() + .Select(x => x.DisplayName()); + var ecologicalEffect = Enum.GetValues() + .Select(x => x.DisplayName()); +} +

    Arten er vurdert som en potensiell dørstokkart i Horisontskanning av fremmede arter. Resultatet viser at arten ikke er en dørstokkart for Norge fordi kombinasjonen av etableringspotensial og negative økologiske effekter ikke skårer høyt nok. Den skal derfor ikke risikovurderes.

    Etableringspotensial

    -

    Antall forekomster 10 år etter én introduksjon ble vurdert til: [VIS GJELDENDE VERDI HER.]

    +

    Antall forekomster 10 år etter én introduksjon ble vurdert til: @Model.HorizonEstablismentPotential?.DisplayName()

    Økologisk effekt

    -

    Vesentlige negative økologiske effekter knyttet til arten er: [VIS GJELDENDE VERDI HER]

    +

    Vesentlige negative økologiske effekter knyttet til arten er: @Model.HorizonEcologicalEffect?.DisplayName()

    - add content here +
    +
    +

    Etableringspotensial

    +
      + @foreach(var potential in establishmentPotential) + { +
    1. @potential
    2. + } +
    +
    +
    +

    Økologiske effekter

    +
      + @foreach (var effect in ecologicalEffect) + { +
    1. @effect
    2. + } +
    +
    +
    \ No newline at end of file diff --git a/Assessments.Frontend.Web/wwwroot/css/assessment.css b/Assessments.Frontend.Web/wwwroot/css/assessment.css index 8647f8e7..43af3c16 100644 --- a/Assessments.Frontend.Web/wwwroot/css/assessment.css +++ b/Assessments.Frontend.Web/wwwroot/css/assessment.css @@ -1151,4 +1151,15 @@ tr.water-area-hide, background: #555; color: white; } +} + +.horizon-scanned-lists { + display: flex; + flex-direction: column; + gap: 20px; + margin: 0 25px; +} + +.horizon-scanned-lists li { + padding-left: 10px; } \ No newline at end of file diff --git a/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEcologicalEffect.cs b/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEcologicalEffect.cs index 7f43d21d..abc64f0e 100644 --- a/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEcologicalEffect.cs +++ b/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEcologicalEffect.cs @@ -1,8 +1,15 @@ -namespace Assessments.Mapping.AlienSpecies.Model.Enums; +using System.ComponentModel.DataAnnotations; + +namespace Assessments.Mapping.AlienSpecies.Model.Enums; public enum AlienSpeciesAssessment2023HorizonEcologicalEffect { + [Display(Name = "Fraværende")] No, + + [Display(Name = "Kjent eller antatt, men bare så lenge arten er til stede. Det vil si at effekten utgår når arten forsvinner.")] YesWhilePresent, + + [Display(Name = "Kjent eller antatt, og effekten vedvarer også etter at arten er borte.")] YesAfterGone } \ No newline at end of file diff --git a/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEstablismentPotential.cs b/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEstablismentPotential.cs index 6f774d2c..350ee95a 100644 --- a/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEstablismentPotential.cs +++ b/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023HorizonEstablismentPotential.cs @@ -1,8 +1,15 @@ -namespace Assessments.Mapping.AlienSpecies.Model.Enums; +using System.ComponentModel.DataAnnotations; + +namespace Assessments.Mapping.AlienSpecies.Model.Enums; public enum AlienSpeciesAssessment2023HorizonEstablismentPotential { - Zero = 0, - One = 1, - TwoOrMore = 2 + [Display(Name = "Ingen. Det vil si at arten har dødd ut fra introduksjonsstedet.")] + Zero, + + [Display(Name = "En. Det vil si at arten har verken dødd ut eller ekspandert.")] + One, + + [Display(Name = "To eller flere. Det vil si at arten har ekspandert.")] + TwoOrMore } \ No newline at end of file diff --git a/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023InteractionStrength.cs b/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023InteractionStrength.cs index 11c5707c..b6814cb8 100644 --- a/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023InteractionStrength.cs +++ b/Assessments.Mapping/AlienSpecies/Model/Enums/AlienSpeciesAssessment2023InteractionStrength.cs @@ -1,16 +1,15 @@ using System.ComponentModel.DataAnnotations; -namespace Assessments.Mapping.AlienSpecies.Model.Enums +namespace Assessments.Mapping.AlienSpecies.Model.Enums; + +public enum AlienSpeciesAssessment2023InteractionStrength { - public enum AlienSpeciesAssessment2023InteractionStrength - { - [Display(Name = "svak")] - Weak, + [Display(Name = "svak")] + Weak, - [Display(Name = "moderat")] - Moderate, + [Display(Name = "moderat")] + Moderate, - [Display(Name = "fortrengning")] - Displacement, - } + [Display(Name = "fortrengning")] + Displacement, } \ No newline at end of file From 1b43d096c8f83ba79875b773c191034cb7207beb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Mon, 26 Aug 2024 15:30:09 +0200 Subject: [PATCH 28/35] accordion works with dark mode --- Assessments.Frontend.Web/wwwroot/css/bnw.css | 31 +++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/Assessments.Frontend.Web/wwwroot/css/bnw.css b/Assessments.Frontend.Web/wwwroot/css/bnw.css index bf402cf5..3b1043ed 100644 --- a/Assessments.Frontend.Web/wwwroot/css/bnw.css +++ b/Assessments.Frontend.Web/wwwroot/css/bnw.css @@ -184,12 +184,35 @@ border-color: #9d9d9d; } - -/* WHITE FONT COLOR*/ -.darktheme, .darktheme header, .darktheme .controls .list_actions, .darktheme .list-search, .darktheme .main-content, .darktheme .sidebarmenu li a, .darktheme .button.primary, .darktheme .main button.primary, .darktheme .main button:not(.icon-button), .darktheme .button, .darktheme .controls button.active, .darktheme .category_displayer .tag, .darktheme .regionlist.legend .region span, .darktheme .main .changetab.active, .darktheme .tabbed_element_container li.active, .darktheme .impact_table, .darktheme .page-link, .darktheme .percent, .darktheme p { -color: #FFF9F0; +.darktheme .accordion-primary .adb-accordion-button, +.darktheme .accordion-secondary .adb-accordion-button, +.darktheme .accordion-primary .adb-accordion-button:active, +.darktheme .accordion-secondary .adb-accordion-button:active, +.darktheme .accordion-primary .adb-accordion-button:focus, +.darktheme .accordion-secondary .adb-accordion-button:focus, +.darktheme .accordion-primary.open .adb-accordion-button, +.darktheme .accordion-secondary.open .adb-accordion-button, +.darktheme .accordion-primary.open .adb-accordion-button:active, +.darktheme .accordion-secondary.open .adb-accordion-button:active, +.darktheme .accordion-primary.open .adb-accordion-button:focus, +.darktheme .accordion-secondary.open .adb-accordion-button:focus { + background: #484848; } + .darktheme .accordion-primary .adb-accordion-button:hover, + .darktheme .accordion-secondary .adb-accordion-button:hover, + .darktheme .accordion-primary.open .adb-accordion-button:hover, + .darktheme .accordion-secondary.open .adb-accordion-button:hover { + background: transparent; + border: 1px solid #9d9d9d; + color: #FFF9F0; + } + + /* WHITE FONT COLOR*/ + .darktheme, .darktheme header, .darktheme .controls .list_actions, .darktheme .list-search, .darktheme .main-content, .darktheme .sidebarmenu li a, .darktheme .button.primary, .darktheme .main button.primary, .darktheme .main button:not(.icon-button), .darktheme .button, .darktheme .controls button.active, .darktheme .category_displayer .tag, .darktheme .regionlist.legend .region span, .darktheme .main .changetab.active, .darktheme .tabbed_element_container li.active, .darktheme .impact_table, .darktheme .page-link, .darktheme .percent, .darktheme p { + color: #FFF9F0; + } + .darktheme .main .changetab:not(.active) { color: #262F31 } From 4a4d3a8fa35a927c3b4e631312d341e9a98437b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Tue, 27 Aug 2024 09:57:24 +0200 Subject: [PATCH 29/35] add horizon scanned to not assessed filters --- .../AlienSpecies/AlienSpeciesFilterHelpers.cs | 13 ------------- .../AlienSpecies/FilterItemHelpers.cs | 4 +++- .../Infrastructure/AlienSpecies/QueryHelpers.cs | 1 + 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/Assessments.Frontend.Web/Infrastructure/AlienSpecies/AlienSpeciesFilterHelpers.cs b/Assessments.Frontend.Web/Infrastructure/AlienSpecies/AlienSpeciesFilterHelpers.cs index 4554c702..cc19f8e5 100644 --- a/Assessments.Frontend.Web/Infrastructure/AlienSpecies/AlienSpeciesFilterHelpers.cs +++ b/Assessments.Frontend.Web/Infrastructure/AlienSpecies/AlienSpeciesFilterHelpers.cs @@ -250,18 +250,5 @@ public static string GetChipText(string filter, FilterItem[] filterItems) } return String.Empty; } - - public class SearchAndFilterNames - { - public const string GeographicRiskVariation = "Geografisk variasjon i risiko"; - public const string ClimateChangeRisk = "Betydning av klimaendringer for risiko"; - public const string FirstTimeAssessment = "Risikovurdert for første gang"; - public const string ChooseCriteria = "Avgjørende kriterier for risikokategori"; - public const string KnownOrExpectedInRegion = "Regioner med kjent eller forventet forekomst"; - public const string NaturType = "Naturtype"; - public const string WaysOfSpreading = "Spredningsmåter"; - public const string RegionallyAlienSpecies = "Regionalt fremmede arter"; - public const string NonAssessedSpecies = "Ikke risikovurderte arter"; - } } } diff --git a/Assessments.Frontend.Web/Infrastructure/AlienSpecies/FilterItemHelpers.cs b/Assessments.Frontend.Web/Infrastructure/AlienSpecies/FilterItemHelpers.cs index 4fd80589..3ece9456 100644 --- a/Assessments.Frontend.Web/Infrastructure/AlienSpecies/FilterItemHelpers.cs +++ b/Assessments.Frontend.Web/Infrastructure/AlienSpecies/FilterItemHelpers.cs @@ -1114,7 +1114,9 @@ public enum NotAssessedAlienSpeciesCategory UncertainBefore1800 = AlienSpeciecAssessment2023AlienSpeciesCategory.UncertainBefore1800, - MisIdentified = AlienSpeciecAssessment2023AlienSpeciesCategory.MisIdentified + MisIdentified = AlienSpeciecAssessment2023AlienSpeciesCategory.MisIdentified, + + HorizonScanned = AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment } public FilterAndMetaData AlienSpecies2023NotAssessed() => diff --git a/Assessments.Frontend.Web/Infrastructure/AlienSpecies/QueryHelpers.cs b/Assessments.Frontend.Web/Infrastructure/AlienSpecies/QueryHelpers.cs index 86591cbd..3ccc304e 100644 --- a/Assessments.Frontend.Web/Infrastructure/AlienSpecies/QueryHelpers.cs +++ b/Assessments.Frontend.Web/Infrastructure/AlienSpecies/QueryHelpers.cs @@ -201,6 +201,7 @@ private static IQueryable ApplyNotAssessed(string[] nameof(NotAssessed.NotAssessedAlienSpeciesCategory.NotAlienSpecies) => query.Where(x => x.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.NotAlienSpecie), nameof(NotAssessed.NotAssessedAlienSpeciesCategory.UncertainBefore1800) => query.Where(x => x.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.UncertainBefore1800), nameof(NotAssessed.NotAssessedAlienSpeciesCategory.MisIdentified) => query.Where(x => x.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.MisIdentified), + nameof(NotAssessed.NotAssessedAlienSpeciesCategory.HorizonScanned) => query.Where(x => x.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment), _ => null }; if (assessments != null) From 41e06198fc4907bb4202fe59904b26de79ad70c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Fri, 30 Aug 2024 10:36:42 +0200 Subject: [PATCH 30/35] remove references from horizon scanned assessments --- .../Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml index 75f4ae22..6be470c2 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml @@ -108,7 +108,7 @@ var showAttachments = !isEvaluatedAtAnotherLevel && assessment.Attachments != null && assessment.Attachments.Count() != 0; var showImpactedNatureTypes = !isNr && !isEvaluatedAtAnotherLevel; var showKnowMore = !(assessment.Category == AlienSpeciesAssessment2023Category.NR && (assessment.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.NotAlienSpecie || Model.Assessment.SpeciesStatus == AlienSpeciesAssessment2023SpeciesStatus.NotIndicated || Model.Assessment.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment)); - var showReference = assessment.References != null && assessment.References.Count() > 0; + var showReference = assessment.References != null && assessment.References.Count() > 0 && assessment.AlienSpeciesCategory != AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment; var showSpreadWays = !isNr && !isEvaluatedAtAnotherLevel; var showTableOfContents = assessment.Category != AlienSpeciesAssessment2023Category.NR; var showCitationForAssessment = Model.ExpertGroupMembers.Any(); From cb6e66cda46e0273c119adf72acc8788139e71fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Fri, 30 Aug 2024 10:39:51 +0200 Subject: [PATCH 31/35] initial align text in accordion buttons --- Assessments.Frontend.Web/wwwroot/css/accordions.css | 1 + 1 file changed, 1 insertion(+) diff --git a/Assessments.Frontend.Web/wwwroot/css/accordions.css b/Assessments.Frontend.Web/wwwroot/css/accordions.css index 7f6fa22f..ece5cffb 100644 --- a/Assessments.Frontend.Web/wwwroot/css/accordions.css +++ b/Assessments.Frontend.Web/wwwroot/css/accordions.css @@ -22,6 +22,7 @@ flex-shrink: 0; border: 0; border-bottom: 1px solid #005B72; + text-align: initial; } .adb-accordion-button-variable { From d407471424e89fc70f6421fb7f673fe2c227b7b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Tue, 17 Sep 2024 10:30:56 +0200 Subject: [PATCH 32/35] update link to horizon scanned article --- .../AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml index 06dcbc02..5ec4b63a 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AssessmentPartials/_HorizonScanned.cshtml @@ -10,7 +10,7 @@

    - Arten er vurdert som en potensiell dørstokkart i Horisontskanning av fremmede arter. Resultatet viser at arten ikke er en dørstokkart for Norge fordi kombinasjonen av etableringspotensial og negative økologiske effekter ikke skårer høyt nok. Den skal derfor ikke risikovurderes. + Arten er vurdert som en potensiell dørstokkart i Horisontskanning av fremmede arter. Resultatet viser at arten ikke er en dørstokkart for Norge fordi kombinasjonen av etableringspotensial og negative økologiske effekter ikke skårer høyt nok. Den skal derfor ikke risikovurderes.

    Etableringspotensial

    From 62b581929f99835e0db33b6e1f94f56c994bfecb Mon Sep 17 00:00:00 2001 From: Ane Marlene Myhre Date: Tue, 17 Sep 2024 11:43:25 +0200 Subject: [PATCH 33/35] Skjul "Endring av risikokategori fra 2018" for tre spesielle horisontskannede arter... --- .../Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml index 6be470c2..17d40a2c 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml @@ -101,7 +101,7 @@ !string.IsNullOrEmpty(Model.ExpertStatementViewModel.ConnectedToHigherLowerTaxonDescription) || !string.IsNullOrEmpty(Model.ExpertStatementViewModel.UncertaintyEstablishmentTimeDescription)); var showRiskCategoryExplanation = !isNr && !isEvaluatedAtAnotherLevel; - var showCategoryChange = !((isNr && (sameAs2018 || !has2018Assessmnet)) || isEvaluatedAtAnotherLevel || isMisidentified); + var showCategoryChange = !((isNr && (sameAs2018 || !has2018Assessmnet)) || isEvaluatedAtAnotherLevel || isMisidentified || isHorizonScanned); var showClimateEffectsInvationpotential = !isNr && !isEvaluatedAtAnotherLevel; var showGeographicVariationInCategory = !isNr && !isEvaluatedAtAnotherLevel; var showRegionalSpread = !isNr && !isEvaluatedAtAnotherLevel; From 00e62a67d76b9d157160c59eefb980e94f2e3c85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20S=C3=A6ter?= Date: Tue, 17 Sep 2024 14:31:28 +0200 Subject: [PATCH 34/35] change publishing date for horizon scanned assessments --- Assessments.Frontend.Web/Infrastructure/Constants.cs | 2 ++ .../Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Assessments.Frontend.Web/Infrastructure/Constants.cs b/Assessments.Frontend.Web/Infrastructure/Constants.cs index b6813e65..1eca77ae 100644 --- a/Assessments.Frontend.Web/Infrastructure/Constants.cs +++ b/Assessments.Frontend.Web/Infrastructure/Constants.cs @@ -303,6 +303,8 @@ public class SearchAndFiltersAlienSpecies public const string AlienSpecies2023FirstPublished = "11.08.2023"; + public const string AlienSpecies2023FirstPublishedHorizonScanned = "23.09.2024"; + public const string AlienSpecies2023FirstPublishedYear = "2023"; public const int AlienSpecies2023PageMenuContentId = 239657; diff --git a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml index 17d40a2c..49e92112 100644 --- a/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml +++ b/Assessments.Frontend.Web/Views/AlienSpecies/2023/AlienSpeciesDetail.cshtml @@ -33,7 +33,7 @@ { AssessmentYear = 2023, // TODO: create this field in assessment model ExpertCommittee = assessment.ExpertGroup, - FirstPublishedDateString = Constants.AlienSpecies2023FirstPublished, + FirstPublishedDateString = assessment.AlienSpeciesCategory == AlienSpeciecAssessment2023AlienSpeciesCategory.HorizonScannedButNoRiskAssessment ? Constants.AlienSpecies2023FirstPublishedHorizonScanned : Constants.AlienSpecies2023FirstPublished, RevisionDate = assessment.RevisionDate, // TODO: check if this is revision date RevisionReason = "", // TODO: create a field for this, if we need revisions at all for alien species SpeciesGroup = assessment.SpeciesGroup.DisplayName(), From b370b4c5269d98d4537dc55c7761a78b8c1c184f Mon Sep 17 00:00:00 2001 From: Eirik Date: Mon, 23 Sep 2024 10:17:48 +0200 Subject: [PATCH 35/35] Remove temporary test names --- Assessments.Shared/Helpers/DataFilenames.cs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Assessments.Shared/Helpers/DataFilenames.cs b/Assessments.Shared/Helpers/DataFilenames.cs index cae9c7de..0d8f3cf0 100644 --- a/Assessments.Shared/Helpers/DataFilenames.cs +++ b/Assessments.Shared/Helpers/DataFilenames.cs @@ -13,13 +13,11 @@ public static class DataFilenames public const string SpeciesExpertCommitteeMembers = "species-experts.csv"; - // TODO: midlertidige navn for horisontskanning, endre tilbake etter testing + public const string AlienSpecies2023 = "alienspecies-2023.json"; - public const string AlienSpecies2023 = "alienspecies-2023-test.json"; + public const string AlienSpecies2023Temp = "alienspecies-temp-2023.json"; - public const string AlienSpecies2023Temp = "alienspecies-temp-2023-test.json"; - - public const string AlienSpeciesExpertCommitteeMembers = "alienspecies-experts-test.csv"; + public const string AlienSpeciesExpertCommitteeMembers = "alienspecies-experts.csv"; public static string CalculateAlienSpecies2023AttachmentFilePath(int attachmentId, string fileName) {