Skip to content

[OSDEV-2032] Display raw data on the SLC post-submit popup#668

Merged
vladsha-dev merged 5 commits intomainfrom
OSDEV-2032-fix-incorrect-saving-of-location-type-and-processing-type-in-the-slc-flow
Jul 1, 2025
Merged

[OSDEV-2032] Display raw data on the SLC post-submit popup#668
vladsha-dev merged 5 commits intomainfrom
OSDEV-2032-fix-incorrect-saving-of-location-type-and-processing-type-in-the-slc-flow

Conversation

@vladsha-dev
Copy link
Contributor

@vladsha-dev vladsha-dev commented Jun 27, 2025

Adjusted the SLC post-submit popup. Instead of displaying the cleaned and transformed data from ContriCleaner, we now show only the raw input submitted by the user.

@vladsha-dev vladsha-dev self-assigned this Jun 27, 2025
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev had a problem deploying to Quality Environment June 27, 2025 11:12 — with GitHub Actions Failure
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev marked this pull request as draft June 27, 2025 11:12
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:12 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:19 — with GitHub Actions Inactive
@barecheck
Copy link

barecheck bot commented Jun 27, 2025

Dedupe Hub App | Unittest test suite - Code coverage report

Total: 55.73%

Your code coverage diff: 0.00% ▴

✅ All code changes are covered

@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:20 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:20 — with GitHub Actions Inactive
@barecheck
Copy link

barecheck bot commented Jun 27, 2025

Countries App | Unittest test suite - Code coverage report

Total: 100%

Your code coverage diff: 0.00% ▴

✅ All code changes are covered

@barecheck
Copy link

barecheck bot commented Jun 27, 2025

Contricleaner App | Unittest test suite - Code coverage report

Total: 98.75%

Your code coverage diff: 0.00% ▴

✅ All code changes are covered

@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 11:29 — with GitHub Actions Inactive
@barecheck
Copy link

barecheck bot commented Jun 27, 2025

Django App | Unittest test suite - Code coverage report

Total: 80.78%

Your code coverage diff: 0.00% ▴

✅ All code changes are covered

@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 12:46 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 12:46 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev had a problem deploying to Quality Environment June 27, 2025 12:46 — with GitHub Actions Failure
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 12:46 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 12:46 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 12:46 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 13:25 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 13:25 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 13:26 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 27, 2025 13:35 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev had a problem deploying to Quality Environment June 30, 2025 09:20 — with GitHub Actions Failure
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 30, 2025 09:20 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 30, 2025 09:20 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 30, 2025 09:20 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 30, 2025 09:20 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 30, 2025 09:20 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 30, 2025 09:20 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 30, 2025 09:20 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 30, 2025 09:20 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 30, 2025 09:20 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 30, 2025 09:20 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 30, 2025 09:20 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment June 30, 2025 09:20 — with GitHub Actions Inactive
@barecheck
Copy link

barecheck bot commented Jun 30, 2025

React App | Jest test suite - Code coverage report

Total: 34.44%

Your code coverage diff: -0.05% ▾

✅ All code changes are covered

@coderabbitai
Copy link

coderabbitai bot commented Jun 30, 2025

📝 Walkthrough
## Walkthrough

This change updates the release notes to expand the description of a bugfix related to the production locations OpenSearch index and the post-submit popup behavior. It also simplifies test data structures, refactors React components to handle raw input data directly without merging, removes special rendering of processed values, and modifies a Logstash script to stop removing duplicates from processing type values.

## Changes

| File(s)                                                                                       | Change Summary                                                                                                   |
|-----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
| doc/release/RELEASE-NOTES.md                                                                  | Expanded bugfix notes for OSDEV-2032: corrected indexing and changed popup to show raw input only.              |
| src/react/src/__tests__/components/ProductionLocationDialog.test.js                           | Simplified and flattened test data structure to reflect raw input data format.                                  |
| src/react/src/components/Contribute/ProductionLocationDialog.jsx                              | Removed lodash assign import; refactored to gather additional fields directly from `raw_json` via rest syntax.  |
| src/react/src/components/Contribute/ProductionLocationDialogFields.jsx                        | Removed special handling of `processed_values`; now renders all objects as JSON strings with HTML escaping.     |
| src/logstash/scripts/production_locations/processing_type.rb                                 | Removed `.uniq` call when extracting processing type values; duplicates are no longer removed.                  |

## Sequence Diagram(s)

```mermaid
sequenceDiagram
    participant User
    participant ProductionLocationDialog
    participant ProductionLocationDialogFields

    User->>ProductionLocationDialog: Submit SLC data (raw input)
    ProductionLocationDialog->>ProductionLocationDialog: Extract raw_json fields (excluding sector)
    ProductionLocationDialog->>ProductionLocationDialogFields: Pass additionalInformationFields
    ProductionLocationDialogFields->>ProductionLocationDialogFields: Render fields as JSON strings (no processed_values special case)
    ProductionLocationDialogFields-->>User: Display popup with raw input data only

Possibly related PRs

Suggested reviewers

  • roman-stolar
  • VadimKovalenkoSNF
  • mazursasha1990

</details>

<!-- walkthrough_end -->
<!-- internal state start -->


<!-- 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= -->

<!-- internal state end -->
<!-- finishing_touch_checkbox_start -->

<details open="true">
<summary>✨ Finishing Touches</summary>

- [ ] <!-- {"checkboxId": "7962f53c-55bc-4827-bfbf-6a18da830691"} --> 📝 Generate Docstrings

</details>

<!-- finishing_touch_checkbox_end -->
<!-- tips_start -->

---

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

<details>
<summary>❤️ Share</summary>

- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
- [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
- [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

</details>

<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=opensupplyhub/open-supply-hub&utm_content=668):

- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
  - `I pushed a fix in commit <commit_id>, please review it.`
  - `Explain this complex logic.`
  - `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
  - `@coderabbitai explain this code block.`
  -	`@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
  - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
  - `@coderabbitai read src/utils.ts and explain its main purpose.`
  - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
  - `@coderabbitai help me debug CodeRabbit configuration file.`

### Support

Need help? Create a ticket on our [support page](https://www.coderabbit.ai/contact-us/support) for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

### CodeRabbit Commands (Invoked using PR comments)

- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai generate docstrings` to [generate docstrings](https://docs.coderabbit.ai/finishing-touches/docstrings) for this PR.
- `@coderabbitai generate sequence diagram` to generate a sequence diagram of the changes in this PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.

### Other keywords and placeholders

- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.

### CodeRabbit Configuration File (`.coderabbit.yaml`)

- You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository.
- Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json`

### Documentation and Community

- Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
doc/release/RELEASE-NOTES.md (1)

29-29: Release-note phrasing & placement could be refined

  1. ContriCleaner is an internal implementation detail; consider re-wording for external readers, e.g.:
-* [OSDEV-2032](https://opensupplyhub.atlassian.net/browse/OSDEV-2032) - Adjusted the SLC post-submit popup. Instead of displaying the cleaned and transformed data from ContriCleaner, we now show only the raw input submitted by the user.
+* [OSDEV-2032](https://opensupplyhub.atlassian.net/browse/OSDEV-2032) – The Single-Location-Contribution “Thanks for submitting” popup now shows exactly what the user entered, without additional cleaning or transformation.
  1. Behavioural UI changes are usually recorded under “What’s new” (or “Code/API changes”) rather than “Bugfix” unless this corrects a defect. Verify the intent and relocate if appropriate.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7729f73 and b464891.

📒 Files selected for processing (4)
  • doc/release/RELEASE-NOTES.md (1 hunks)
  • src/react/src/__tests__/components/ProductionLocationDialog.test.js (1 hunks)
  • src/react/src/components/Contribute/ProductionLocationDialog.jsx (2 hunks)
  • src/react/src/components/Contribute/ProductionLocationDialogFields.jsx (0 hunks)
💤 Files with no reviewable changes (1)
  • src/react/src/components/Contribute/ProductionLocationDialogFields.jsx
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#470
File: src/react/src/util/util.js:1441-1472
Timestamp: 2025-01-29T09:00:01.638Z
Learning: The data passed to parseContribData() function in src/react/src/util/util.js is pre-parsed and validated before reaching the function, so additional type checking is not required.
Learnt from: roman-stolar
PR: opensupplyhub/open-supply-hub#429
File: src/react/src/components/Dashboard/DashboardModerationQueueListTable.jsx:184-184
Timestamp: 2024-11-28T09:14:28.276Z
Learning: In the `DashboardModerationQueueListTable` component in `src/react/src/components/Dashboard/DashboardModerationQueueListTable.jsx`, the property `cleanedData.country` is always defined and does not require null checks.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#436
File: src/react/src/components/ProductionLocationDialog.jsx:255-257
Timestamp: 2024-12-03T06:52:22.170Z
Learning: In `src/react/src/components/ProductionLocationDialog.jsx`, the 'Submit another Location' button's `onClick` handler logs to the console as the endpoint is not yet implemented on the frontend.
Learnt from: roman-stolar
PR: opensupplyhub/open-supply-hub#536
File: src/django/api/views/v1/moderation_events.py:195-196
Timestamp: 2025-02-28T08:20:33.579Z
Learning: In the `update_production_location` method of the `ModerationEvents` class, no additional check for event.status is needed before sending the approval email with `send_slc_contribution_approval_email` as the method's flow already ensures appropriate validation.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#436
File: src/react/src/components/Contribute/ProductionLocationDialog.jsx:33-181
Timestamp: 2024-12-10T07:09:35.641Z
Learning: In the `ProductionLocationDialog.jsx` component, hardcoded facility data is acceptable for now as per the project's requirements.
Learnt from: roman-stolar
PR: opensupplyhub/open-supply-hub#429
File: src/react/src/util/util.moderationEventsXLSX.js:19-20
Timestamp: 2024-11-28T09:17:08.604Z
Learning: In the function `formatModerationEventsDataForXLSX` in `src/react/src/util/util.moderationEventsXLSX.js`, `moderationEvent.cleaned_data` and `moderationEvent.cleaned_data.country` are guaranteed to be non-null.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#470
File: src/react/src/components/Contribute/ProductionLocationDialogFields.jsx:0-0
Timestamp: 2025-01-23T11:07:39.959Z
Learning: In the Open Supply Hub codebase, complex rendering logic should be split into smaller, focused functions following the Single Responsibility Principle. For example, the ProductionLocationDialogFields component splits value rendering into separate functions for arrays (renderArray), objects (renderObject), and specific value checks (hasMinMaxEqual, hasMinOnly, etc.).
src/react/src/__tests__/components/ProductionLocationDialog.test.js (10)
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#436
File: src/react/src/components/Contribute/ProductionLocationDialog.jsx:33-181
Timestamp: 2024-12-10T07:09:35.641Z
Learning: In the `ProductionLocationDialog.jsx` component, hardcoded facility data is acceptable for now as per the project's requirements.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#436
File: src/react/src/components/DialogTooltip.jsx:0-0
Timestamp: 2024-12-03T10:29:02.409Z
Learning: In the `DialogTooltip` component (`src/react/src/components/DialogTooltip.jsx`), there are existing tooltip tests that cover common cases, and further detailed tests are not necessary.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#436
File: src/react/src/components/ProductionLocationDialog.jsx:255-257
Timestamp: 2024-12-03T06:52:22.170Z
Learning: In `src/react/src/components/ProductionLocationDialog.jsx`, the 'Submit another Location' button's `onClick` handler logs to the console as the endpoint is not yet implemented on the frontend.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#470
File: src/react/src/__tests__/components/ProductionLocationDialog.test.js:66-105
Timestamp: 2025-01-27T07:57:17.370Z
Learning: The ProductionLocationDialog component does not receive error props directly, as errors are not passed down explicitly to this component.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#470
File: src/react/src/components/Contribute/ProductionLocationInfo.jsx:680-692
Timestamp: 2025-01-23T11:10:17.929Z
Learning: The ProductionLocationInfo component in Open Supply Hub implements field-level validation for name, address and country fields using Material-UI's TextField validation patterns and touch states, providing real-time feedback to users.
Learnt from: roman-stolar
PR: opensupplyhub/open-supply-hub#429
File: src/react/src/components/Dashboard/DashboardModerationQueueListTable.jsx:184-184
Timestamp: 2024-11-28T09:14:28.276Z
Learning: In the `DashboardModerationQueueListTable` component in `src/react/src/components/Dashboard/DashboardModerationQueueListTable.jsx`, the property `cleanedData.country` is always defined and does not require null checks.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#470
File: src/react/src/__tests__/components/ProductionLocationDialog.test.js:122-122
Timestamp: 2025-01-27T07:58:22.674Z
Learning: When testing button states in components wrapped with DialogTooltip/Tooltip, use getComputedStyle().pointerEvents checks instead of direct button attribute assertions, as the wrapping prevents direct access to the button's attributes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#470
File: src/react/src/components/Contribute/ProductionLocationDialogFields.jsx:0-0
Timestamp: 2025-01-23T11:07:39.959Z
Learning: In the Open Supply Hub codebase, complex rendering logic should be split into smaller, focused functions following the Single Responsibility Principle. For example, the ProductionLocationDialogFields component splits value rendering into separate functions for arrays (renderArray), objects (renderObject), and specific value checks (hasMinMaxEqual, hasMinOnly, etc.).
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#470
File: src/react/src/__tests__/components/ProductionLocationDialog.test.js:0-0
Timestamp: 2025-01-27T07:20:43.334Z
Learning: In the Open Supply Hub project, buttons wrapped by the `DialogTooltip` component control their disabled state through CSS pointer-events rather than the HTML disabled attribute, requiring tests to check `getComputedStyle().pointerEvents` instead of using `toBeDisabled()`.
Learnt from: roman-stolar
PR: opensupplyhub/open-supply-hub#448
File: src/react/src/util/util.js:1317-1317
Timestamp: 2024-12-10T15:07:54.819Z
Learning: Changes to date handling functions like `formatDate` in `src/react/src/util/util.js` should be made carefully, considering that different parts of the codebase may intentionally use local time instead of UTC, and broad changes to `moment()` usage may not be appropriate without context.
doc/release/RELEASE-NOTES.md (3)

undefined

<retrieved_learning>
Learnt from: VadimKovalenkoSNF
PR: #420
File: doc/release/RELEASE-NOTES.md:38-38
Timestamp: 2024-11-26T04:59:12.296Z
Learning: For endpoints that haven't been released to end users, it's acceptable to document API changes under the 'Bugfix' section in the release notes.
</retrieved_learning>

<retrieved_learning>
Learnt from: VadimKovalenkoSNF
PR: #641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.
</retrieved_learning>

<retrieved_learning>
Learnt from: Innavin369
PR: #431
File: src/django/api/serializers/v1/opensearch_common_validators/countries_validator.py:23-24
Timestamp: 2024-11-28T11:29:28.139Z
Learning: The files src/django/api/tests/test_facility_claim_view_set.py, src/django/api/views/facility/facilities_view_set.py, and src/django/api/facility_actions/processing_facility_api.py are not part of the V1 codebase in the Open Supply Hub project.
</retrieved_learning>

src/react/src/components/Contribute/ProductionLocationDialog.jsx (17)
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#436
File: src/react/src/components/Contribute/ProductionLocationDialog.jsx:33-181
Timestamp: 2024-12-10T07:09:35.641Z
Learning: In the `ProductionLocationDialog.jsx` component, hardcoded facility data is acceptable for now as per the project's requirements.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#436
File: src/react/src/components/ProductionLocationDialog.jsx:255-257
Timestamp: 2024-12-03T06:52:22.170Z
Learning: In `src/react/src/components/ProductionLocationDialog.jsx`, the 'Submit another Location' button's `onClick` handler logs to the console as the endpoint is not yet implemented on the frontend.
Learnt from: roman-stolar
PR: opensupplyhub/open-supply-hub#429
File: src/react/src/components/Dashboard/DashboardModerationQueueListTable.jsx:184-184
Timestamp: 2024-11-28T09:14:28.276Z
Learning: In the `DashboardModerationQueueListTable` component in `src/react/src/components/Dashboard/DashboardModerationQueueListTable.jsx`, the property `cleanedData.country` is always defined and does not require null checks.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#470
File: src/react/src/__tests__/components/ProductionLocationDialog.test.js:66-105
Timestamp: 2025-01-27T07:57:17.370Z
Learning: The ProductionLocationDialog component does not receive error props directly, as errors are not passed down explicitly to this component.
Learnt from: roman-stolar
PR: opensupplyhub/open-supply-hub#429
File: src/react/src/components/Dashboard/DashboardModerationQueue.jsx:246-254
Timestamp: 2024-11-28T09:15:37.831Z
Learning: In `src/react/src/components/Dashboard/DashboardModerationQueue.jsx`, within the `mapStateToProps` function, `dashboardModerationQueue` and `filters` are guaranteed to be defined, so providing default values or using optional chaining to access their properties is unnecessary.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#470
File: src/react/src/util/util.js:1441-1472
Timestamp: 2025-01-29T09:00:01.638Z
Learning: The data passed to parseContribData() function in src/react/src/util/util.js is pre-parsed and validated before reaching the function, so additional type checking is not required.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#470
File: src/react/src/components/Contribute/ProductionLocationDialogFields.jsx:0-0
Timestamp: 2025-01-23T11:07:39.959Z
Learning: In the Open Supply Hub codebase, complex rendering logic should be split into smaller, focused functions following the Single Responsibility Principle. For example, the ProductionLocationDialogFields component splits value rendering into separate functions for arrays (renderArray), objects (renderObject), and specific value checks (hasMinMaxEqual, hasMinOnly, etc.).
Learnt from: roman-stolar
PR: opensupplyhub/open-supply-hub#448
File: src/react/src/util/util.js:1317-1317
Timestamp: 2024-12-10T15:07:54.819Z
Learning: Changes to date handling functions like `formatDate` in `src/react/src/util/util.js` should be made carefully, considering that different parts of the codebase may intentionally use local time instead of UTC, and broad changes to `moment()` usage may not be appropriate without context.
Learnt from: roman-stolar
PR: opensupplyhub/open-supply-hub#429
File: src/react/src/components/Dashboard/DashboardModerationQueueListTable.jsx:168-168
Timestamp: 2024-11-28T09:14:57.887Z
Learning: In the `DashboardModerationQueueListTable.jsx` component (`src/react/src/components/Dashboard/DashboardModerationQueueListTable.jsx`), `cleanedData.name` is guaranteed to be defined and cannot be `null` or `undefined`. It is safe to use it directly without providing a default value.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#470
File: src/react/src/components/Contribute/ProductionLocationInfo.jsx:680-692
Timestamp: 2025-01-23T11:10:17.929Z
Learning: The ProductionLocationInfo component in Open Supply Hub implements field-level validation for name, address and country fields using Material-UI's TextField validation patterns and touch states, providing real-time feedback to users.
Learnt from: Innavin369
PR: opensupplyhub/open-supply-hub#437
File: src/react/src/components/Filters/StyledSelect.jsx:31-39
Timestamp: 2024-12-05T10:43:59.922Z
Learning: In the `StyledSelect` component (`src/react/src/components/Filters/StyledSelect.jsx`), the `label` prop is optional. The `InputLabel` should be conditionally rendered only when a label is provided to prevent unnecessary DOM elements, extra padding, and browser console warnings.
Learnt from: Innavin369
PR: opensupplyhub/open-supply-hub#415
File: src/react/src/components/Button.jsx:43-43
Timestamp: 2024-11-22T12:22:59.701Z
Learning: In the Open Supply Hub codebase, the Button component in `src/react/src/components/Button.jsx` is designed to have an optional `onClick` prop to accommodate different cases.
Learnt from: Innavin369
PR: opensupplyhub/open-supply-hub#397
File: src/react/src/components/Dashboard/DashboardContributionRecord.jsx:25-35
Timestamp: 2024-11-08T14:17:38.915Z
Learning: In `src/react/src/components/Dashboard/DashboardContributionRecord.jsx`, using inline styles with the `List` component is acceptable and functions correctly in this context.
Learnt from: Innavin369
PR: opensupplyhub/open-supply-hub#415
File: src/react/src/components/ContributeForm.jsx:175-206
Timestamp: 2024-11-20T23:08:05.475Z
Learning: In the `ContributeForm.jsx` React component, it's acceptable to include an empty `onClick={() => {}}` handler on a disabled `<Button>` to prevent console warnings.
Learnt from: roman-stolar
PR: opensupplyhub/open-supply-hub#429
File: src/react/src/components/Dashboard/DashboardModerationQueue.jsx:216-219
Timestamp: 2024-11-28T10:01:06.144Z
Learning: In the `DashboardModerationQueueListTable` component in `src/react/src/components/Dashboard/DashboardModerationQueueListTable.jsx`, the `index` and `maxIndex` props are used and should not be considered unused.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#470
File: src/react/src/components/Contribute/ProductionLocationInfo.jsx:229-243
Timestamp: 2025-01-23T10:19:59.642Z
Learning: In React useEffect hooks that perform navigation, adding router-related dependencies (history, location) to the dependency array can cause unwanted re-renders and side effects. For navigation effects triggered by data changes, include only the data dependencies.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#436
File: src/react/src/util/styles.js:567-571
Timestamp: 2024-12-10T09:00:29.628Z
Learning: In the Open Supply Hub project, when defining font sizes in styles (e.g., in `src/react/src/util/styles.js`), prefer using `px` units directly rather than using `theme.typography.pxToRem()` function, as `px` units are used consistently throughout the project.
⏰ Context from checks skipped due to timeout of 90000ms (10)
  • GitHub Check: get-base-branch-contricleaner-cov
  • GitHub Check: run-flake8-linter
  • GitHub Check: get-base-branch-django-cov
  • GitHub Check: run-integration-test-code-quality
  • GitHub Check: run-contricleaner-code-quality
  • GitHub Check: run-django-code-quality
  • GitHub Check: get-base-branch-dd-cov
  • GitHub Check: run-dd-code-quality
  • GitHub Check: run-countries-code-quality
  • GitHub Check: get-base-branch-countries-cov
🔇 Additional comments (4)
src/react/src/__tests__/components/ProductionLocationDialog.test.js (2)

59-71: LGTM! Test data structure updated to reflect raw data format.

The test data changes align perfectly with the PR objective to display raw input data. The simplification removes the processed data structure (raw_values/processed_values) and uses direct field values, which matches the component's updated logic.


238-242: Consistent tooltip test data structure.

The tooltip test data has been updated consistently with the main test data structure, maintaining the flattened raw_json format without the nested fields object.

src/react/src/components/Contribute/ProductionLocationDialog.jsx (2)

5-5: LGTM! Cleaned up unused import.

The assign import has been appropriately removed since the field merging logic was eliminated in favor of using rest syntax for destructuring.


138-140: Excellent refactor! Simplified data extraction using rest syntax.

The change from manual field extraction and merging to using rest syntax (...additionalInformationFields) is cleaner and directly supports the PR objective of displaying raw input data. This eliminates the need for the assign operation and makes the code more straightforward.

Copy link
Contributor

@VadimKovalenkoSNF VadimKovalenkoSNF left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🔭 Outside diff range comments (1)
src/logstash/scripts/production_locations/processing_type.rb (1)

33-36: Update test expectation to match the new behavior.

The test description and expectation are inconsistent with the code change. The test expects unique values (['value1', 'value2']) but the code no longer removes duplicates, so the actual result should be ['value1', 'value2', 'value1'].

Apply this diff to fix the test:

-  expect('sets processing_type with unique non-nil values') do |events|
+  expect('sets processing_type with non-nil values including duplicates') do |events|
     values = events[0].get('processing_type')
-    values.sort == ['value1', 'value2']
+    values == ['value1', 'value2', 'value1']
   end
🧹 Nitpick comments (2)
doc/release/RELEASE-NOTES.md (2)

31-31: Fix typo in bullet-point text

usereduser.

-    * Adjusted the post-submit popup. Instead of displaying the cleaned and transformed data from ContriCleaner, we now show only the raw input submitted by the usered
+  * Adjusted the post-submit popup. Instead of displaying the cleaned and transformed data from ContriCleaner, we now show only the raw input submitted by the user

30-31: Normalize nested list indentation to silence MD007

markdownlint expects 2-space indentation for nested list items; current 4-space indentation triggers warnings (see static-analysis hint).

-    * Fixed the incorrect indexing of the location type in the production locations OpenSearch index. Previously, it was incorrectly taking the processing type value as the location type — using the fourth item in the `matched_values` array instead of the third, which contains the location type. Also, updated the Logstash filters for both processing type and location type to return only unique values and write them to the production locations OpenSearch index.
-    * Adjusted the post-submit popup. Instead of displaying the cleaned and transformed data from ContriCleaner, we now show only the raw input submitted by the user
+  * Fixed the incorrect indexing of the location type in the production locations OpenSearch index. Previously, it was incorrectly taking the processing type value as the location type — using the fourth item in the `matched_values` array instead of the third, which contains the location type. Also, updated the Logstash filters for both processing type and location type to return only unique values and write them to the production locations OpenSearch index.
+  * Adjusted the post-submit popup. Instead of displaying the cleaned and transformed data from ContriCleaner, we now show only the raw input submitted by the user
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b464891 and 30a8432.

📒 Files selected for processing (5)
  • doc/release/RELEASE-NOTES.md (1 hunks)
  • src/logstash/scripts/production_locations/processing_type.rb (1 hunks)
  • src/react/src/__tests__/components/ProductionLocationDialog.test.js (1 hunks)
  • src/react/src/components/Contribute/ProductionLocationDialog.jsx (2 hunks)
  • src/react/src/components/Contribute/ProductionLocationDialogFields.jsx (0 hunks)
💤 Files with no reviewable changes (1)
  • src/react/src/components/Contribute/ProductionLocationDialogFields.jsx
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/react/src/components/Contribute/ProductionLocationDialog.jsx
  • src/react/src/tests/components/ProductionLocationDialog.test.js
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:37-37
Timestamp: 2024-11-25T13:28:23.090Z
Learning: When modifying unreleased API endpoints, such as refactoring the `search_after` parameter into `search_after_value` and `search_after_id` in the OpenSearch implementation, it's acceptable to leave the "What's New" section empty since the changes haven't been released to end users.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:38-38
Timestamp: 2024-11-26T04:59:12.296Z
Learning: For endpoints that haven't been released to end users, it's acceptable to document API changes under the 'Bugfix' section in the release notes.
Learnt from: mazursasha1990
PR: opensupplyhub/open-supply-hub#438
File: src/django/api/tests/test_moderation_events_add_production_location.py:21-65
Timestamp: 2024-12-12T14:59:19.694Z
Learning: In `src/django/api/tests/test_moderation_events_add_production_location.py`, the tests have been refactored, and the use of `POST` methods is intentional. Future suggestions to change HTTP methods in these tests may not be necessary.
doc/release/RELEASE-NOTES.md (4)

undefined

<retrieved_learning>
Learnt from: VadimKovalenkoSNF
PR: #420
File: doc/release/RELEASE-NOTES.md:37-37
Timestamp: 2024-11-25T13:28:23.090Z
Learning: When modifying unreleased API endpoints, such as refactoring the search_after parameter into search_after_value and search_after_id in the OpenSearch implementation, it's acceptable to leave the "What's New" section empty since the changes haven't been released to end users.
</retrieved_learning>

<retrieved_learning>
Learnt from: VadimKovalenkoSNF
PR: #420
File: doc/release/RELEASE-NOTES.md:38-38
Timestamp: 2024-11-26T04:59:12.296Z
Learning: For endpoints that haven't been released to end users, it's acceptable to document API changes under the 'Bugfix' section in the release notes.
</retrieved_learning>

<retrieved_learning>
Learnt from: VadimKovalenkoSNF
PR: #641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.
</retrieved_learning>

<retrieved_learning>
Learnt from: Innavin369
PR: #431
File: src/django/api/serializers/v1/opensearch_common_validators/countries_validator.py:23-24
Timestamp: 2024-11-28T11:29:28.139Z
Learning: The files src/django/api/tests/test_facility_claim_view_set.py, src/django/api/views/facility/facilities_view_set.py, and src/django/api/facility_actions/processing_facility_api.py are not part of the V1 codebase in the Open Supply Hub project.
</retrieved_learning>

🪛 markdownlint-cli2 (0.17.2)
doc/release/RELEASE-NOTES.md

30-30: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


31-31: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

⏰ Context from checks skipped due to timeout of 90000ms (13)
  • GitHub Check: run-countries-code-quality
  • GitHub Check: get-base-branch-countries-cov
  • GitHub Check: run-eslint-linter-and-prettier-formatter
  • GitHub Check: run-contricleaner-code-quality
  • GitHub Check: run-flake8-linter
  • GitHub Check: run-dd-code-quality
  • GitHub Check: get-base-branch-contricleaner-cov
  • GitHub Check: run-django-code-quality
  • GitHub Check: get-base-branch-django-cov
  • GitHub Check: get-base-branch-dd-cov
  • GitHub Check: run-integration-test-code-quality
  • GitHub Check: get-base-branch-fe-cov
  • GitHub Check: run-fe-code-quality
🔇 Additional comments (1)
src/logstash/scripts/production_locations/processing_type.rb (1)

11-11: LGTM - Change aligns with PR objectives.

Removing .uniq preserves duplicate processing type values, which correctly aligns with the PR objective to display raw input data without transformation.

@sonarqubecloud
Copy link

Copy link
Contributor

@mazursasha1990 mazursasha1990 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@VadimKovalenkoSNF VadimKovalenkoSNF left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-approved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants