Commit Graph

259 Commits

Author SHA1 Message Date
Thomas Citharel dac47d2abb
Add config option to allow anonymous reporting
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 14:07:49 +02:00
Thomas Citharel 3e74f59ee8
Send Notifications when participation approval
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-08 13:59:27 +02:00
Thomas Citharel 09ad687403 Merge branch 'validate-number-of-places' into 'master'
Validate number of places being a positive integer

Closes #286

See merge request framasoft/mobilizon!440
2020-06-05 11:52:33 +02:00
Thomas Citharel c56e299a09
Validate number of places being a positive integer
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-05 11:38:49 +02:00
Thomas Citharel f627477662 Merge branch 'event-address-update-trigger-change' into 'master'
Also send event updates if physical address changed

See merge request framasoft/mobilizon!438
2020-06-05 11:02:46 +02:00
Thomas Citharel 44e08c4319
Add weekly notification
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-05 10:27:02 +02:00
Thomas Citharel 9e3107e3aa
Also send event updates if physical address changed
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-05 10:18:08 +02:00
Thomas Citharel 5e6bdb92fb
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-03 16:55:34 +02:00
Thomas Citharel 4144e9ffd0
Introduce group basic federation, event new page and notifications
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-03 16:01:26 +02:00
Thomas Citharel c732ec7f87
Add ability to add message for participation and improve participation
management interface

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-03-06 09:00:48 +01:00
Thomas Citharel 39b7afd1cd
Blind key rotation and stale duration for profiles
See https://blog.dereferenced.org/the-case-for-blind-key-rotation

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-14 18:21:18 +01:00
Thomas Citharel 3a753312c1
Validate Date header in HTTPSignatures
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-14 09:22:17 +01:00
Thomas Citharel 9f007da286
Allow to edit account email and delete account
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-13 16:21:26 +01:00
Thomas Citharel 18c8b7bc14
Fix event online URL AP attachment
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-07 18:41:36 +01:00
Thomas Citharel 2ed9050a90
Add anonymous and remote participations 2020-01-29 17:28:11 +01:00
rustra 3505736705 Fix Credo code readability issues 2020-01-28 20:15:59 +01:00
rustra 97651e88e9 Implement Credo software design suggestions 2020-01-28 19:18:33 +01:00
rustra bc31e2f0c2 Fix `mix format` 2020-01-26 21:53:17 +01:00
rustra 8856cc2f55 Rename MobilizonWeb to Mobilizon.Web 2020-01-26 21:39:49 +01:00
rustra b3f8d52bc9 Move API under GraphQL context 2020-01-26 21:15:04 +01:00
rustra ba3ad713c0 Split GraphQL as separate context 2020-01-26 20:34:25 +01:00
rustra 3577fe42e1 Improve Federation boundaries 2020-01-24 22:02:10 +01:00
rustra 8ca5c0b320 Separate Web modules related to Federation 2020-01-23 01:03:33 +01:00
rustra d1251280c5 Put HTTPSignatures, WebFinger and ActivityStream alongside with ActivityPub 2020-01-22 22:40:40 +01:00
rustra cdb520a95b Split Federation as separate context 2020-01-22 02:14:42 +01:00
Thomas Citharel d552fcb2d3
Add a config option to whitelist users registration
Through whole email or domain email

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 12:09:24 +01:00
Thomas Citharel b17716f8ae
Add one test to transmogrifier
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 09:28:44 +01:00
Thomas Citharel 334d66bf5d
Add admin interface to manage instances subscriptions
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-15 21:56:16 +01:00
Thomas Citharel dc07f34d78
Introduce comments below events
Also add tomstones

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-28 12:33:58 +01:00
Thomas Citharel 5e9c91e659
Added mix commands to manage users and view actors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-21 15:51:13 +01:00
Thomas Citharel 634a0b851e
Validate ends_on being after begins_on
Closes #315

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-18 18:56:36 +01:00
Thomas Citharel a197e1acb2
Wrap offline tests into cassette
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-17 19:13:54 +01:00
Thomas Citharel c599a47d58
Introduce Mimirsbrunn geocoder and improve addresses & maps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-12 14:10:18 +01:00
Thomas Citharel 0e7cf89492
Remove floor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-08 19:39:02 +01:00
Thomas Citharel 33f7c14db6
Fixes with addresses and iCalendar
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-06 10:04:17 +01:00
Thomas Citharel 92d694acf4 Merge branch 'bug/fix-issue-when-updating-event' into 'master'
Fix issue when updating event and introduce background jobs

See merge request framasoft/mobilizon!300
2019-11-04 17:05:32 +01:00
Thomas Citharel 95ba76a0fa
Fix issue when updating event and introduce background jobs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-04 16:40:36 +01:00
Thomas Citharel 0a844aa174
Open links from event URL and in event description in external window
And add rel='noopener noreferrer' on them

Closes #282 and #283

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-04 16:09:44 +01:00
Thomas Citharel cc820d6b63
Refactor Core things, including Ecto handling, ActivityPub & Transmogrifier modules
* Data doesn't need anymore to be converted to ActivityStream format to
be saved (this was taken from Pleroma and not at all a good idea here)
* Everything saved when creating an event is inserted into PostgreSQL in
a single transaction
2019-10-31 10:06:11 +01:00
Thomas Citharel b5f9518faf
Implement search engine & service in backend
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-23 15:27:11 +02:00
Thomas Citharel 4dcbf85d9a Merge branch 'bug/fix-XSS-on-event-title' into 'master'
Make sure title is properly sanitized

Closes #247

See merge request framasoft/mobilizon!281
2019-10-16 19:17:27 +02:00
Thomas Citharel 8094f1d80a
Make sure title is properly sanitized
Close #247

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-16 19:03:31 +02:00
Thomas Citharel de9b26df2d
Translate them and handle difference between user not found and user not
confirmed

Closes #212

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-16 17:07:49 +02:00
Damien b98a86184b (Hopefully) improve grammar
[CI skip]
2019-10-15 21:38:49 +02:00
Thomas Citharel d93561742a
Better handle datetime
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 19:29:18 +02:00
Thomas Citharel d3a5b1f3e5
Add custom user-agent to geospatial calls
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-12 11:41:18 +02:00
Thomas Citharel 534ff09674
Properly handle event status
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 16:34:03 +02:00
Thomas Citharel bf25d22786
Make sure people can't join an event with limited participants
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 11:50:06 +02:00
Thomas Citharel cd72059536
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-06 15:23:58 +02:00
Thomas Citharel 471e8ac472
Redirect to profile creation when user has no identities
Also load persons by ID instead of preferred_username

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-06 12:36:42 +02:00
Thomas Citharel 442a011490
Add draft feature
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-02 18:23:32 +02:00
Thomas Citharel a84cfb5910
Save user locale and use it to translate things
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-01 13:08:09 +02:00
Thomas Citharel b3be9088fe
Add test to make sure user emails are really unique
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-01 09:26:07 +02:00
Thomas Citharel 5fd38ace2e
Notifications on event update
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-30 19:01:46 +02:00
Thomas Citharel 5b4f1c271a
Send email notifications when a participation is approved/rejected
Also handles participant status :rejected instead of deleting the
participation

Closes #164

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-30 18:45:29 +02:00
miffigriffi 0a0d07cf38
Fix software design suggestions 2019-09-26 17:45:47 +02:00
miffigriffi aed824f1aa
Fix code readability issues 2019-09-26 17:45:47 +02:00
miffigriffi 20dfce5c83
Fix refactoring opportunities 2019-09-26 17:45:33 +02:00
Thomas Citharel 757d2cabec
Add a dropdown on participate menu, disallow listing participations
Now requires quering the person endpoint to know if an actor
participates in an event, organizers can make authenticated requests to
event { participants { } } to see the pending / approved participants.

Also closes #174

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-26 17:00:01 +02:00
Thomas Citharel f129d4137d
[Backend] Allow to change your password
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-24 18:08:33 +02:00
Thomas Citharel 9abb2f3526
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-23 10:26:23 +02:00
Chocobozzz 5520e2e5f9
Exhaustive create/update event tests 2019-09-22 19:36:43 +02:00
Thomas Citharel abf3a58657
Allow to accept / reject participants
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-22 10:40:12 +02:00
Thomas Citharel ffa4ec9209
Work on dashboard
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-22 09:42:54 +02:00
Thomas Citharel 2d087fb810
Move Mobilizon.Events.Activity to Mobilizon.Service.ActivityPub.Activity
It's only used for ActivityPub stuff, nothing DB related.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-22 09:24:18 +02:00
miffigriffi 4c74248a04 Merge branch 'master' into refactoring-based-on-credo-and-dialyzer 2019-09-22 00:40:53 +02:00
miffigriffi 64f42d412b mix credo warnings in Mobilizon context 2019-09-18 00:37:31 +02:00
miffigriffi da97c29340 Move Email context under MobilizonWeb 2019-09-17 02:45:32 +02:00
miffigriffi ac77a7d28a Refactoring of Events context 2019-09-17 02:22:54 +02:00
miffigriffy f6800665e7 Apply formatting 2019-09-13 02:28:09 +02:00
miffigriffy d3f3553ae7 Move Activity under Events context 2019-09-13 01:35:03 +02:00
Thomas Citharel c3b03a2e6b
Show number of participants
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-12 12:18:57 +02:00
miffigriffy e4a446003d Refactoring of Actors context 2019-09-11 23:36:14 +02:00
Thomas Citharel 27f2597b07
Add admin dashboard, event reporting, moderation report screens, moderation log
Close #156 and #158

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-09 20:53:16 +02:00
Chocobozzz 82df0526ec
Edit events fixes and update cache 2019-09-09 14:41:19 +02:00
Thomas Citharel cc4a59ad1f
Run mix format and fix a credo check
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-09 09:35:50 +02:00
miffigriffy 4418275223 Refactoring of Actors context 2019-09-09 00:52:49 +02:00
miffy 3a4a006c44 Refactoring of Adresses context 2019-09-08 03:05:30 +02:00
miffy fa037fd683 Separating of Storage context 2019-09-08 01:49:56 +02:00
miffy a32ab590ab Refactoring of config wrapper 2019-09-08 00:05:54 +02:00
miffy f316f0a940 Refactoring of Users context 2019-09-07 19:55:45 +02:00
miffy c2b4fb6cff Refactoring of Media context 2019-09-07 02:36:37 +02:00
Thomas Citharel f5c3dbf128
Correctly handle event update
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-05 13:59:52 +02:00
Chocobozzz dc9ef9c1b5
Improve create event and prepare update event 2019-09-03 09:11:41 +02:00
Thomas Citharel cb96b807a0
Improve event creation form by introducting EventOptions
It's a subentity that holds additional metadata in a map database type

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-02 17:11:27 +02:00
Thomas Citharel 925f7bbb02 Merge branch 'feature/group-create' into 'master'
Prepare create group

See merge request framasoft/mobilizon!173
2019-09-02 12:10:23 +02:00
Chocobozzz 18b2854d99
Prepare create group 2019-09-02 11:51:42 +02:00
Chocobozzz f21c79cf6a
Don't delete the last admin of a group 2019-08-26 15:44:02 +02:00
Thomas Citharel 0e0b68445b
Reuse existing addresses when creating an event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-22 16:20:42 +02:00
Thomas Citharel 641129dc74
Federate participations
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-20 10:17:28 +02:00
Thomas Citharel c51115bdbe
Introduce relay
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-13 11:15:13 +02:00
Chocobozzz a007160480
Fix lint 2019-08-13 10:59:12 +02:00
Chocobozzz 6d221212ef
Remove apollo link state 2019-08-12 16:04:32 +02:00
Thomas Citharel 5fbaf42cad
Add address input and refactor federation stuff
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-30 10:35:29 +02:00
Thomas Citharel 6d80bf43ea
Refactor adding tags to an event
Also refactor extracting tags from content, now uses Pleroma's Formatter

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-26 12:06:26 +02:00
Thomas Citharel c3cca5d613
Fix credo style reports following it's update
Mainly transform `with` into `case`

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-23 18:12:26 +02:00
Thomas Citharel aef841e192 Introduce backend for reports
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-23 13:49:22 +02:00
Thomas Citharel 661b31d822
Add NodeInfo 2.0 support (in addition to 2.1) and fix validation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-09 09:43:13 +02:00
Chocobozzz 0e485b2388
Add ability to update/create/delete identities 2019-07-08 16:32:22 +02:00
Thomas Citharel e8cabd38d4
Delete files when updating parent identities
Closes #127

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-06-07 15:01:10 +02:00