Skip to content

Comments

Add initial JSONs for the entity creation flows#1809

Merged
andrewtavis merged 82 commits intomainfrom
entity-creation-flows
Feb 22, 2026
Merged

Add initial JSONs for the entity creation flows#1809
andrewtavis merged 82 commits intomainfrom
entity-creation-flows

Conversation

@andrewtavis
Copy link
Member

@andrewtavis andrewtavis commented Dec 21, 2025

Contributor checklist


Description

This will be a long term collaborative PR. We need to finalize the backend and frontend for the creation of entities (organizations, groups and events). Initial PR sends along the agreed to JSON schema that the frontend will send to the backend.

Related issue

@netlify
Copy link

netlify bot commented Dec 21, 2025

Deploy Preview for activist-org canceled.

Name Link
🔨 Latest commit 2fa1243
🔍 Latest deploy log https://app.netlify.com/projects/activist-org/deploys/699b40595f46b90008628dd9

@github-actions
Copy link
Contributor

Thank you for the pull request! ❤️

The activist team will do our best to address your contribution as soon as we can. If you're not already a member of our public Matrix community, please consider joining! We'd suggest that you use the Element client as well as Element X for a mobile app, and definitely join the General and Development rooms once you're in. Also consider attending our bi-weekly Saturday developer syncs! It'd be great to meet you 😊

Note

activist uses Conventional Comments in reviews to make sure that communication is as clear as possible.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 21, 2025

Maintainer Checklist

The following is a checklist for maintainers to make sure this process goes as well as possible. Feel free to address the points below yourself in further commits if you realize that actions are needed :)

  • Tests for changes have been written and the TypeScript, pytest and formatting workflows within the PR checks do not indicate new errors in the files changed

  • The Playwright end to end and Zap penetration tests have been ran and are passing (if necessary)

  • The changelog has been updated with a description of the changes for the upcoming release and the corresponding issue (if necessary)

… composables, components and services with it too + now json for create event is sent correctly
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

license-eye has checked 1226 files.

Valid Invalid Ignored Fixed
920 2 304 0
Click to see the invalid file list
  • frontend/app/composables/mutations/useEventMutations.ts
  • frontend/app/services/location.ts
Use this command to fix any missing license headers
```bash

docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header fix

</details>

@nicki182
Copy link
Collaborator

nicki182 commented Dec 28, 2025

@andrewtavis and @to-sta the front end is done structure wise. I will send in the coming days to anna the current look of the front end with the create modals and start creating tests at least for the machine stores and the composable. Some vitests are breaking, I will fix them later.

@andrewtavis
Copy link
Member Author

Thanks so much, @nicki182! Looking forward to the fixed tests and the feedback from UX on this :) Let's be in touch on a good time for us to have a chat about how it's all looking 😊

CC @archiania972 for visibility 👋

@nicki182
Copy link
Collaborator

@andrewtavis I fixed the issues with the ci tests.
I can bring the tests later on a different PR, but it has been started and I will bring them in next week. So I can still push them in this PR.

@andrewtavis
Copy link
Member Author

Let's plan on pushing them to this PR so we can finalize the designs along with this, @nicki182 :) I'll check in on when a call would work 😊

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

license-eye has checked 1233 files.

Valid Invalid Ignored Fixed
924 5 304 0
Click to see the invalid file list
  • frontend/test/composables/useFlowScreens.spec.ts
  • frontend/test/stores/create-event.spec.ts
  • frontend/test/stores/create-group.spec.ts
  • frontend/test/stores/create-organization.spec.ts
  • frontend/test/stores/flow.spec.ts
Use this command to fix any missing license headers
```bash

docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header fix

</details>

@@ -0,0 +1,120 @@
import { setActivePinia, createPinia } from "pinia";
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
import { setActivePinia, createPinia } from "pinia";
/*
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { setActivePinia, createPinia } from "pinia";

@nicki182
Copy link
Collaborator

@andrewtavis done. I added some tests there is still more to do. I need to do tests for the components layers and all the new components I created

@andrewtavis
Copy link
Member Author

Thanks, @to-sta! Generally I think we're close here, but I'm wondering on the unused variables that Ruff is bringing up, and I also want to note that removing the fields in tests like test_days_ahead_filters_events_within_window means we're not actually testing what we're supposed to be at this point as the whole point was we were passing specific times. What can we pass instead of start_time and end_time now?

And also, @to-sta, do we need test_event_api? Is this file similarly redundant now?

@andrewtavis
Copy link
Member Author

note: Let's still try to bring this in during the sync today. If we can get the backend tests passing beforehand, then we can do a demo for those who haven't seen it and go through functionality. We can then go through the code, which I'll do as we go through the functionalities, and then we should be good to merge.

@nicki182
Copy link
Collaborator

@andrewtavis sounds great to me

@andrewtavis
Copy link
Member Author

andrewtavis commented Feb 21, 2026

Current bugs with the process:

  • Description not being applied to the event or org or group when it's being created
  • We need to refresh the page after creating a group for the group to show up (we need to refresh Nuxt data)

Issues to make:

  • Calendar first render creates an automatic refresh that then breaks the flow (assumption is Tailwind misalignment)
  • Topic selection dropdown is sometimes empty
  • Organization name not being rendered in the event Details card
  • Creating orgs and groups leads to the About page
  • Creating events should lead to the events page filtered for all events that the user just created

@andrewtavis
Copy link
Member Author

Quick FYI @to-sta: We're removing test_event_api.py because we're seeing that coverage is the same if it's not included :)

@andrewtavis
Copy link
Member Author

Quick notes on eec45e9, @to-sta and @nicki182:

  • We're now successfully sending the description for all entities
    • The part that derives ISO for orgs and groups is commented out in the serializers as I wasn't able to figure out where the ISO is being added to the data for the request
    • iso = validated_data.pop("iso") fails as we're not getting an iso from the frontend
    • Good enough for now :)
    • If we can't fix this, we can make an issue for it
  • The tests for backend/events/tests/test_event_filters.py are still WIP
    • We want to be able to pass explicit start and end times to events via the times field as we need to be able to test based on explicit ranges being passed
    • Both @sh-ran and I looked at this for a while and it wasn't apparent how we can do this
    • @sh-ran will continue to check for a bit :)

Suggestions on the above would be great! Specifically:

  • @nicki182: Can we pass the description iso to the backend and then we can uncomment the iso = validated_data.pop("iso") in the org and group serializers
  • @to-sta: Let us know if you have suggestions for fixing the tests in backend/events/tests/test_event_filters.py

@nicki182
Copy link
Collaborator

Quick notes on eec45e9, @to-sta and @nicki182:

  • We're now successfully sending the description for all entities

    • The part that derives ISO for orgs and groups is commented out in the serializers as I wasn't able to figure out where the ISO is being added to the data for the request
    • iso = validated_data.pop("iso") fails as we're not getting an iso from the frontend
    • Good enough for now :)
    • If we can't fix this, we can make an issue for it
  • The tests for backend/events/tests/test_event_filters.py are still WIP

    • We want to be able to pass explicit start and end times to events via the times field as we need to be able to test based on explicit ranges being passed
    • Both @sh-ran and I looked at this for a while and it wasn't apparent how we can do this
    • @sh-ran will continue to check for a bit :)

Suggestions on the above would be great! Specifically:

  • @nicki182: Can we pass the description iso to the backend and then we can uncomment the iso = validated_data.pop("iso") in the org and group serializers
  • @to-sta: Let us know if you have suggestions for fixing the tests in backend/events/tests/test_event_filters.py

@andrewtavis I can do so easily but from what I understood I was sending description but with @to-sta we arranged to be sent like this. I can do it but I want confirmation before doing the change

@sh-ran
Copy link
Collaborator

sh-ran commented Feb 22, 2026

FYI @to-sta and @nicki182 : The tests for events/tests/test_events_filter.py are now passing. I have sent the changes to @andrewtavis.
Had to change the queryset.filter(start_time__gte=now, start_time__lte=end) within the filters.py to search for times__start_time__gte and times__start_time__lte as we are filtering through the related models. And some minor changes to the tests.

@andrewtavis
Copy link
Member Author

It looks like we're sending an iso for events, but not for organizations and groups. I'm totally fine with merging this with there being a bit of a discrepancy and we can make an issue 😊

@nicki182
Copy link
Collaborator

Ok, however you feel like. Make all the issues and we can start doing a full review of the app too

# Explicit type annotation required for mypy compatibility with django-stubs.
flags: Any = models.ManyToManyField("authentication.UserModel", through="EventFlag")

def clean(self) -> None:
Copy link
Member Author

Choose a reason for hiding this comment

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

Moving this to EventTime

@andrewtavis
Copy link
Member Author

Tests are passing and all create flows are functioning 🥳 Merging this in and closing the respective issues 🚀

@andrewtavis andrewtavis merged commit eb2ec80 into main Feb 22, 2026
8 checks passed
@andrewtavis andrewtavis deleted the entity-creation-flows branch February 22, 2026 17:50
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.

Notify user that no event locations were returned from Nomatim Finalize entity creation flows (backend and frontend) Finalize entity create designs

4 participants