Commit graph

310 commits

Author SHA1 Message Date
Thomas Citharel 346d6438f8
Fix changing changing email and validating new email with bad token
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-23 16:38:37 +01:00
Thomas Citharel 4ff00e92b6
Fix lasts events published order on the homepage
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-16 19:08:00 +01:00
Thomas Citharel 1f926902aa
Add comments under events to activities
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-10 17:40:55 +01:00
Thomas Citharel d8e4d6c24f
Introduce activity filters
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-09 16:21:12 +01:00
Thomas Citharel aa2c79d312
Fixes for Bamboo 2.0
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-09 14:33:09 +01:00
Thomas Citharel 03824b898c
Get membership status only for the current group
Closes #575

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-05 11:23:17 +01:00
Thomas Citharel bc99e48f06
Add tests for discussion
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-04 11:43:35 +01:00
Thomas Citharel 74e0e009d1
Add cron job to clean old activities
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-02 14:34:52 +01:00
Thomas Citharel 3fe64a4389
Introduce the group activity section
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-26 09:37:06 +01:00
Thomas Citharel b1cc3868a6
Add user setting to provide location and show events near location on
homepage

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-12 19:10:22 +01:00
Thomas Citharel 0ac12a0a29
Proxify resource metadata pictures
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-26 12:15:53 +01:00
Thomas Citharel 3b78cffb17
Hide event group organizers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-25 12:00:06 +01:00
Thomas Citharel 21698f754d
Change some String.to_atom/1 to String.to_existing_atom/1
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-22 19:44:59 +01:00
Thomas Citharel 4fbdc94e7c
Fix following groups + Add interface to manage followers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-22 11:52:52 +01:00
Thomas Citharel a646d4a40a
Fix unlisted groups being available in search
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-17 15:38:03 +01:00
ty kayn 5c57f1ce3c if an event has geo coordinates, add links to routing on OSM, with correct place and zoom of 14, 3 buttons to get routig as car, bike, and by feet.
Signed-off-by: Baptiste Lemoine <contact@cipherbliss.com>
2020-12-17 11:26:25 +01:00
Thomas Citharel 9b27e70eb0
Save remote profiles avatars & banners locally
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-15 17:17:42 +01:00
Thomas Citharel 8e722032fb
[GraphQL] Move events endpoint to paginated event list
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-09 19:55:44 +01:00
Thomas Citharel 0541fb0ada
Allow event's attributedTo to use the Dataloader
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-01 17:42:07 +01:00
Thomas Citharel b05f0fe3e6
simplify user resolver errors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-30 12:48:22 +01:00
Thomas Citharel c9457fe0d3
Track usage of media files and add a job to clean them
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-26 17:53:33 +01:00
Thomas Citharel b11d35cbec
Backend support to get used media size for users and actors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-23 17:00:42 +01:00
Thomas Citharel 6a1cd42d2c
Add backend to list an user's pictures
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-23 17:00:42 +01:00
Thomas Citharel 1cd680526a
Add backend to remove pictures
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-23 17:00:36 +01:00
Thomas Citharel 68a4222a18
Add missing leftover documentation for GraphQL schema
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-20 15:24:04 +01:00
Thomas Citharel 3eacbb2ca3
Improve GraphQL documentation and cleanup API
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-20 11:44:00 +01:00
Thomas Citharel e6077d0dc3
Forbid creating usernames with uppercase characters
We don't actually enforce anything on the ActivityPub level, only
user-facing interfaces

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-17 19:54:40 +01:00
Thomas Citharel 44559a71ee
Remove duplicate @doc blocs
Elixir 11 notifies this a lot

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-06 15:48:05 +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 9540a486ec
Fix About page crashing when instance language is not supported
Use the languages defined by CLDR on server instead, and fallback to
english if not defined

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 12:12:55 +01:00
Thomas Citharel fa7cd7e0e3
New unlogged homepage
With fancy illustrations 

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-21 17:49:18 +02:00
Thomas Citharel b94bf2ad87
Fix a credo issue
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 10:06:58 +02:00
Thomas Citharel 2ad043a91d
Fix OEmbed preview parser
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:58:18 +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 8c9546ff2a
Improve member management
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-15 14:24:51 +02:00
Thomas Citharel f6480cb37e
Improve dashboard
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-15 11:04:05 +02:00
Thomas Citharel 86e1e84247
Use datetime with TZ for posts timestamps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-14 09:46:33 +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 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 77970b8091
Improve anonymous participation and confirmation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 17:05:15 +02:00
Thomas Citharel 586d8c440d
Add languages to admin settings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 16:38:24 +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 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 afb7d75307
Fix invitations
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-02 16:19:31 +02:00
Thomas Citharel 4896036cd1
Make sure event and group search only return the correct type
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-02 16:19:30 +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 beba4a16ea
Fix anonymous call to profile endpoint
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-01 19:10:18 +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 36cdcaa864
Send all event reminder notifications
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-30 10:45:01 +02:00
Thomas Citharel a600720062
Add local groups as statistics
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-30 10:42:19 +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
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 69faeec14c
Allow to disable event creation
And change the group toggle

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 15:08:47 +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 aa7d919c98
Show user connection IP and date in admin
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-31 16:57:13 +02:00
Thomas Citharel 45fa3e8ad0
Add login information to user
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-28 09:23:49 +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 6ae8de7560
Fix datetime unserialize on admin logs view
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-18 17:22:06 +02:00
Thomas Citharel 2ea6286d3f
Fix account suspension
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-18 17:21:58 +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 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 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 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 69841cbb45
Fix 3rd-party auth issues
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-06 17:33:40 +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
Thomas Citharel 39c03301c9
Allow to properly move group resources
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-26 11:48:05 +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 f5241954bd
Improve Terms of Service
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-23 10:35:15 +02:00
Thomas Citharel e030eab93d
Fix event stats participants / going incoherent
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-18 16:24:00 +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 b5f295c5d9
UI improvements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-17 15:55:21 +02:00
Thomas Citharel 7cd45a1351
Fixup
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-16 18:02:53 +02:00
Thomas Citharel 5cb3f478ae
Allow to change language
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-16 18:00:27 +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 47297127a2
Improve comment section
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 16:50:01 +02:00
Thomas Citharel d8bdc132e8 Merge branch 'use-ap-wrapper-instead-of-calling-directly-actors-context' into 'master'
Use ActivityPub.get_or_fetch_actor_by_url/2 instead of directly Actors.get_actor_by_url

See merge request framasoft/mobilizon!469
2020-06-15 11:59:35 +02:00
Thomas Citharel 5990633fb9
Use ActivityPub.get_or_fetch_actor_by_url/2 instead of
directly Actors.get_actor_by_url

So that we can refresh actors when they're stale

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 11:45:58 +02:00
Thomas Citharel d0bf64275e Merge branch 'improve-registration-page' into 'master'
Improve registration page and add a rules option

See merge request framasoft/mobilizon!467
2020-06-15 11:20:16 +02:00
Thomas Citharel 97197e3811
Improve registration page and add a rules option
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 11:01:49 +02:00
Thomas Citharel 790f333e4a
Fix comment threads display
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 09:46:08 +02:00
Thomas Citharel 0fcbbaa80c
Fix searchable unlisted events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-12 19:19:19 +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 ff5e27b0a0
Fix admin settings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 17:41:08 +02:00
Thomas Citharel ba6e656015
Fix geocoding
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 15:20:07 +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 8310a3d4b9
Use correct locale for participation emails
For anonymous participations we now use a locale parameter in metadata

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 10:32:26 +02:00
Thomas Citharel 7dbabcf15f
Add toggle to disable groups
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-08 16:47:57 +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 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 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 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 94df5bd1be
Don't access remote events from non-federated instances when not logged
in

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-07 16:28:49 +01:00
Thomas Citharel 9e3df495dc
Move configuration to traditional way
️ This is the way.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-06 16:12:13 +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 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