Commit graph

368 commits

Author SHA1 Message Date
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
Karina Kwiatek
81b73d5196 Replace options hash with keyword arguments 2022-07-22 16:52:42 +02:00
Karina Kwiatek
b534dc0bb8 Fix CommentSmile notification type not being returned 2022-07-22 16:52:42 +02:00
Karina Kwiatek
6089c57a20 Appease the dog overlords 2022-07-22 16:52:42 +02:00
Karina Kwiatek
691f72d0ce Set notification type for reactions based on what the reaction is attached to 2022-07-22 16:52:42 +02:00
Karina Kwiatek
0992d44aef Filter notifications by target type 2022-07-22 16:52:42 +02:00
Karina Kwiatek
f475cd0a0b Make notifications relation polymorphic 2022-07-22 16:52:42 +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
4f88b82361 Use null-safe navigation for denotify 2022-07-17 21:21:37 +02:00
Karina Kwiatek
5d542161a0 Add tests for question create use case 2022-07-17 10:05:20 +02:00
Karina Kwiatek
d9ff4d5765 Refactor Ajax::QuestionController#create into separate UseCases
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-07-17 10:05:20 +02:00
Andreas Nedbal
47120e8d24 Appease the dog overlords 2022-07-17 09:40:34 +02:00
Andreas Nedbal
a3f80380dd Adjust validations for List 2022-07-17 09:40:34 +02:00
Karina Kwiatek
8005fc8ae6 Skip denotify if recipient doesn't exist 2022-07-16 21:29:20 +02:00
Karina Kwiatek
28240bba27 Properly match notification type 2022-07-09 01:15:31 +02:00
Karina Kwiatek
8a6a9c21ec Appease the dog overlords
These counters are legacy and will later be removed.
2022-07-06 20:58:53 +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
c0dbc7d501 Always denotify when deleting reactions 2022-07-06 20:43:01 +02:00
Karina Kwiatek
9bcf1a80ad Merge author_name with author_identifier 2022-07-06 19:56:04 +02:00
Karina Kwiatek
561946cab9 Fix issues from bad rebase 2022-07-05 23:23:37 +02:00
Karina Kwiatek
22ec4db349 Remove Smile & CommentSmile 2022-07-05 23:23:37 +02:00
Karina Kwiatek
08e5764bf3 Appease the dog overlords 2022-07-05 23:23:37 +02:00
Karina Kwiatek
5ba3fed56c Replace usage of answer in before_destroy of Reaction with parent 2022-07-05 23:23:37 +02:00
Karina Kwiatek
f9ec11a616 Use .class.name for target_type in Notification#make_notification 2022-07-05 23:23:37 +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
1e53f00032 Add migration for converting smiles to reaction appendable 2022-07-05 23:23:37 +02:00
Karina Kwiatek
544e9c8fa6 Create Appendable model 2022-07-05 23:23:37 +02:00
Karina Kwiatek
32865b528d Highlight current ban 2022-07-02 17:08:44 +02:00
Karina Kwiatek
a857887398 Appease the dog overlords 2022-06-26 18:32:18 +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
0c6d79ce0b Add permanent? method to UserBan 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
483c413796 Remove unused user relationship paginators 2022-06-18 17:50:41 +02:00
Karina Kwiatek
e404b61ec1 Sort relationship lists by relationship IDs rather than user IDs 2022-06-18 17:50:41 +02:00
Karina Kwiatek
cca8795b01 Allow anonymous questions to be returned when the user has disabled anonymous questions
Fixes #267
2022-06-15 17:49:04 +02:00
Karina Kwiatek
e660b731d7 Appease the dog overlords 2022-06-15 14:26:48 +02:00
Karina Kwiatek
4e80b4f9ab Prevent anon questions from being sent while blocked 2022-06-15 14:26:48 +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
14e84fd47c Prevent errors when asking anonymous questions 2022-06-13 16:12:06 +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
e9fa3b83b2 Fix mixed up block handling in follow method 2022-06-13 11:56:34 +02:00
Karina Kwiatek
c173c4a17d Add the ability to block/unblock users from profile pages 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
bd0a4532a5 Disallow answering questions when blocked by its 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
b4e0699e82 Fix lint errors 2022-01-23 16:48:53 +01:00
Karina Kwiatek
3962671135 Implement relationship logic as use case 2022-01-23 16:48:53 +01:00
Karina Kwiatek
d20e07ee19 Remove relationship counters in users table 2022-01-23 16:48:53 +01:00
Karina Kwiatek
ce951453a2 Make relationships polymorphic 2022-01-23 16:48:53 +01:00
Karina Kwiatek
45854894dc Upgrade to Rails 6.0 2022-01-13 21:42:06 +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
d3aaaeb12d
Double question character limit (#292) 2022-01-10 22:01:47 +01:00
Karina Kwiatek
136e2fa016
Merge pull request #272 from Retrospring/feature/social-post-tagging
Add the ability to post to services with a tag
2022-01-07 19:40:52 +01:00
Karina Kwiatek
96e48a833b
Merge pull request #194 from Retrospring/refactor/user-bans
Implement ban history
2022-01-06 14:05:33 +01:00
Karina Kwiatek
75d24db1b9
Merge pull request #269 from Retrospring/feature/mod-pagination
Pagination in moderation panel
2022-01-06 14:05:12 +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
683fffd734 Add the ability to post to services with a tag 2022-01-05 19:49:59 +01:00
Georg Gadinger
3c58257d21 remove tumblr
Resolves #274
2022-01-05 19:32:52 +01:00
Karina Kwiatek
2cab96b9af Implement cursored pagination in Moderation Panel 2022-01-03 22:43:37 +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
249438e5a8 Escape muted strings 2022-01-01 00:38:38 +01:00
Karina Kwiatek
18de468198 Add inverse relationship for mute rules <-> users 2022-01-01 00:38:38 +01:00
Karina Kwiatek
f85769eb55 Add mute rules 2022-01-01 00:38:36 +01:00
Karina Kwiatek
0da070c5ff Move includes into cursored_friends/cursored_followers 2021-12-31 15:35:02 +01:00
Karina Kwiatek
32e6975c28 Include smiles when eager loading answers 2021-12-30 23:21:46 +01:00
Karina Kwiatek
7357e92865 Eager load relationships for questions, answers and users 2021-12-30 22:15:59 +01:00
Andreas Nedbal
4529fa0d18 Fix Services::Tumblr not being able to post 2021-12-27 14:28:11 +01:00
Andreas Nedbal
7be52bb7f2 Include Rails URL helpers in Services::Twitter 2021-12-26 22:17:53 +01:00
Andreas Nedbal
ed64a0990e Move tumblr post formatting into a separate helper class 2021-12-26 22:04:46 +01:00
Andreas Nedbal
b64b039d21 Move tweet formatting into a separate helper class 2021-12-26 22:04:16 +01:00
Karina Kwiatek
053ebafbc5
Merge pull request #213 from Retrospring/refactor/profile
Move profile fields to seperate table
2021-12-25 22:44:10 +01:00
Karina Kwiatek
7f26c1fef3 Ensure elipsis character always gets added for long questions/answers 2021-12-25 22:08:06 +01:00
Karina Kwiatek
61c8208e26 Ensure tweets fit twitter's length limit 2021-12-25 13:39:35 +01:00
Karina Kwiatek
842f51d745 Replace remaining usages of user.display_name 2021-12-23 22:01:56 +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
d27ae910c2 Adjust theme-color for mobile layout 2021-08-12 00:37:47 +02:00
Karina Kwiatek
6b32bddc76 Order relationships by their creation date
Closes #115
2021-08-11 17:09:04 +02:00
Karina Kwiatek
7249e45989 Add tests for user_twitter_card and answer_opengraph 2021-08-06 21:38:51 +02:00
Dominik Kwiatek
277799ff4b Remove TotpRecoveryCode.remove_all_for(user) method 2020-11-15 22:09:27 +01:00
Dominik Kwiatek
aeb1396422 Add tests for recovery codes 2020-11-15 10:21:06 +01:00
Dominik Kwiatek
b4f479a00f Generate recovery keys on TOTP setup 2020-11-01 17:55:31 +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
Karina Kwiatek
ff9741589d Implement cropping; make uploaders DRY 2020-05-17 20:38:40 +01:00
Karina Kwiatek
783e47fc2b Replace paperclip with CarrierWave 2020-05-17 20:38:40 +01:00
Andreas Nedbal
880429f5f9 Add new fields for themes
- In the settings view
- In the model validation
- In the controller parameter permissions
- In the CoffeeScript/Ruby helpers
2020-05-05 02:02:16 +02:00
Andreas Nedbal
53979580d8 Merge branch 'master' into feature/bootstrap 2020-05-04 23:19:54 +02:00
Andreas Nedbal
02cc1c418d WIP: Initial implementation of CSS variable based theming 2020-05-03 17:28:41 +02:00
Georg Gadinger
dd5f718f31 Question: user association is optional 2020-05-01 10:17:05 +02:00
Georg Gadinger
aeef50ad78
Merge pull request #86 from Retrospring/cleanup
Minor Cleanup
2020-04-26 20:03:46 +02:00
Georg Gadinger
445d9ebe2a Fix user questions page 2020-04-23 03:31:07 +02:00
Karina Kwiatek
3aa2e5899c Remove JoJoke 2020-04-22 15:51:45 +01:00
Georg Gadinger
101b3b68d3 Use cursored pagination, remove WillPaginate 2020-04-20 23:13:24 +02:00
Dominik M. Kwiatek
516bc48aa0
Merge pull request #70 from Retrospring/feature/announcements
Implement Announcements
2020-04-19 23:10:47 +01:00
Georg Gadinger
477ec3e9c9 Do not allow creation of groups with empty names 2020-04-19 23:28:50 +02:00
Karina Kwiatek
391f4a28ed Merge branch 'master' into feature/announcements
# Conflicts:
#	db/schema.rb
2020-04-19 21:52:58 +01:00
Karina Kwiatek
b6d6c1fded Add announcements to the top of the application template 2020-04-19 21:38:21 +01:00
Georg Gadinger
946bb3ae9d Use Rolify for admin and moderator roles 2020-04-19 22:35:58 +02:00
Karina Kwiatek
2ecc746e23 Implement validation for announcements 2020-04-19 21:11:22 +01:00
Karina Kwiatek
e3b89f7346 Implement creation of announcements 2020-04-19 20:34:48 +01:00
Karina Kwiatek
8a632a09cd Create Announcement model & controller 2020-04-19 20:12:22 +01:00
Georg Gadinger
3e7497a144 Upgrade to Rails 5 2020-04-19 00:59:22 +02:00
Andreas N
7a16113295 adjust tweet length to new twitter limit 2018-04-11 21:26:58 +02:00
Georg G
39c79287e2 ing hell 2016-01-05 21:50:21 +01:00
Georg G
78b34ef6f9 c and k 2016-01-05 21:48:30 +01:00
Georg G
2ad1c4294d u 2016-01-05 21:38:36 +01:00
Georg G
2d20aa8dae f 2016-01-05 21:35:10 +01:00
Georg G
615d7152d2 fuck logic 2016-01-05 21:06:52 +01:00
Georg G
bf64a59649 added User#can_export? 2016-01-05 20:54:13 +01:00
Yuki
71caf3cce5 Several changes to theming, solving a bunch of bugs 2015-08-27 05:30:26 +05:30
Yuki
010d0a327e i'm about to give up 2015-08-26 02:26:47 +05:30
Yuki
cc8e2448eb probably shouldn't do this 2015-08-26 01:44:17 +05:30
Yuki
9daa8a7ab3 T -> t 2015-08-26 01:43:08 +05:30
Yuki
cd6c746e4d paperclip is dead to me 2015-08-26 01:41:30 +05:30
Yuki
ad8506ee5f fix css content type 2015-08-26 01:24:07 +05:30
Yuki
370d66105f wildcard content 2015-08-26 01:14:36 +05:30
Yuki
1ad2a60c5d => death 2015-08-26 01:06:51 +05:30
Yuki
741bee22a0 text/css 2015-08-26 01:05:56 +05:30
Yuki
18d4cf116f -- 2015-08-26 01:04:40 +05:30
Yuki
c5ad288da4 S3 headers 2015-08-26 01:04:29 +05:30
Yuki
d6610829f8 Badumdum 2015-08-26 01:03:57 +05:30
Yuki
906692e78f Theming is finished
Previews, settings pane and presets!
2015-08-25 23:57:06 +05:30
Yuki
1912fc3766 Model goop
also made the theme selection logic for user profiles and current user, and the saving logic
2015-08-25 13:56:36 +05:30
pixeldesu
5366c3c748 add fake mail validation 2015-07-21 22:44:14 +02:00
pixeldesu
aabbd9fb8c add :confirmable to users + migration / letter_opener for local email confirmations 2015-07-21 17:55:28 +02:00
Yuki
94e2dbc5ad Only allow JPG, PNG and GIF for profile pictures, and only allow JPG and PNG for profile headers 2015-05-10 10:08:06 +05:30
Yuki
2e6ffdaab7 basic implementation 2015-05-08 21:14:16 +05:30