Commit Graph

460 Commits

Author SHA1 Message Date
Thomas Citharel
7a6a013d93
Make sure users can't create profiles or groups with non-valid patterns
Closes #1068

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 20:01:05 +02:00
Thomas Citharel
888d2ef4b8
Expose correct relay address in federation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 17:21:11 +02:00
Thomas Citharel
3982977121
Allow to get Mastodon instance relays
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 16:59:28 +02:00
Thomas Citharel
0b49021f8b
Fix admin notification e-mails from instance follow for Mastodon
instances

Show an appropriate name in the body of the mail

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 16:36:04 +02:00
Thomas Citharel
26cf892758 Revert "Merge branch 'external-events' into 'main'"
This reverts merge request !1223
2022-05-04 07:02:16 +00:00
Thomas Citharel
d85f708c37 Merge branch 'external-events' into 'main'
Add option to link an external registration provider for events

See merge request framasoft/mobilizon!1223
2022-05-04 07:01:53 +00:00
Luca Eichler
75502e2a4b
Add option to link an external registration provider for events 2022-05-03 15:33:32 +02:00
Thomas Citharel
999a33c7c3
Typespec fixes and refactoring
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-03 12:23:09 +02:00
Thomas Citharel
a18c4daf4c
Avoid using actor id from config cache
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-03 11:40:16 +02:00
Thomas Citharel
a4cc566ee7
Fix some typespecs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-02 12:08:00 +02:00
Thomas Citharel
d87261a6fb
Fix lint after merge
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-02 09:04:57 +02:00
Thomas Citharel
93805dca11 Merge branch 'setop-main-patch-92671' into 'main'
include ongoing events in search

Closes #729

See merge request framasoft/mobilizon!1171
2022-05-02 06:48:16 +00:00
setop
f071f70d1f include ongoing events in search 2022-05-02 06:48:15 +00:00
Thomas Citharel
e4a22bdb83
Fix latest group not refreshing in admin section
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-22 12:04:05 +02:00
Thomas Citharel
83f2880dd9
Fix some typespecs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-18 14:47:44 +02:00
Thomas Citharel
7a18d0b2bb
Fix ex_docs warnings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-07 18:51:10 +02:00
setop
38579d9dc2
add search box to filter addresses quickly 2022-04-07 10:51:30 +02:00
Thomas Citharel
d2864a22d9
Allow to exclude stale actors from group search (one week without refreshment)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-04 15:42:16 +02:00
Thomas Citharel
b1ac997f8a
Make sure every relation of actor is loaded when operating on it
Closes #1049

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-01 10:03:43 +02:00
Thomas Citharel
4c9065ce68
Resource fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-31 11:24:22 +02:00
Thomas Citharel
368911b58e
Allow to register custom categories
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-28 20:02:43 +02:00
Thomas Citharel
f5bdedf789
Introduce event categories
Closes #1056

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-28 17:42:59 +02:00
Thomas Citharel
a71c51a174
Expose member count in AP data
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-24 14:19:24 +01:00
Thomas Citharel
019d694d2a
Clear all ics/feed caches when modifying events/posts/actors
Closes #1059

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-24 12:51:23 +01:00
Thomas Citharel
7067173a5a
Refactor to avoid calling Mobilizon.Cldr.known_locale_name with a string
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-21 17:50:38 +01:00
Thomas Citharel
6e5061250c
Improve admin views (2)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 15:53:24 +01:00
Thomas Citharel
193fcde123
Allow to filter reports by domain
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:49:46 +01:00
Thomas Citharel
26b1ea401a
Fix various issues reported by Dializer
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:49:46 +01:00
Thomas Citharel
1319985047
Rename Mobilizon.Actors.is_following/2 to check_follow/2
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:41:03 +01:00
Thomas Citharel
e717312de7
Introduce instances admin page
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:41:03 +01:00
Thomas Citharel
ba097c736e
Improve handling of media file deletion
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-15 12:59:56 +01:00
Thomas Citharel
7771b27b55
Allow to filter user memberships and group memberships (contacts=) on
backend side

Closes #981 #969

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-13 17:33:36 +01:00
Thomas Citharel
9aaea50f59
Order my group upcoming events by begins_on
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-24 09:28:59 +01:00
Thomas Citharel
c4d9101302
Make second parameter to Mobilizon.FollowedGroupActivity.user_followed_group_events/4 default to nil
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-22 09:40:34 +01:00
Thomas Citharel
d1f0a9224a
Cleanup some dead code
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 16:45:38 +01:00
Thomas Citharel
be1664ec85
Improve sending pending participation notifications
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-15 16:59:40 +01:00
Thomas Citharel
fea97f3713
Fix creating an mz activity when updating an event with some subfields
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-15 11:03:06 +01:00
Thomas Citharel
6a63ece91f
Fix updating group physical address
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-13 19:57:14 +01:00
Thomas Citharel
38a3ffc19f
Send event creation and event update notifications in a background task
The event update notification is made unique so that repeated changes
only trigger one notificate every 30 minutes

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-11 16:29:38 +01:00
Thomas Citharel
afff01d6d2
Set an event UUID if default is nil
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-10 20:44:51 +01:00
Thomas Citharel
5c7067b22b
Send notification emails to followers and members when a group publishes
a new event

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-10 16:36:32 +01:00
Thomas Citharel
f55ca90c35
Allow to search for past events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-07 18:12:23 +01:00
Thomas Citharel
69e91e89f5
Allow to search events by online status
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-06 14:39:23 +01:00
Thomas Citharel
4de39d5850
Improve searching for group actors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-06 10:50:48 +01:00
Thomas Citharel
4fc044c595
Expose group physical address to AP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-06 10:28:08 +01:00
Thomas Citharel
b12cea5ead
Allow to get group followed events after a certain date
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:39 +01:00
Thomas Citharel
23fddaedf1
[GraphQL] Expose events from followed/member group activity
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:26 +01:00
Thomas Citharel
d0b125064f
Improvements to group following
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:25 +01:00
Thomas Citharel
59edfe26cc
Improve notifier filter handing to avoid compiler cycle
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:24 +01:00
Thomas Citharel
bac6628aea
Improve changing current actor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:24 +01:00
Thomas Citharel
d0b45de175
Expose person follows
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:23 +01:00
Thomas Citharel
44e8ac7e9a
Add support for GraphQL handling of group follows
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:21 +01:00
Thomas Citharel
df22082f3e
Fix posts not able to accept existing tags
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-20 11:50:39 +02:00
Thomas Citharel
f24ec89408
Fix event notification tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-18 11:14:46 +02:00
Thomas Citharel
7ecf2e1da0
Add isOnline event option to mark event as fully online
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-18 11:13:37 +02:00
Thomas Citharel
555ae867ea
Add code to participants
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-18 11:13:35 +02:00
Thomas Citharel
4de78f58e0
Allow anonymous participants to have timezone metadata
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-18 11:13:35 +02:00
Thomas Citharel
d58ca5743d
Add timezone handling
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-11 17:37:17 +02:00
setop
7940d69d5a
add "only platform admin can create groups" and "only groups can create events" restrictions 2021-10-11 15:59:59 +02:00
Thomas Citharel
dee7c58449
Spec fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-11 15:14:54 +02:00
Thomas Citharel
98449b9cfd
Spec fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-05 16:05:52 +02:00
Thomas Citharel
f4284e1d3a
Remove unused functions
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-05 16:05:51 +02:00
Thomas Citharel
0c667b13ae
Export participants to different formats
* CSV
* PDF (requires Python dependency `weasyprint`)
* ODS (requires Python dependency `pyexcel_ods3`)

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-05 10:52:55 +02:00
Thomas Citharel
5dd24e1c9e
Allow to change an user's password through the users.modify mix task
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-04 17:38:37 +02:00
Thomas Citharel
0f8358b96a
Add & improve some typespecs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-30 15:58:08 +02:00
Thomas Citharel
fa25ffbc83
Add some typespecs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-29 19:12:33 +02:00
Thomas Citharel
b5d9b82bdd
Refactor Mobilizon.Federation.ActivityPub and add typespecs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-29 16:31:11 +02:00
Thomas Citharel
41f086e2c9
Spec improvements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-27 09:42:12 +02:00
Thomas Citharel
55e7696230
Absinthe middleware actor provider
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-27 09:42:11 +02:00
Thomas Citharel
1893d9f55b
Various refactoring and typespec improvements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:24 +02:00
Thomas Citharel
75e254d8b4
Actor suspension refactoring
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:23 +02:00
Thomas Citharel
de047c8939
Various typespec and compilation improvements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:20 +02:00
Thomas Citharel
c2c3014c2b
Show a default text for contact in default terms text when no contact is
filled

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-07 17:41:27 +02:00
Thomas Citharel
ab843dff4c
Fixed deduplicated files from orphan media being deleted as well
Happens when a file is uploaded, then orphaned, and a similar file is
used somewhere. The CleanMedia job service didn't consider that case

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-22 16:17:20 +02:00
Thomas Citharel
d577b07c6e
Introduce event language detection
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-20 18:01:29 +02:00
Thomas Citharel
7c9b76765f
Cleanup
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-20 18:00:21 +02:00
Thomas Citharel
34e2c4f310
Fix geocoordinates mixmatch
Closes #828

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-16 10:23:16 +02:00
Thomas Citharel
d3a05b5568
Federate metadata
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-10 12:46:44 +02:00
Thomas Citharel
0cb43515bc
Fix language and redirection issues when connecting from 3rd-party
Closes #626

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-09 19:29:15 +02:00
Thomas Citharel
5f3d1f89df
Allow to add metadata to an event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-09 16:16:14 +02:00
Thomas Citharel
783486a366
Support denying registration based on email or domain
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-08 19:56:33 +02:00
Thomas Citharel
630de6fee9
Add Actors.get_single_group_moderator_actor/1 and refactor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-02 11:45:49 +02:00
Thomas Citharel
ecf7bb1fef
Various event AP converter changes and add tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:22 +02:00
Thomas Citharel
011128b0fb
Make sure draft events are not selected in search
Closes https://framagit.org/framasoft/mobilizon/-/issues/807

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:21 +02:00
Thomas Citharel
acd921432f
Refactor checking permissions when managing events and tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:21 +02:00
Thomas Citharel
6066a44ae8
Change can_be_managed_by/2 to can_be_managed_by?/2
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:20 +02:00
Thomas Citharel
a670a7d7a7
Fix and improve language handling
- Refactor plugs to detect and set language
- Translate ecto validation errors
- Use Gettext directly, not Mobilizon.Web.Gettext
- Set the language in the <html> attribute according to the one loaded
  on front-end

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-27 20:11:56 +02:00
Thomas Citharel
fa8cae681f
Add possibility to create users with provider (such as LDAP)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-22 15:09:12 +02:00
Thomas Citharel
11e75eaf66
Add the possibility to create profiles and groups from CLI
- Create an actor at the same time when creating an user
- or create either a profile and attach it to an existing user
- or create a group and set the admin to an existing profile

Closes #785

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-20 18:29:38 +02:00
Thomas Citharel
5cdac95a85
Send announcement notifications to anonymous participants
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-27 18:16:34 +02:00
Thomas Citharel
7ec6f158ec
Add wrapper to Sentry to not load it when not configured
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-27 15:21:33 +02:00
Thomas Citharel
3ed25bab81
Send notifications to event organizer when new comment is posted
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-27 13:16:17 +02:00
Thomas Citharel
2ec7457783
Handle actor being something else than Group or Person when deleting it
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-26 17:22:34 +02:00
Thomas Citharel
784c607c65
Send activity digests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-26 16:09:02 +02:00
Thomas Citharel
7bb8568504
Add an unique index on posts URLs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-22 16:51:21 +02:00
Thomas Citharel
8caf1e302b
Add basic metadata to opengraph preview
Also refactor datetime & address utils

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-22 16:01:55 +02:00
Thomas Citharel
33838974c5
Improve resources display on mobile
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-14 15:13:08 +02:00
Thomas Citharel
a24e08a6de
Add blurhash support to backend
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-10 15:18:08 +02:00
Thomas Citharel
a336e76aae
Run mix format on Elixir 12
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-07 16:49:43 +02:00
Thomas Citharel
005f7e20ca
Remove compile-time dependencies for some config values
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-07 10:24:57 +02:00