Thomas Citharel
6099878ac5
Allow Ueberauth providers to be used at runtime
...
Close #504
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-15 19:49:38 +01:00
Thomas Citharel
7c11807c14
Allow to join an open group
...
Also:
* Refactor interacting with a remote event so that you can interact with
a remote group as well
* Add a setting for group admins to pick between an open and invite-only
group
* Fix new groups without posts/todos/resources/events/conversations URL
set
* Repair local groups that haven't got their
posts/todos/resources/events/conversations URL set
* Add a scheduled job to refresh remote groups every hour
* Add a user setting to pick when to receive notifications when there's
new members to approve (will be used when this feature is available)
* Fix pagination for members
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-06 15:19:36 +01:00
Thomas Citharel
78e3bcb2f8
Add proper error message when accessing followers/followings w/ auth
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 18:11:27 +01:00
Thomas Citharel
6cda3c0a94
Don't allow remote comments to be inserted if parent event doesn't allow it
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 10:49:58 +01:00
Thomas Citharel
01f746a5d2
Allow to use Mix tasks inside Releases
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-31 02:42:06 +01:00
Thomas Citharel
3e700a03df
Fix resource metadata test with JMZ
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-27 16:09:27 +01:00
Thomas Citharel
4a11d4adcc
Add more tests to upload filters
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-25 12:00:00 +01:00
Thomas Citharel
85aa9df4f8
Fix webfinger not following redirections by using a custom dedicated Tesla client
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-21 11:20:15 +02:00
Thomas Citharel
e6b2e91ced
Fix resource tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 10:25:00 +02:00
Thomas Citharel
23dcb47ce5
Make sure only group moderators can update/delete events, posts
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:58:17 +02:00
Thomas Citharel
fc1d392211
Couple of fixes for groups
...
- Fix posts update federation and add tests
- Fix posts deletion federation and add tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:44:04 +02:00
Thomas Citharel
cf9b8d5f46
Fix events from former followed instances showing up
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-14 11:45:32 +02:00
Thomas Citharel
bba9e6bf59
Fix tests with user tasks
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:53:18 +02:00
Thomas Citharel
71476ee587
Don't sent reset email when user is disabled
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:21:00 +02:00
Thomas Citharel
3c6916360d
Completely delete user when user request self destruction
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:10:27 +02:00
Thomas Citharel
cd5418825b
Make sure a person profile page returns 404
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-12 13:38:25 +02:00
Thomas Citharel
ff51c5bd1e
Fix upload test with non allowed content-type
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-12 11:14:35 +02:00
Thomas Citharel
dad9623482
Make sure only proper pictures are uploaded
...
Closes #384
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 19:29:12 +02:00
Thomas Citharel
c296381ed6
[Security] Fix events being editable by other users that organizers
...
Closes #385
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 18:12:35 +02:00
Thomas Citharel
75fc1f125a
Show a proper error message on creating/updating an event
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 16:09:45 +02:00
Thomas Citharel
9430f1145f
Fix profiles not administrators able to edit a group
...
Related to #385
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 16:09:44 +02:00
Thomas Citharel
f338867345
Merge branch 'add-error-page' into 'master'
...
Introduce support for custom nginx error pages
See merge request framasoft/mobilizon!598
2020-10-09 15:06:43 +02:00
Thomas Citharel
07a5d10421
Introduce support for custom nginx error pages
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 14:48:49 +02:00
Thomas Citharel
154b9e9e3c
Skip test sometimes failing
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-08 16:21:39 +02:00
Thomas Citharel
f4b777c3d6
Make sure event update notification email gets sent to anonymous
...
participants
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-08 08:53:25 +02:00
Thomas Citharel
02eac30c9b
Expose more statistics
...
* differenciate local & all events/comments/groups
* add instance follows/followings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 10:52:29 +02:00
Thomas Citharel
6b5ac19c54
Fix an indentation warning
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-06 12:35:46 +02:00
Thomas Citharel
8eca9d9702
Make sure only organizer actor can comment if event comments are
...
disabled
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-05 17:42:53 +02:00
Thomas Citharel
d41aa3b2fd
Disallow accessing identity page when logged in
...
And disallow calls to fetchPerson when not our own profile or unlogged
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-02 09:53:32 +02:00
Thomas Citharel
aced4d039b
Fix posts and rework graphql errors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-01 15:07:15 +02:00
Thomas Citharel
dc8faa12bd
Sent notification that the event participation has been confirmed when
...
anonymous
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-30 10:44:01 +02:00
Thomas Citharel
49a5725da3
Improve and activate groups
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-29 10:25:00 +02:00
setop
bd3087d121
Fix geospatial clients
...
add json plus to base client and rename to geospacial client
geospatial http client with json plug
2020-09-21 14:46:07 +02:00
Thomas Citharel
b0e8a32d2a
Improvements to group page
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-21 11:18:49 +02:00
Thomas Citharel
93728cb9d7
Add a noindex HTTP header on unlisted resources
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 10:57:18 +02:00
Thomas Citharel
489fd74545
Allow to refresh instance outbox when they accept subscription
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 10:57:18 +02:00
Thomas Citharel
1984f71cbf
Add group admin profiles
...
And other fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-27 12:12:54 +02:00
Thomas Citharel
4782221ef4
Allow to update a member role
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-20 10:54:58 +02:00
Thomas Citharel
bdb4350624
Add an authenticated fetch route for members
...
If the member is remote, it redirects to original instance
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-19 11:29:02 +02:00
Thomas Citharel
ea9748190c
Fix comments tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-18 15:06:56 +02:00
Thomas Citharel
156eba0551
Improve member adding and excluding flow
...
Allow to exclude a member
Send emails to the member when it's excluded
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-18 14:37:31 +02:00
Thomas Citharel
1de802a36c
Merge branch 'feature/sitemap' into 'master'
...
Introduce sitemap and upgrade oban
See merge request framasoft/mobilizon!538
2020-08-12 16:36:37 +02:00
Thomas Citharel
c56fb710b6
Introduce Sitemaps
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-12 16:29:34 +02:00
Thomas Citharel
9a0068dfea
Upgrade oban to 2.0
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-12 16:06:09 +02:00
Thomas Citharel
c09deb5bc6
Fix remote group visibility and use Mastodon's discoverable attribute
...
Make sure actor visibility is :public or :unlisted
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-12 10:45:48 +02:00
Thomas Citharel
3c077c59ad
Allow to search groups by location
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:24 +02:00
Thomas Citharel
214400aaea
Fix API test
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:22 +02:00
Thomas Citharel
b4f500532f
Allow to filter by begins_on and ends_on. Redirect explore to search
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:21 +02:00
Thomas Citharel
d725393fd4
Fix events test for new search signature
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:20 +02:00
Thomas Citharel
2198b2cb87
Allow to filter search by multiple tags
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:19 +02:00
Thomas Citharel
3807ab1b63
Allow events to be searched by location and period
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:18 +02:00
Thomas Citharel
9c9f1385fb
Introduce group posts
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-30 16:55:35 +02:00
Thomas Citharel
e0fad9ddd1
Update Instance Actor when updating instance settings
...
Also fix an issue when publishing activities to followers/group members
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-07 16:55:59 +02:00
Thomas Citharel
9a080c1f10
Introduce support for 3rd-party auth (OAuth2 & LDAP)
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-06 15:42:59 +02:00
setop
2749b6b2d4
fix addok - country and region
2020-06-30 09:16:32 +02:00
Thomas Citharel
83aa005faf
Drop HTMLSanitizeEx and fix title sanitizing
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-24 16:37:00 +02:00
Thomas Citharel
4cd0ff2533
Fix resource tests by changing URL
...
https://framagit.org/framasoft/accueil/-/issues/4
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-24 12:14:58 +02:00
Thomas Citharel
b61d12b5fd
Participation panel revamp and fixes
...
Apollo is a pain in the ass with pagination & filters, so this removes
the tabs system and uses a <select> to filter instead
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-18 15:52:19 +02:00
Thomas Citharel
ef6a1a21ac
Even more fixes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 19:41:11 +02:00
Thomas Citharel
beb35a09c6
Introduce basic user and profile management
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-12 19:16:40 +02:00
Thomas Citharel
ecbc5993c4
Fix lang not detected on fallback pages
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 17:45:41 +02:00
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
Thomas Citharel
87bc5f8352
Add filesize to file entity, expose it to GraphQL API
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-06-03 17:13:47 +02:00
Thomas Citharel
5b3831b4bf
Attach actor to pictures entity
2019-05-31 18:07:37 +02:00
Thomas Citharel
f90089e1bf
Refactor media upload
...
Use Upload Media logic from Pleroma
Backend changes for picture upload
Move AS <-> Model conversion to separate module
Front changes
Downgrade apollo-client: https://github.com/Akryum/vue-apollo/issues/577
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-05-24 17:29:51 +02:00
Julien Lavergne
a2c181f7fe
Update NodeInfo support to 2.1 ( #79 )
2019-05-24 09:18:19 +02:00
Thomas Citharel
f07216bbd7
Assert HTML contains opengraph content
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-05-02 13:54:12 +02:00
Vincent
7f31121880
Simplify PageController
2019-05-02 13:54:06 +02:00
Chocobozzz
25153d2ae1
Only render public comments
2019-04-26 10:03:46 +02:00
Thomas Citharel
12116ba6fa
Add visibility to actors
...
Also use url helpers to generate urls properly
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-25 19:05:05 +02:00
Thomas Citharel
10bfc17306
Merge branch 'feature/related_events' into 'master'
...
Feature/related events
See merge request framasoft/mobilizon!113
2019-04-23 11:31:20 +02:00
Thomas Citharel
a877e4d7d9
Implement related events
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-23 11:22:36 +02:00
Chocobozzz
d66bbc5414
Add ability to search on Group, Person or Event
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-23 10:53:04 +02:00
Thomas Citharel
da2a0593ca
Various UI stuff (mainly implement mookup)
...
Fix lint
Disable modern mode
Fixes
UI fixes
Fixes
Ignore .po~ files
Fixes
Fix homepage
Fixes
Fixes
Mix format
Fix tests
Fix tests (yeah…)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-11 11:58:13 +02:00
Thomas Citharel
fc0214c633
Merge branch 'feature/event-maps' into 'master'
...
Feature/event maps
See merge request framasoft/mobilizon!105
2019-04-01 17:26:33 +02:00
Thomas Citharel
ccd705bc4f
Add timeline events you're going to
...
Mix format
Fix chocobozzz feedback
Only show upcoming events on feed
Remove console log calls
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-01 17:07:00 +02:00
Thomas Citharel
0c8d2f7e00
Work around Addresses to bring them properly through GraphQL
...
Got caught with https://github.com/absinthe-graphql/absinthe/issues/601
at some point, that's why fields are renamed
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-01 16:51:15 +02:00
Chocobozzz
4fa78d7cd2
Get config and display/hide register button
2019-03-22 15:26:58 +01:00
Chocobozzz
e864b38ec6
Add config endpoint
2019-03-22 13:58:57 +01:00
Thomas Citharel
bba6629046
Better docs
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Nicer docs
No 3rd stage
Add mix.deps get before docs
Add :ex_doc on test env so that it runs into CI
2019-03-18 12:10:29 +01:00
Thomas Citharel
6ca0b5f915
Add GraphQL methods and test
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Finish
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-15 16:37:46 +01:00
Thomas Citharel
98b7618338
Add GeoSpatial backends for geocoding
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Geospatial Backend
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-15 16:37:43 +01:00
Thomas Citharel
99ac6ef100
Add GraphQL support to handle FeedTokens
...
Closes #88
Automatically create tokens for new users and actors
Closes #89
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-08 18:52:27 +01:00
Thomas Citharel
c61c75163f
Add backend and endpoints for Feed Tokens
...
Closes #19 #86 #87
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-08 14:57:05 +01:00
Chocobozzz
5a8ad3ab52
Add join/leave group
2019-03-08 14:43:45 +01:00
Thomas Citharel
cb0808dbad
Introduce admin and moderator role, check role on list_users action
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Add test for guards
2019-03-07 14:18:11 +01:00
Thomas Citharel
d3e2f28b49
Implement public actor ICS endpoint and event ICS export
...
Closes #83 and #84
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-06 17:07:42 +01:00
Thomas Citharel
c689406114
Extract User from Actors context
...
Mobilizon.Actors.User -> Mobilizon.Users.User
Also Mobilizon.Actors.Service now become Mobilizon.User.Service
And Mobilizon.Users and Mobilizon.UsersTest is introduced.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-05 17:23:05 +01:00
Thomas Citharel
9c98f34b5c
Invert list users sort direction (make it desc)
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-05 12:14:31 +01:00
Chocobozzz
a0123459b3
Add ability to list users
2019-03-05 10:41:23 +01:00
Thomas Citharel
9a60704ed9
Add and fix tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-05 10:13:19 +01:00
Thomas Citharel
5713670ac9
Refactor Atom feed caching
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fixes
Fix tests
Fix tests
2019-03-01 14:53:56 +01:00
Thomas Citharel
02d1cea2d7
Add cached RSS feeds for actors endpoints
2019-02-27 18:30:01 +01:00
Thomas Citharel
8efb1af306
Make sure actor usernames are unique
...
Closes #72
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-25 18:35:00 +01:00
Thomas Citharel
7086fe8389
Make Categories a predefined list
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Allow null values for categories for now
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-25 15:31:04 +01:00
Thomas Citharel
8bba35e60b
Improve tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-22 18:07:20 +01:00
Thomas Citharel
4ec40d601b
Implement search with PostgreSQL trigrams
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Rename function to reflect that we only get one result
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Add loggers and make Ecto call parallels during search
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Implement trigrams for events & replace pg similarity operator % with <%
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-22 13:53:10 +01:00
Thomas Citharel
256d50e855
Allow tag relations + bump ecto deps
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-21 16:58:14 +01:00
Thomas Citharel
dfa25e0d21
Events with only one event creator participant can't be left
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-07 17:57:49 +01:00
Chocobozzz
250f0b3bd1
Add API to join and leave an event
2019-02-07 16:56:59 +01:00
Thomas Citharel
4bac5a07bd
Move Participant role from integer to enum
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-07 16:37:40 +01:00
Thomas Citharel
7b83682b26
Merge branch 'split-event-visibility-and-join' into 'master'
...
Split event visibility and join options
Closes #56
See merge request framasoft/mobilizon!54
2019-02-07 14:07:16 +01:00
Thomas Citharel
a2070b1d54
Split event visibility and join options
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fix format
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-07 11:49:14 +01:00
Chocobozzz
d0c1d6f41f
Add event resolver tests
2019-02-07 10:29:01 +01:00
Chocobozzz
ec961aa5e6
Add group resolver tests
2019-02-07 10:29:01 +01:00
Thomas Citharel
681653e035
Introduce registerPerson mutation
...
To register a profile from an unactivated user
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
👤 Fix Person interface use
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Change host function for data property
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-30 15:59:27 +01:00
Thomas Citharel
0c2931c10b
Make register/1 only create an user
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Credo fix
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fix rebase
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-30 10:53:40 +01:00
Chocobozzz
dd174f2446
Add ability to delete an event
2019-01-25 17:07:36 +01:00
Chocobozzz
8388240957
Add ability to delete a group
2019-01-25 16:08:06 +01:00
Thomas Citharel
c660210439
Fix tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-24 15:36:09 +01:00
Thomas Citharel
90fd0ff6b6
Replace Vuetify with Bulma
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Remove vuetify and add Bulma
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-24 15:35:57 +01:00
Thomas Citharel
289ba03960
Remove address_type and rename phone to phone_address
...
An event can indeed have several address types
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-14 17:48:08 +01:00
Thomas Citharel
2ece62bfb8
Add visibility to comments
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-14 16:21:13 +01:00
Thomas Citharel
ab56d3e607
🔍 Implement basic event visibility
...
See https://framagit.org/framasoft/mobilizon/wikis/spec/Event#visibility
Also brings support for event status (tentative/confirmed/cancelled)
Closes #56
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-14 15:56:07 +01:00
Chocobozzz
4a77b2b1b7
Fix resend confirmation component
2019-01-11 14:35:14 +01:00
Thomas Citharel
2f2c538cc9
Add Credo checks and refactor code
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Make Logger.debug calls lazy
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Add missing @moduledocs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Refactor according to credo
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Final fixes and add credo to CI
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Closes #52
2019-01-03 15:52:48 +01:00
Thomas Citharel
8d943f950f
New generate config task from Pleroma upstream & move tasks namespace
...
Little fixes and tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-03 11:34:31 +01:00
Thomas Citharel
d5eac1df6c
Comment Webfinger controller properly
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-12-27 11:31:06 +01:00
Thomas Citharel
caae6d0c0a
Add links to upstream Pleroma files
...
(rename AP tests module names too)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-12-27 11:24:04 +01:00
Thomas Citharel
bee896a485
Test paginated event list
...
Introduce an event number limit for…limits
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-12-21 11:45:55 +01:00
Thomas Citharel
c1e6612405
[WIP] Test transmogrifier
...
Introduce MobilizonWeb.API namespace
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Format
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
WIP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
remove unneeded code
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fix warnings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-12-20 17:44:33 +01:00
Chocobozzz
fa0f47d8e1
Add digest, date and request-target in HTTP signature
2018-12-07 16:13:30 +01:00
Thomas Citharel
ace427c223
Add test for find_close_events/4
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-12-04 12:06:34 +01:00
Thomas Citharel
dd87ad4f7e
Mix format
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-12-03 12:08:18 +01:00
Thomas Citharel
fd0dba62e0
Work on actors
...
* Implement group GraphQL APIs
* Change Actors changeset to properly set urls
* Remove old actors indexes and add some new ones
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-12-03 11:58:57 +01:00
Thomas Citharel
51aa511101
Changes to the actor - user relation
...
Now the GraphQL API replies mostly with users which have the default_actor
property filled to show profile information
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-29 17:43:22 +01:00
Thomas Citharel
534138f775
More test stuff
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-28 17:16:23 +01:00
Thomas Citharel
0cb39de01e
Add more tests for user
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-28 14:48:55 +01:00
Thomas Citharel
c9f58ea899
A few more tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-28 10:49:16 +01:00
Thomas Citharel
3ddd5ee485
Add test to WebFinger controller
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-27 18:42:56 +01:00
Thomas Citharel
da378633ac
Moar coverage
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-27 17:54:54 +01:00
Thomas Citharel
b99625afab
Add test to the follow backend
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-27 14:02:51 +01:00
Thomas Citharel
9f9113f094
Change schema a bit
...
Closes #29
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-23 15:03:53 +01:00
Thomas Citharel
8d82a08b8d
Add 2 tests and format
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-13 12:40:09 +01:00
Thomas Citharel
9c65ad0170
Use ex_vcr for tests
...
Which are now offline-only !
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-13 12:23:37 +01:00
Thomas Citharel
a04dfc5293
Fix tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-12 18:17:53 +01:00
Thomas Citharel
74bc21fa2c
Handle trying to create a category if not loggedin
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-07 08:34:25 +01:00
Thomas Citharel
10dddc03a9
Format
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-06 10:32:53 +01:00
Thomas Citharel
b54dae7e15
Move to GraphQL
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-06 10:30:27 +01:00
Thomas Citharel
7e137d1a1c
Format
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-10-11 17:47:02 +02:00
Thomas Citharel
559c889f1b
Rename project to Mobilizon
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-10-11 17:37:39 +02:00
Thomas Citharel
4eb51567c3
Better tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-10-09 17:01:45 +02:00
Thomas Citharel
e454d0d470
Friendica now supports ActivityPub !
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-10-09 16:07:31 +02:00
Thomas Citharel
c2875a6189
Fix nodeinfo path
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-09-03 17:53:31 +02:00
Thomas Citharel
686cf04787
More tests
2018-08-24 11:34:00 +02:00
Thomas Citharel
a3852f26c1
Even more tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-08-03 11:08:51 +02:00
Thomas Citharel
2eb2c23af3
mix format
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-08-03 10:19:28 +02:00
Thomas Citharel
e1e9b0fc11
Add some tests
...
Also add a unicity constraint on the followers table
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-08-03 10:16:22 +02:00
Thomas Citharel
115d1d1a3e
Introduce follower, add tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-08-01 14:45:18 +02:00
Thomas Citharel
979aad5acb
Remove credo and use mix format, and lint everything
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-07-27 10:45:35 +02:00
Thomas Citharel
73ef0dc6af
Update tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-07-10 14:56:10 +02:00