emrt.necd.content 2.5.49__zip → 2.5.50__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/PKG-INFO +7 -1
  2. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/docs/HISTORY.txt +6 -0
  3. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/conclusions.py +3 -5
  4. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/metadata.xml +1 -1
  5. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/reviewfolder.py +40 -6
  6. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/configure.zcml +12 -0
  7. emrt.necd.content-2.5.50/emrt/necd/content/upgrades/evolve2550.py +56 -0
  8. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/utils.py +1 -1
  9. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/vocabularies.py +9 -8
  10. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt.necd.content.egg-info/PKG-INFO +7 -1
  11. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt.necd.content.egg-info/SOURCES.txt +1 -0
  12. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/setup.py +1 -1
  13. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/.editorconfig +0 -0
  14. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/.gitignore +0 -0
  15. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/MANIFEST.in +0 -0
  16. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/Makefile +0 -0
  17. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/README.txt +0 -0
  18. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/bootstrap.py +0 -0
  19. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/build_manylinux.sh +0 -0
  20. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/buildout.cfg +0 -0
  21. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/docs/INSTALL.txt +0 -0
  22. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/docs/LICENSE.GPL +0 -0
  23. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/docs/LICENSE.txt +0 -0
  24. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/__init__.py +0 -0
  25. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/__init__.py +0 -0
  26. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/INTEGRATION.txt +0 -0
  27. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/__init__.py +0 -0
  28. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/adapters/__init__.py +0 -0
  29. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/adapters/configure.zcml +0 -0
  30. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/adapters/reference_number.py +0 -0
  31. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/__init__.py +0 -0
  32. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/attachmentdownload.py +0 -0
  33. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/bulk_update.py +0 -0
  34. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/carryover.py +0 -0
  35. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/comments.py +0 -0
  36. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/configure.zcml +0 -0
  37. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/copyfiles.py +0 -0
  38. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/flatten_json.so +0 -0
  39. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/get_sample_xls.py +0 -0
  40. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/interfaces.py +0 -0
  41. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/macros.py +0 -0
  42. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/observation_import.py +0 -0
  43. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/reminder.py +0 -0
  44. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/statechange.py +0 -0
  45. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/statisticsview.py +0 -0
  46. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/tableau.py +0 -0
  47. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/assign_answerer_form.pt +0 -0
  48. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/assign_conclusion_reviewer_form.pt +0 -0
  49. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/assign_counterpart_form.pt +0 -0
  50. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/bulk_update.pt +0 -0
  51. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/carryover.pt +0 -0
  52. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/finalisedfolderview.pt +0 -0
  53. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/import_observation.pt +0 -0
  54. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/inboxreviewfolderview.pt +0 -0
  55. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/macros.pt +0 -0
  56. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/multi_input.pt +0 -0
  57. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/reminder.pt +0 -0
  58. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/reminder_default_content.pt +0 -0
  59. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/reviewfolder_get_table.pt +0 -0
  60. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/reviewfolderview.pt +0 -0
  61. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/statisticsview.pt +0 -0
  62. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/tableau_connector.pt +0 -0
  63. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/templates/tableau_dashboard.pt +0 -0
  64. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/browser/xls_utils.py +0 -0
  65. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/comment.py +0 -0
  66. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/commentanswer.py +0 -0
  67. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/commentextender.py +0 -0
  68. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/configure.zcml +0 -0
  69. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/constants.py +0 -0
  70. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/converter.py +0 -0
  71. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/crons.py +0 -0
  72. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/forms/__init__.py +0 -0
  73. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/forms/configure.zcml +0 -0
  74. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/forms/redraft.py +0 -0
  75. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/inbox_sections.py +0 -0
  76. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/indexers.py +0 -0
  77. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/locales/README.txt +0 -0
  78. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/necdfile.py +0 -0
  79. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/nfr_code_matching.py +0 -0
  80. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/__init__.py +0 -0
  81. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/answer_acknowledged.pt +0 -0
  82. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/answer_acknowledged.py +0 -0
  83. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/answer_to_msexperts.pt +0 -0
  84. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/answer_to_msexperts.py +0 -0
  85. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/comment_added.py +0 -0
  86. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/comment_added.zcml +0 -0
  87. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/comment_to_msa.pt +0 -0
  88. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/comment_to_mse.pt +0 -0
  89. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/conclusion_to_comment.pt +0 -0
  90. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/conclusion_to_comment.py +0 -0
  91. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/configure.zcml +0 -0
  92. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/new_comment.pt +0 -0
  93. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/observation_finalisation_denied.pt +0 -0
  94. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/observation_finalisation_denied.py +0 -0
  95. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/observation_finalisation_request.pt +0 -0
  96. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/observation_finalisation_request.py +0 -0
  97. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/observation_finalised.pt +0 -0
  98. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/observation_finalised.py +0 -0
  99. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/observation_finalised_rev_msg.pt +0 -0
  100. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/observation_recalled.py +0 -0
  101. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/observation_recalled.zcml +0 -0
  102. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/observation_recalled_closed_msa.pt +0 -0
  103. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/observation_recalled_closed_se.pt +0 -0
  104. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/observation_recalled_denied_se.pt +0 -0
  105. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_answered.py +0 -0
  106. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_answered_lr_msg.pt +0 -0
  107. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_answered_msexperts_msg.pt +0 -0
  108. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_answered_rev_msg.pt +0 -0
  109. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_ready_for_approval.pt +0 -0
  110. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_ready_for_approval.py +0 -0
  111. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_redraft.pt +0 -0
  112. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_redraft.py +0 -0
  113. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_redraft.zcml +0 -0
  114. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_to_counterpart.pt +0 -0
  115. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_to_counterpart.py +0 -0
  116. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_to_ms.pt +0 -0
  117. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_to_ms.py +0 -0
  118. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/question_to_ms_rev_msg.pt +0 -0
  119. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/notifications/utils.py +0 -0
  120. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/observation.py +0 -0
  121. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/overrides.zcml +0 -0
  122. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/patches.py +0 -0
  123. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/patches.zcml +0 -0
  124. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/permissions.zcml +0 -0
  125. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/catalog.xml +0 -0
  126. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/cssregistry.xml +0 -0
  127. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/diff_tool.xml +0 -0
  128. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/emrt.necd.content_various.txt +0 -0
  129. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/jsregistry.xml +0 -0
  130. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/ldap_plugin.xml +0 -0
  131. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/necdvocabularies/conclusion_reasons.csv +0 -0
  132. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/necdvocabularies/eea_member_states.csv +0 -0
  133. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/necdvocabularies/fuel.csv +0 -0
  134. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/necdvocabularies/ghg_source_category.csv +0 -0
  135. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/necdvocabularies/ghg_source_sectors.csv +0 -0
  136. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/necdvocabularies/highlight.csv +0 -0
  137. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/necdvocabularies/highlight_2024_onwards.csv +0 -0
  138. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/necdvocabularies/highlight_projection.csv +0 -0
  139. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/necdvocabularies/parameter.csv +0 -0
  140. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/necdvocabularies/pollutants.csv +0 -0
  141. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/necdvocabularies/scenario_type.csv +0 -0
  142. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/registry.xml +0 -0
  143. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/rolemap.xml +0 -0
  144. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/sharing.xml +0 -0
  145. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/tinymce.xml +0 -0
  146. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/types/Comment.xml +0 -0
  147. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/types/CommentAnswer.xml +0 -0
  148. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/types/Conclusions.xml +0 -0
  149. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/types/Folder.xml +0 -0
  150. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/types/NECDFile.xml +0 -0
  151. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/types/Observation.xml +0 -0
  152. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/types/Question.xml +0 -0
  153. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/types/ReviewFolder.xml +0 -0
  154. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/types.xml +0 -0
  155. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/workflows/esd-answer-workflow/definition.xml +0 -0
  156. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/workflows/esd-comment-workflow/definition.xml +0 -0
  157. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/workflows/esd-conclusion-workflow/definition.xml +0 -0
  158. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/workflows/esd-file-workflow/definition.xml +0 -0
  159. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/workflows/esd-question-review-workflow/definition.xml +0 -0
  160. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/workflows/esd-review-workflow/definition.xml +0 -0
  161. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/workflows/esd-reviewtool-folder-workflow/definition.xml +0 -0
  162. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles/default/workflows.xml +0 -0
  163. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/profiles.zcml +0 -0
  164. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/question.py +0 -0
  165. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/roles/__init__.py +0 -0
  166. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/roles/configure.zcml +0 -0
  167. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/roles/localroles.py +0 -0
  168. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/roles/localrolesubscriber.py +0 -0
  169. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/setuphandlers.py +0 -0
  170. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/chosen-sprite.png +0 -0
  171. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/chosen-sprite@2x.png +0 -0
  172. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/chosen.jquery.js +0 -0
  173. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/chosen.min.css +0 -0
  174. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/cookies.js +0 -0
  175. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/eea-tabs.css +0 -0
  176. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/eea-tabs.js +0 -0
  177. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/emrt.necd.content.css +0 -0
  178. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/flags.css +0 -0
  179. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/flags.png +0 -0
  180. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/inbox_view.css +0 -0
  181. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/inbox_view.js +0 -0
  182. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/moment.min.js +0 -0
  183. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/phase-1.png +0 -0
  184. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/phase-12.png +0 -0
  185. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/phase-2.png +0 -0
  186. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/tableauwdc-2.3.1.min.js +0 -0
  187. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/static/tableauwdc-2.3.latest.min.js +0 -0
  188. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/subscribers.py +0 -0
  189. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/subscriptionconfiguration.py +0 -0
  190. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/subscriptions/__init__.py +0 -0
  191. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/subscriptions/configure.zcml +0 -0
  192. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/subscriptions/dexterity.py +0 -0
  193. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/subscriptions/interfaces.py +0 -0
  194. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/templates/conclusion_layout.pt +0 -0
  195. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/templates/diffedview.pt +0 -0
  196. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/templates/macro_qa_chat.pt +0 -0
  197. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/templates/observationview.pt +0 -0
  198. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/templates/subscriptionconfiguration.pt +0 -0
  199. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/templates/subscriptionconfigurationreview.pt +0 -0
  200. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/templates/widget_activity.pt +0 -0
  201. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/templates/widget_activity_type.pt +0 -0
  202. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/templates/widget_highlight.pt +0 -0
  203. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/templates/widget_pollutants.pt +0 -0
  204. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/tests.py +0 -0
  205. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/timeit.py +0 -0
  206. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/transform_html_to_docx.py +0 -0
  207. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/__init__.py +0 -0
  208. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2010.py +0 -0
  209. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2015.py +0 -0
  210. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2016.py +0 -0
  211. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2022.py +0 -0
  212. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2024.py +0 -0
  213. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2025.py +0 -0
  214. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2029.py +0 -0
  215. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2032.py +0 -0
  216. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2037.py +0 -0
  217. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2038.py +0 -0
  218. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2042.py +0 -0
  219. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2044.py +0 -0
  220. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2045.py +0 -0
  221. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve205.py +0 -0
  222. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve206.py +0 -0
  223. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve207.py +0 -0
  224. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2201.py +0 -0
  225. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve230.py +0 -0
  226. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve235.py +0 -0
  227. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve236.py +0 -0
  228. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve237.py +0 -0
  229. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve240.py +0 -0
  230. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve243.py +0 -0
  231. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve252.py +0 -0
  232. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2524.py +0 -0
  233. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2537.py +0 -0
  234. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2538.py +0 -0
  235. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2540.py +0 -0
  236. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve2542.py +0 -0
  237. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/evolve258.py +0 -0
  238. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/portal_workflow.py +0 -0
  239. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/upgrades/templates/portal_workflow_apply_and_reindex.pt +0 -0
  240. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/utilities/__init__.py +0 -0
  241. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/utilities/configure.zcml +0 -0
  242. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/utilities/interfaces.py +0 -0
  243. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/utilities/ldap_utils.py +0 -0
  244. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/utilities/ldap_wrapper.py +0 -0
  245. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/utilities/ms_user.py +0 -0
  246. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/utilities/question.py +0 -0
  247. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/utilities/roles.py +0 -0
  248. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/views.zcml +0 -0
  249. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt/necd/content/vocabularies.zcml +0 -0
  250. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt.necd.content.egg-info/dependency_links.txt +0 -0
  251. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt.necd.content.egg-info/entry_points.txt +0 -0
  252. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt.necd.content.egg-info/namespace_packages.txt +0 -0
  253. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt.necd.content.egg-info/not-zip-safe +0 -0
  254. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt.necd.content.egg-info/requires.txt +0 -0
  255. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/emrt.necd.content.egg-info/top_level.txt +0 -0
  256. {emrt.necd.content-2.5.49 → emrt.necd.content-2.5.50}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: emrt.necd.content
3
- Version: 2.5.49
3
+ Version: 2.5.50
4
4
  Summary: Content-types for EMRT-NECD Review Tool
5
5
  Home-page: https://github.com/eea/emrt.necd.content/
6
6
  Author: Mikel Larreategi
@@ -15,6 +15,12 @@ Description: Introduction
15
15
  Changelog
16
16
  =========
17
17
 
18
+ 2.5.50 (2024-04-30)
19
+
20
+ - Task #260973 - Add formatting
21
+ - Task #260971 - Review if flags need updating/ all are still relevant
22
+ - Bug #269439 - Error when editing conclusion text
23
+
18
24
  2.5.49 (2024-04-25)
19
25
 
20
26
  - Task #260971 - Add "Description flags" to carryover
@@ -1,6 +1,12 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 2.5.50 (2024-04-30)
5
+
6
+ - Task #260973 - Add formatting
7
+ - Task #260971 - Review if flags need updating/ all are still relevant
8
+ - Bug #269439 - Error when editing conclusion text
9
+
4
10
  2.5.49 (2024-04-25)
5
11
 
6
12
  - Task #260971 - Add "Description flags" to carryover
@@ -1,5 +1,3 @@
1
- import datetime
2
- from copy import copy
3
1
  from logging import getLogger
4
2
  from AccessControl import getSecurityManager
5
3
  from Acquisition import aq_base
@@ -12,9 +10,7 @@ from emrt.necd.content import MessageFactory as _
12
10
  from emrt.necd.content.utils import hidden
13
11
  from emrt.necd.content.utils import get_vocabulary_value
14
12
  from plone import api
15
- import plone.z3cform.templates
16
13
  from plone.app.dexterity.behaviors.discussion import IAllowDiscussion
17
- from plone.app.textfield import RichText
18
14
  from plone.dexterity.browser import add
19
15
  from plone.dexterity.browser import edit
20
16
  from plone.dexterity.content import Container
@@ -70,7 +66,7 @@ class IConclusions(form.Schema, IImageScaleTraversable):
70
66
  required=True,
71
67
  )
72
68
 
73
- text = RichText(
69
+ text = schema.Text(
74
70
  title=_(u'Text'),
75
71
  required=True,
76
72
  default=u'',
@@ -244,6 +240,7 @@ class PseudoConclusion(object):
244
240
  text = u''
245
241
  closing_reason = ''
246
242
  highlight = ''
243
+ highlight_vocabulary = ''
247
244
 
248
245
  def __init__(self, context):
249
246
  self.context = context
@@ -258,6 +255,7 @@ class PseudoConclusion(object):
258
255
 
259
256
  def __call__(self, container):
260
257
  self.highlight = container.highlight
258
+ self.highlight_vocabulary = container.highlight_vocabulary
261
259
  # [refs #102793] needed by vocabularies
262
260
  self.type = container.type # inventory/projection
263
261
  return self
@@ -1,5 +1,5 @@
1
1
  <metadata>
2
- <version>2.5.49</version>
2
+ <version>2.5.50</version>
3
3
  <dependencies>
4
4
  <dependency>profile-plone.app.dexterity:default</dependency>
5
5
  <dependency>profile-plone.app.ldap:ldap</dependency>
@@ -1,3 +1,4 @@
1
+ from collections import namedtuple
1
2
  import itertools
2
3
  import time
3
4
  from StringIO import StringIO
@@ -133,14 +134,17 @@ def get_finalisation_reasons(reviewfolder):
133
134
  return reasons
134
135
 
135
136
 
137
+ MissingHighlight = namedtuple("MissingHighlight", ["title"])
138
+
136
139
  def translate_highlights(vocab, keys):
137
- return tuple(vocab.getTerm(x).title for x in keys)
140
+ return tuple(
141
+ vocab.by_token.get(x, MissingHighlight(x)).title for x in keys)
138
142
 
139
143
 
140
- def get_highlight_vocabs(context):
144
+ def get_highlight_vocabs(context, voc_name=None):
141
145
  vocab_highlight = getUtility(
142
146
  IVocabularyFactory,
143
- name='emrt.necd.content.highlight')(context)
147
+ name='emrt.necd.content.highlight')(context, voc_name)
144
148
 
145
149
  vocab_highlight_values = tuple([
146
150
  term.value for term in vocab_highlight
@@ -159,6 +163,28 @@ def get_highlight_vocabs(context):
159
163
 
160
164
  return vocab_description_flags, vocab_conclusion_flags, vocab_highlight
161
165
 
166
+ def classify_unknown_highlights(context, unknown_highlights):
167
+ result = {
168
+ "description_flags": set(),
169
+ "conclusion_flags": set()
170
+ }
171
+ if context.type == 'inventory':
172
+ other_highlight_vocabularies = [
173
+ x for x in HIGHLIGHT_VOCABULARY_TYPES.by_value
174
+ if x and x != context.highlight_vocabulary
175
+ and not x.endswith('projection')
176
+ ]
177
+ for voc_name in other_highlight_vocabularies:
178
+ vocab_description_flags, vocab_conclusion_flags, vocab_highlight = (
179
+ get_highlight_vocabs(context, voc_name)
180
+ )
181
+ highlights = translate_highlights(vocab_highlight, unknown_highlights)
182
+ description_flags = get_common(highlights, vocab_description_flags)
183
+ conclusion_flags = get_common(highlights, vocab_conclusion_flags)
184
+ result["conclusion_flags"].update(conclusion_flags)
185
+ result["description_flags"].update(description_flags)
186
+
187
+ return result
162
188
 
163
189
  def filter_for_ms(brains, context):
164
190
  if api.user.is_anonymous():
@@ -654,6 +680,14 @@ class ExportReviewFolderForm(form.Form, ReviewFolderMixin):
654
680
  row = [observation.getId]
655
681
  highlights = translate_highlights(
656
682
  vocab_highlight, observation['get_highlight'] or [])
683
+ description_flags = get_common(highlights, vocab_description_flags)
684
+ conclusion_flags = get_common(highlights, vocab_conclusion_flags)
685
+ unknown_flags = classify_unknown_highlights(
686
+ self.context,
687
+ set(highlights).difference(
688
+ itertools.chain(description_flags, conclusion_flags)
689
+ )
690
+ )
657
691
 
658
692
  for key in fields_to_export:
659
693
  if key == 'observation_is_potential_technical_correction':
@@ -664,11 +698,11 @@ class ExportReviewFolderForm(form.Form, ReviewFolderMixin):
664
698
  row.append(yes_no_bool(IS_FIELD_MAP[key] in highlights))
665
699
  elif key == 'get_description_flags':
666
700
  row.append(', '.join(
667
- get_common(highlights, vocab_description_flags)
701
+ list(itertools.chain(description_flags, unknown_flags["description_flags"]))
668
702
  ))
669
703
  elif key == 'get_conclusion_flags':
670
704
  row.append(', '.join(
671
- get_common(highlights, vocab_conclusion_flags)
705
+ list(itertools.chain(conclusion_flags, unknown_flags["conclusion_flags"]))
672
706
  ))
673
707
  elif key == 'get_is_ms_key_category':
674
708
  row.append(
@@ -784,7 +818,7 @@ class ExportReviewFolderForm(form.Form, ReviewFolderMixin):
784
818
 
785
819
  try:
786
820
  comment_html = comment.text.output_relative_to(context)
787
- output_text = html2text.html2text(comment_html)
821
+ output_text = html2text.html2text(comment_html, bodywidth=0)
788
822
  except AttributeError:
789
823
  output_text = comment.text
790
824
 
@@ -810,5 +810,17 @@
810
810
 
811
811
  </genericsetup:upgradeSteps>
812
812
 
813
+ <genericsetup:upgradeSteps
814
+ source="2.5.48"
815
+ destination="2.5.50"
816
+ profile="emrt.necd.content:default">
817
+
818
+ <genericsetup:upgradeStep
819
+ title="Roll-back formatting for conclusion text."
820
+ description="[refs #260973] Add formatting."
821
+ handler=".evolve2550.run"
822
+ />
823
+
824
+ </genericsetup:upgradeSteps>
813
825
 
814
826
  </configure>
@@ -0,0 +1,56 @@
1
+ from logging import getLogger
2
+
3
+ import transaction
4
+ from DateTime import DateTime
5
+
6
+ from zope.component import getMultiAdapter
7
+ from zope.globalrequest import getRequest
8
+
9
+ from plone.app.textfield.value import RichTextValue
10
+
11
+ import plone.api as api
12
+
13
+ import html2text
14
+
15
+
16
+ LOGGER = getLogger(__name__)
17
+
18
+
19
+ def filter_is_carried_over(obs):
20
+ return hasattr(obs, "carryover_from")
21
+
22
+
23
+ def filter_has_comments(obs):
24
+ return (
25
+ getattr(obs, "closing_comments", None)
26
+ or getattr(obs, "closing_deny_comments", None)
27
+ )
28
+
29
+ def run(_):
30
+ catalog = api.portal.get_tool("portal_catalog")
31
+ brains = catalog(portal_type="Conclusions", modified={"range": "min", "query": DateTime("2024/02/19")})
32
+ brains_len = len(brains)
33
+ a_tenth = brains_len / 10
34
+ conclusions = (brain.getObject() for brain in brains)
35
+ LOGGER.info("Found %s brains. Selecting some...", brains_len)
36
+ valid_conclusions = (
37
+ obj
38
+ for obj in conclusions
39
+ if isinstance(obj.text, RichTextValue)
40
+ )
41
+ for idx, conclusion in enumerate(valid_conclusions, start=1):
42
+ LOGGER.info(conclusion.absolute_url(1))
43
+
44
+ try:
45
+ conclusion_html = conclusion.text.output_relative_to(conclusion)
46
+ conclusion.text = html2text.html2text(conclusion_html, bodywidth=0)
47
+ except Exception:
48
+ LOGGER.exception("Could not update conclusion text!")
49
+
50
+ conclusion.aq_parent.reindexObject()
51
+ conclusion.reindexObject()
52
+
53
+ # log progress
54
+ if a_tenth and idx % a_tenth == 0:
55
+ transaction.savepoint(optimistic=True)
56
+ LOGGER.info("Done %s/ < %s.", idx, brains_len)
@@ -143,7 +143,7 @@ def render_rich_text_value(context, obj):
143
143
 
144
144
  def richtext2text(value, context):
145
145
  html_value = value.output_relative_to(context)
146
- output_text = html2text.html2text(html_value)
146
+ output_text = html2text.html2text(html_value, bodywidth=0)
147
147
  return safe_unicode(output_text)
148
148
 
149
149
 
@@ -199,16 +199,17 @@ class Fuel(object):
199
199
  @implementer(IVocabularyFactory)
200
200
  class Highlight(object):
201
201
 
202
- def __call__(self, context):
202
+ def __call__(self, context, voc_name=None):
203
203
  pvoc = api.portal.get_tool('portal_vocabularies')
204
204
 
205
- if context.highlight_vocabulary:
206
- voc_name = context.highlight_vocabulary
207
- else:
208
- voc_name = (
209
- 'highlight' if context.type == 'inventory'
210
- else 'highlight_projection'
211
- )
205
+ if voc_name is None:
206
+ if context.highlight_vocabulary:
207
+ voc_name = context.highlight_vocabulary
208
+ else:
209
+ voc_name = (
210
+ 'highlight' if context.type == 'inventory'
211
+ else 'highlight_projection'
212
+ )
212
213
 
213
214
  voc = pvoc.getVocabularyByName(voc_name)
214
215
  if voc is None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: emrt.necd.content
3
- Version: 2.5.49
3
+ Version: 2.5.50
4
4
  Summary: Content-types for EMRT-NECD Review Tool
5
5
  Home-page: https://github.com/eea/emrt.necd.content/
6
6
  Author: Mikel Larreategi
@@ -15,6 +15,12 @@ Description: Introduction
15
15
  Changelog
16
16
  =========
17
17
 
18
+ 2.5.50 (2024-04-30)
19
+
20
+ - Task #260973 - Add formatting
21
+ - Task #260971 - Review if flags need updating/ all are still relevant
22
+ - Bug #269439 - Error when editing conclusion text
23
+
18
24
  2.5.49 (2024-04-25)
19
25
 
20
26
  - Task #260971 - Add "Description flags" to carryover
@@ -241,6 +241,7 @@ emrt/necd/content/upgrades/evolve2537.py
241
241
  emrt/necd/content/upgrades/evolve2538.py
242
242
  emrt/necd/content/upgrades/evolve2540.py
243
243
  emrt/necd/content/upgrades/evolve2542.py
244
+ emrt/necd/content/upgrades/evolve2550.py
244
245
  emrt/necd/content/upgrades/evolve258.py
245
246
  emrt/necd/content/upgrades/portal_workflow.py
246
247
  emrt/necd/content/upgrades/templates/portal_workflow_apply_and_reindex.pt
@@ -3,7 +3,7 @@ import os
3
3
  from setuptools import find_packages
4
4
  from setuptools import setup
5
5
 
6
- VERSION = "2.5.49"
6
+ VERSION = "2.5.50"
7
7
 
8
8
 
9
9
  setup(