Commit Graph

442 Commits

Author SHA1 Message Date
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
Thomas Citharel
dee437e4f3 Allow multiple identities (accounts actors) for one user.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-07-10 10:00:07 +02:00
Thomas Citharel
615e91a05b Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-07-04 16:23:52 +02:00
Thomas Citharel
a007764d27
Fix credo issues
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-14 18:15:27 +02:00
Thomas Citharel
ca36dd12e2
Make tests great again !
(Also use only one field for public/private key pem)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-14 17:25:55 +02:00
Thomas Citharel
90de5a105b
Add groups back
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-06 18:16:39 +02:00
Thomas Citharel
cac4dd3ca3
Search
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-06 18:16:14 +02:00
Thomas Citharel
e14007bac5
WIP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-06 18:12:21 +02:00
Benjamin Bouvier
2c1abe5e19 Merge branch 'avatar' into 'master'
Introduce avatar and banner and fetch Gravatar to fill avatar during registration

Closes #7

See merge request tcit/eventos!10
2018-01-27 19:45:03 +01:00
Thomas Citharel
4b4ecec693 Introduce avatar and banner and fetch Gravatar to fill avatar during registration
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

typo

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Rename avatar to avatar_url, same with header.

Add a comment to explain why the tweak with HTTPoison and TLS1.2

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Rename avatar to avatar_url

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

rename old avatar properties in front-end to avatar_url

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

fix change gravatar from ?d= to ?default=

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

reorganize aliases and imports

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

set avatar url only when gravatar exists, add a test for that case

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-27 19:04:45 +01:00
Thomas Citharel
22093b8ca4 Fix some warnings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

fix error

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Fix tests and warnings

Move process_geom/2 to addresses where it belongs
Create a special error view for invalid requests

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

credo fix

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-27 17:00:04 +01:00
Thomas Citharel
07382d6aca Add adresses
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-17 11:39:01 +01:00
Thomas Citharel
67ef32432e Fix front-end, allow events to be created by a group, allow to get sessions from an event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-16 19:45:09 +01:00
Thomas Citharel
7a98674e59 Merge branch 'fix-categories' into 'master'
Fix categories and tags

See merge request tcit/eventos!3
2018-01-15 12:21:55 +01:00
Thomas Citharel
8b4d1ab4e4 Add categories properly
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-15 12:04:09 +01:00
Thomas Citharel
b71754224d Merge branch 'notify-on-tests' into 'master'
make tests watchable and notifies

See merge request tcit/eventos!2
2018-01-15 11:46:08 +01:00
Thomas Citharel
226df0d0ef make tests watchable and notifies
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-15 11:41:47 +01:00
Thomas Citharel
8414f9a098 Export an event though ics
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-15 11:40:01 +01:00
Thomas Citharel
1217361b6c fix some code style and add checks to ci
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-14 17:57:25 +01:00
Thomas Citharel
20cd1bb579 Change models, new migrations, fix front and make tests work
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-13 23:33:03 +01:00
Thomas Citharel
90ceb4f6fe initial commit
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-12-08 09:58:14 +01:00