Commit Graph

227 Commits

Author SHA1 Message Date
Thomas Citharel
6fa768c2e9 Fix DateTime comparison
!420 used Date.compare/2 instead of DateTime.compare/2

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-04-14 17:50:17 +02:00
setop
d560c5d548 fix compare begin and end dates
this bug prevent from creating an event with the day of month of the begin date greater than the day of month of the end date, event if end date is effectively greater than begin date.

for example, if the begin date is '2020-04-28' and end date is '2020-05-13', these dates are valid but because 28 > 13, the validation fails.

this is better explained in this article ["Never compare dates in Elixir using < or >"](https://blog.leif.io/never-use-to-compare-dates/).

using Date.compare, as proposed in this PR fix the issue.
2020-04-03 23:37:56 +02:00
Thomas Citharel
acfe75768d 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
4270c396a3 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
3f24d79498 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
e02f8f0012 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
d93e941a17 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
2875d263d2 Add anonymous and remote participations 2020-01-29 17:28:11 +01:00
rustra
ca5a4fd83c Fix Credo code readability issues 2020-01-28 20:15:59 +01:00
rustra
bf2a36314b Implement Credo software design suggestions 2020-01-28 19:18:33 +01:00
rustra
c3358ca352 Fix mix format 2020-01-26 21:53:17 +01:00
rustra
55858805c1 Rename MobilizonWeb to Mobilizon.Web 2020-01-26 21:39:49 +01:00
rustra
5a439e493b Improve Federation boundaries 2020-01-24 22:02:10 +01:00
rustra
a239d1e0b0 Separate Web modules related to Federation 2020-01-23 01:03:33 +01:00
rustra
9726b91b12 Split Federation as separate context 2020-01-22 02:14:42 +01:00
Thomas Citharel
ca6ba4d084 Restrict follows to approved actors/instances
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-19 13:41:25 +01:00
Thomas Citharel
cece3c89e9 Fix comments URLs
Also remote comments were marked as local

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-18 18:25:40 +01:00
Thomas Citharel
7ec15d56bf Use mix.exs version instead of config one
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-18 14:32:20 +01:00
Thomas Citharel
69048089a5 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
8f6877c06d Clear AP cache when content is updated or deleted
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-16 11:47:31 +01:00
Thomas Citharel
ce6f78b054 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
c91f3c618b 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
00f8322e8b Merge branch 'master' into 'feature/add-a-demo-mode'
# Conflicts:
#   CHANGELOG.md
2019-11-21 16:28:53 +01:00
Thomas Citharel
1abdbce7b6 Added a demo mode to show or hide instance warnings that data is deleted
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-21 16:07:43 +01:00
Thomas Citharel
6cff9f46ce 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
19cb670cec Disable address autocomplete where required (nominatim)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-20 13:49:57 +01:00
Thomas Citharel
c810468783 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
dffd70ec96 Validate username on backend side and refactor actor changeset
Closes #316

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-18 18:56:28 +01:00
Thomas Citharel
b876baa556 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
f41cf86fe9 Remove floor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-08 19:39:02 +01:00
Thomas Citharel
56b804f64b Fixes with addresses and iCalendar
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-06 10:04:17 +01:00
Thomas Citharel
0fc79d1219 Fix for adding addresses
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-06 09:32:01 +01:00
Thomas Citharel
5bf50057f5 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
b3b41ad777 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
567d8ba555 Make inserting data into search table an async operation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-23 16:33:56 +02:00
Thomas Citharel
75ec6afffc Implement search engine & service in backend
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-23 15:27:11 +02:00
Thomas Citharel
60b9fa235b Add some backend changes and validation for field length
Closes #225 and #226

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-18 11:31:11 +02:00
Damien
6c7bb75907 (Hopefully) improve grammar
[CI skip]
2019-10-15 21:38:49 +02:00
Thomas Citharel
71470cca9a set default to show event time
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 20:00:58 +02:00
Thomas Citharel
cc1e5ba24e Better handle datetime
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 19:29:18 +02:00
Thomas Citharel
fd3116a0a8 Properly update event ics export cache and fix export desc html
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 15:44:16 +02:00
Thomas Citharel
78b9d6003c 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
74fe9db43e 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
211290985f Make sure featured events have currently happening events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-09 16:37:39 +02:00
Thomas Citharel
174a844ed5 Add draft feature
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-02 18:23:32 +02:00
Thomas Citharel
b0bba8ccb5 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
f8f5d0643a Notifications on event update
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-30 19:01:46 +02:00
Thomas Citharel
aab090f0c8 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
24bb7d8ca5 Fix code readability issues 2019-09-26 17:45:47 +02:00
Thomas Citharel
fd669e90fa 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
4aaabced2c [Backend] Allow to change your password
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-24 18:08:33 +02:00
Thomas Citharel
59fae50318 🎨 Add fancy html emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-23 19:50:33 +02:00
Thomas Citharel
d80237f84f Fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-22 11:22:16 +02:00
Thomas Citharel
c5dd03f362 Allow to accept / reject participants
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-22 10:40:12 +02:00
Thomas Citharel
8570e14bb3 Work on dashboard
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-22 09:42:54 +02:00
Thomas Citharel
fbd6d31ff8 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
5c575ec4ab Merge branch 'master' into refactoring-based-on-credo-and-dialyzer 2019-09-22 00:40:53 +02:00
miffigriffi
af996769cc mix credo warnings in Mobilizon context 2019-09-18 00:37:31 +02:00
miffigriffi
9342c12b32 Remove Dataloader related code from Mobilizon context 2019-09-18 00:18:45 +02:00
miffigriffi
4e324b4ffe Move caching to MobilizonWeb 2019-09-18 00:01:16 +02:00
miffigriffi
3716a826b9 Returm generation of URL by usage of MobilizonWeb.Endpoint 2019-09-17 22:10:22 +02:00
miffigriffi
c23c00e1c8 Move Email context under MobilizonWeb 2019-09-17 02:45:32 +02:00
miffigriffi
5f30334bcb Refactoring of Events context 2019-09-17 02:22:54 +02:00
miffigriffi
c6b37f63a1 Refactoring of Application module 2019-09-16 01:43:06 +02:00
miffigriffy
49822b1f67 Apply formatting 2019-09-13 02:28:09 +02:00
miffigriffy
3ab40411cd Clean specs 2019-09-13 02:15:04 +02:00
miffigriffy
76ed2b69a2 Move MIME under MobilizonWeb context 2019-09-13 01:35:56 +02:00
miffigriffy
bc5a9ed99d Move Activity under Events context 2019-09-13 01:35:03 +02:00
miffigriffy
edfb22f40f Refactoring of Events context 2019-09-13 01:01:17 +02:00
Thomas Citharel
44a8e2ecc7 Show number of participants
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-12 12:18:57 +02:00
miffigriffy
d828eeae7e Refactoring of Actors context 2019-09-11 23:36:14 +02:00
Thomas Citharel
efc52004de 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
Thomas Citharel
c88278744f Fix failing test on updating actor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-09 09:55:08 +02:00
Thomas Citharel
ecd4675387 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
d3c3641d0a Refactoring of Actors context 2019-09-09 00:52:49 +02:00
miffy
e61520b8e4 Refactoring of Adresses context 2019-09-08 03:05:30 +02:00
miffy
5d2d4a91c9 Refactoring of Admin context 2019-09-08 02:06:28 +02:00
miffy
46bb816a23 Separating of Storage context 2019-09-08 01:49:56 +02:00
miffy
ce6efaece4 Refactoring of config wrapper 2019-09-08 00:05:54 +02:00
miffy
5733955181 Refactoring of Email context 2019-09-07 23:58:53 +02:00
miffy
da70286dcd Refactoring of Users context 2019-09-07 19:55:45 +02:00
miffy
0efe0ad5d6 Refactoring of Reports context 2019-09-07 18:54:30 +02:00
miffy
e8bd482bcd Refactoring of Media context 2019-09-07 02:36:37 +02:00
miffy
1b7394f886 Add separate module for pagination of queries 2019-09-07 02:32:23 +02:00
Thomas Citharel
c3b44f508a Correctly handle event update
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-05 13:59:52 +02:00
Thomas Citharel
4844c8bc34 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
Chocobozzz
a5af7f99ff Don't delete the last admin of a group 2019-08-26 15:44:02 +02:00
Thomas Citharel
61ddcdecae 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
895bae4b7e Federate participations
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-20 10:17:28 +02:00
Thomas Citharel
33c455f75a Make category optionnal and hide it from the form
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-13 11:15:19 +02:00
Thomas Citharel
1b3dfb20d2 Introduce relay
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-13 11:15:13 +02:00
Chocobozzz
db62eb4cd8 Fix lint 2019-08-13 10:59:12 +02:00
Chocobozzz
67c59950f3 Fix guardian db hook when refresh the access token 2019-08-12 17:41:41 +02:00
Chocobozzz
abaebd949d Remove apollo link state 2019-08-12 16:04:32 +02:00
Thomas Citharel
2d41e00771 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
a5ebf40829 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
9f028195bf 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
ca4831f780 Introduce backend for reports
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-23 13:49:22 +02:00
Chocobozzz
7c8dee9a9d Add ability to update/create/delete identities 2019-07-08 16:32:22 +02:00
Thomas Citharel
0e0df8df0d Upgrade Elixir deps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-03 17:30:22 +02:00