This defines a feature where event creators can opt for an associated chat channel
creation.
This is a staff only feature for now.
Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
Playwright will not accept this kind of specs as it's not reliable. You would potentially get this error:
```
Playwright::Error:
Element is not attached to the DOM
Call log:
- attempting click action
- - waiting for element to be visible, enabled and stable
```
What happens is that the ".nav-item_latest" would be present before navigation, and playwright would find it just before the page has loaded, the click though might happen right after page transition and the initial element wouldn't be attached to the dom anymore.
* DEV: Allow the 'UpcomingEventsCalendar' Component to be used outside of the 'PostEventUpcomingEventsIndexRoute' route
* add system test to upcoming events
* improved addRecurrentEvents function
* fixed flaky test
`DiscourseCalendar::CreateHolidayEvents` periodically deletes holiday
events to recreate updated ones. If one of the events belonged to a user
that has been destroyed and if `enable_user_status` was enabled, the
`after_destroy` hook would raise an exception.
There was two bugs:
- naming of properties were incorrect s/is_private/isPrivate and s/is_public/isPublic
- a previous refactoring has used `=` for setter when it's an `EmberObject` and `set` should be used
This commit also adds a spec and page objects to ensure this modal is working as expected.
This PR restyles the current events post UI:
Minimize size of invitee avatars
move CTA buttons to bottom
remove invitee header & show more button (show more is in ellipses drop down)
restyle border
restyle month & date size & spacing
increase font size for title
add "0 going" placeholder to prevent jumpiness when invitees are rendered
---------
Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
When converting widgets to Glimmer and modernizing the plugin, there were some small leftovers.
status wasn’t tracked, so the UI didn’t update
raw_invitees should be camelCase now
custom_fields should be camelCase, and setting it was not working
Prior to this fix when computing the next event date we were resetting the status of every invitees. The status will now only be reset for non going users.
Various events in the life of this plugin have caused an over complicated key and duplicated keys. This commits attempts to regroup everything related to discourse_post_event under a top level `discourse_post_event` key, removes the `event_ui` level as it's not very clear, technically everything is UI. And finally attempts to remove the duplicates.
This commit is making two major changes:
- Move all the post event widgets code to glimmer
- Implement tracked models to ensure reactivity, many paths didn't have real reactivity atm and were mostly working by luck or the fact that widgets re-render a lot
---------
Co-authored-by: Jarek Radosz <jradosz@gmail.com>
Previously event editors could remove people from an event but had no way
of acting on behalf of users in the event and adding them.
That meant that for events to properly show up in agenda and so on a user
must actively click a button.
In some cases (company ran events) the event manager may prefer controlling
attendance.
* FIX: shows category calendar on hot/latest
The previous URL parsing code was not resilient to these paths, we now use the router to recognize these paths and extract the params we need.
* linting
* Update category_calendar_spec.rb
When a user changes their holiday region in their profile, we will automatically compute upcoming (6 months) holidays for their new regions. If the events are similar between the two regions, we automatically fix the region. But when they're drastically different, we just leaves the old holiday events be...
It's a somewhat rare event but is annoying enough that it warranted a proper fix.
This ensures we removes any "pre-loaded" holiday events that aren't in the regions the users have selected. That way, no more "fanthom" holidays from the previous region.
Internal ref - t/64785
The post_serializer_spec was calling Group.refresh_automatic_groups!(:admins), relying on that call booting system users from the group.
This change makes it so the implementation excludes any system users instead.
Adds a before parameter to the events endpoint and uses it through a upcomingDays parameter to the upcoming events list component – which can be used when adding it to the right sidebar blocks theme component.
We must include the year identifier since now we can use same topic to track holidays for multiple years. Also, we don't need to load old public holiday events for more than 6 months.
In https://github.com/discourse/discourse/pull/24740, `min_trust_to_create_topic` site setting was replaced by `create_topic_allowed_groups`. This PR replaces the former, deprecated one, with the latter.
* FEATURE: site setting to include expired events on calendar views
Adds a new site setting to include expired events on calendar views (Upcoming Events and Category Calendar).
Past events are displayed with the configured color (from the category or from the "Map events to color" site setting) as text and border colors instead of the background.
Before, site settings were divided into `discourse calendar` and `discourse events`.
This PR is merging them. Also, translation were moved under `discourse_calendar` key.