Karina Kwiatek
32ab9267ec
Add web push subscription model
2023-01-02 11:50:47 +01:00
Karina Kwiatek
4c158066cb
Clean up User model
2023-01-02 11:31:27 +01:00
Andreas Nedbal
361b8df798
Add mute relationship and user methods
2023-01-01 22:42:50 +01:00
Andreas Nedbal
5a0e42fe66
use `has_cached_role?` instead of `has_role?`
2022-12-18 21:47:03 +01:00
Andreas Nedbal
049f92e138
Add inbox locking setting to user
2022-11-06 14:59:56 +01:00
Andreas Nedbal
56a1c70fae
add `admin?` shorthand to users
2022-08-21 15:02:49 +02:00
Georg Gadinger
66efa5d4f4
clean up routes
...
- replace `match` with `get`/`post`/`patch`/`delete`
- format routes.rb
- rename the `show_user_{profile,question,answer}` routes to
`profile`, `question`, `answer` so `url_for` (used by Rails Admin)
works fine for these things
- also add `to_param` to the `User` model so that `url_for(some_user)`
uses the user name
2022-07-23 12:14:06 +02:00
Andreas Nedbal
cbd9106a87
Remove `ModerationComment` model, relations and methods
2022-07-19 11:17:45 +02:00
Andreas Nedbal
e283648ce0
Remove `ModerationVote` model, relations and methods
2022-07-18 23:10:07 +02:00
Karina Kwiatek
539505eccd
Ensure counters only get updated if the record exists
2022-07-06 20:58:53 +02:00
Karina Kwiatek
e2462b1e51
Correct lint errors
...
(only on lines affected in this PR)
2022-07-06 20:58:53 +02:00
Karina Kwiatek
e7112f0244
Use `dependent: :destroy_async` instead of `DeletionWorker`
2022-07-06 20:58:53 +02:00
Karina Kwiatek
0db369a9ae
Remove comment_smiles relationship from users
2022-07-06 20:48:50 +02:00
Karina Kwiatek
0cfe5ee964
Replace usages of smiles with reaction appendables
2022-07-05 23:23:37 +02:00
Karina Kwiatek
5f0a546353
Refactor smiling answers to using reactions
2022-07-05 23:23:37 +02:00
Karina Kwiatek
53361eefdd
Move ban-related user methods to own module
2022-06-26 18:32:18 +02:00
Karina Kwiatek
59c4507ec3
Remove unused use case requires from `User` model
2022-06-26 18:32:18 +02:00
Karina Kwiatek
73274988c1
Add `permanently_banned?` method to user model
2022-06-26 18:32:18 +02:00
Karina Kwiatek
34c747ebf7
Appease the dog overlords
2022-06-26 18:32:18 +02:00
Karina Kwiatek
3247d1c746
Move ban invalidation to `User#unban` method
2022-06-26 18:32:18 +02:00
Karina Kwiatek
94aec26588
Move ban creation to `User#ban` method
2022-06-26 18:32:18 +02:00
Karina Kwiatek
1e6243c6ce
Create AnonymousBlock model
2022-06-15 14:26:48 +02:00
Karina Kwiatek
b657894576
Prevent errors in `User#answer` when asking anonymous questions
2022-06-13 19:32:00 +02:00
Karina Kwiatek
e64d4f3ca7
Prevent blocked users from reacting on comments
2022-06-13 11:56:34 +02:00
Karina Kwiatek
04243c2ec8
Appease the dog overlords
2022-06-13 11:56:34 +02:00
Karina Kwiatek
65309edd8f
Add block checks into `User#answer`
2022-06-13 11:56:34 +02:00
Karina Kwiatek
b38ae50ba7
Disallow reacting to an answer when blocked by its author
2022-06-13 11:56:34 +02:00
Karina Kwiatek
b4e5037469
Disallow commenting when blocked by the answer's author
2022-06-13 11:56:34 +02:00
Karina Kwiatek
0038272417
Add Block relationship type
2022-06-13 11:56:34 +02:00
Karina Kwiatek
3962671135
Implement relationship logic as use case
2022-01-23 16:48:53 +01:00
Karina Kwiatek
ce951453a2
Make relationships polymorphic
2022-01-23 16:48:53 +01:00
Georg Gadinger
29923fac84
add validator for typoed emails
...
It happens quite often that people typo their email address (I blame
phone keyboards for that). Catch common cases in a validator and
tell the user that they have a typo in their email.
Why yes, I did write the tests for this first, thanks for asking!
2022-01-11 19:18:23 +01:00
Karina Kwiatek
b398265a98
Address review comments from @nilsding
...
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-01-06 13:59:04 +01:00
Karina Kwiatek
7677ed21a4
Update tests for unbanning users
2022-01-02 19:50:44 +01:00
Karina Kwiatek
a9392dad53
Use use case for `User#unban`
2022-01-02 19:50:44 +01:00
Karina Kwiatek
6500d7ac71
Update usages of bans
2022-01-02 19:50:44 +01:00
Karina Kwiatek
ea62d91014
Make ban UI more intuitive when a user is already banned
2022-01-02 19:50:02 +01:00
Karina Kwiatek
9a35584284
Refactor ban-related functionality into use cases
2022-01-02 19:50:01 +01:00
Karina Kwiatek
be0cf69368
Refactor existing ban-related methods
2022-01-02 19:50:01 +01:00
Karina Kwiatek
e4241d2001
Create user ban model
...
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-01-02 19:50:01 +01:00
Karina Kwiatek
18de468198
Add inverse relationship for mute rules <-> users
2022-01-01 00:38:38 +01:00
Karina Kwiatek
00496a1596
Update remaining references to profile fields
2021-12-22 00:03:19 +01:00
Karina Kwiatek
ff410773dd
Create Profile model
2021-12-22 00:03:18 +01:00
Karina Kwiatek
7249e45989
Add tests for user_twitter_card and answer_opengraph
2021-08-06 21:38:51 +02:00
Dominik Kwiatek
aeb1396422
Add tests for recovery codes
2020-11-15 10:21:06 +01:00
Dominik Kwiatek
25410e111d
Fix OTP auth triggering for users who haven't set it up
...
I thought I could be clever by using a null secret key as an indicator of it being disabled
2020-10-18 11:39:28 +02:00
Dominik Kwiatek
141ff59f63
Implement Two Factor Authentication
2020-10-18 10:39:46 +02:00
Georg Gadinger
ea0685136e
Rename Groups to Lists
...
haha regexp go brrr
special thanks to @seatsea for helping me out with the French locales
2020-05-25 18:04:54 +02:00
Dominik M. Kwiatek
d4f8e03d28
Cropping in the background
...
With database fields, sadly.
2020-05-17 20:39:10 +01:00
Dominik M. Kwiatek
d185c54f03
Add CarrierWave Backgrounder
2020-05-17 20:38:40 +01:00