Commit Graph

453 Commits

Author SHA1 Message Date
Andreas Nedbal 936b49eef0 WIP: Add UI to manage (anonymous) blocks 2022-06-25 15:39:30 +02:00
Karina Kwiatek be8ba63b95 Add a way for moderators to view user inboxes 2022-06-23 22:17:14 +02:00
Karina Kwiatek 768d360ce7 Add profile setting for anon display name 2022-06-23 21:29:27 +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 41e476a2f7 Prevent other user's anon blocks from affecting each other 2022-06-15 14:26:48 +02:00
Karina Kwiatek abd07373e3 Fix double-hashing in `Ajax::AnonymousBlockController#create` 2022-06-15 14:26:48 +02:00
Karina Kwiatek e660b731d7 Appease the dog overlords 2022-06-15 14:26:48 +02:00
Karina Kwiatek 7e98f427c6 Add endpoint for removing anon blocks 2022-06-15 14:26:48 +02:00
Karina Kwiatek f379845615 Add frontend for blocking anonymous users 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 1a68c1b46f Rename `author_email` field to `author_identifier` 2022-06-15 14:26:48 +02:00
Karina Kwiatek 37732ff926 Expose `AjaxController` errors in dev envirnoments 2022-06-13 23:27:54 +02:00
Karina Kwiatek c8b6689a61 Fix error messages for reacting & listing errors 2022-06-13 11:56:34 +02:00
Karina Kwiatek 6a15a323cf Add tests for reacting to comments while blocked/blocking 2022-06-13 11:56:34 +02:00
Karina Kwiatek 0eb3f53b45 Add tests for asking questions while blocked 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 ea3bbcef17 Update question controller block handling to account for users not being logged in 2022-06-13 11:56:34 +02:00
Karina Kwiatek febbee1306 Simplify error handling in answer create method
We were previously catching all exceptions when creating the answer and returning a generic error.
As exception handling is done in `AjaxController`, we don't need to do this and can get more specific error messages instead.
2022-06-13 11:56:34 +02:00
Karina Kwiatek 14dfef6a52 Add status messages for blocking/unblocking users 2022-06-13 11:56:34 +02:00
Karina Kwiatek d67ae1eb19 Only accept users to relationship use cases
Dry Types was having issues with taking either an object or string so it's easier to deal with just passing in an object directly
2022-06-13 11:56:34 +02:00
Karina Kwiatek 56799f60c7 Disallow adding blocked users to lists 2022-06-13 11:56:34 +02:00
Karina Kwiatek 9f06b48569 Disallow creating questions when blocked by the user being asked 2022-06-13 11:56:34 +02:00
Andreas Nedbal bf0ac3c4e3 Add translations for inbox controller 2022-04-25 19:40:23 +02:00
Andreas Nedbal a768d09862 Count users that only answer questions as active 2022-04-17 22:58:42 +02:00
Andreas Nedbal 583a3ba519 Remove `user#lists` action, view and route 2022-04-15 21:32:14 +02:00
Andreas Nedbal cf5d1d6e69 Remove token validation skip in ServicesController 2022-04-12 22:31:05 +02:00
Andreas Nedbal 6541442098 Add translations for privacy settings flashes 2022-02-20 21:20:57 +01:00
Andreas Nedbal 79dbf7d1c8 Add translations for mute rule controller actions 2022-02-18 12:50:27 +01:00
Andreas Nedbal 1a829f5e47 Fix hound nits 2022-02-13 23:41:50 +01:00
Andreas Nedbal 9899f05560 Add info flash translation for used recovery key 2022-02-13 23:41:50 +01:00
Andreas Nedbal 075614c5d7 Add translations for 2FA controllers and actions 2022-02-13 23:41:50 +01:00
Andreas Nedbal 3a718a7e88
Merge branch 'main' into refactor/export-locales 2022-02-13 16:55:19 +01:00
Andreas Nedbal 61edaa5bcd Fix hound nits 2022-02-13 16:53:42 +01:00
Andreas Nedbal 555636577e Translate theme update success/error flashes 2022-02-13 16:53:42 +01:00
Andreas Nedbal 0119437170 Add translations for user export 2022-02-13 02:26:15 +01:00
Andreas Nedbal 64601e7e8a Add translations for `UserController#update(_profile)` 2022-01-30 21:20:59 +01:00
Andreas Nedbal a05248fb13 Fix Ruby codestyle in `ServicesController` 2022-01-29 20:08:41 +01:00
Andreas Nedbal 592de78a4f Add translations for `ServicesController` 2022-01-29 20:08:41 +01:00
Andreas Nedbal c08545fe7c Fix typo 2022-01-25 22:31:25 +01:00
Andreas Nedbal ac83995dfc Add controller-scoped locales for `AnnouncementController` 2022-01-25 22:31:25 +01:00
Andreas Nedbal 8d73008ebf Address review suggestions 2022-01-24 20:13:09 +01:00
Andreas Nedbal fb812d4f36 Appease the mighty dog overlords (fix Ruby code nits) 2022-01-24 20:13:09 +01:00
Andreas Nedbal ad60e3c753 Disable locale switching logic 2022-01-24 20:13:09 +01:00
Karina Kwiatek 3b1287c424 Apply suggestions from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-01-23 16:48:53 +01:00
Karina Kwiatek 731ee4bf69 Address review comments from @nilsding 2022-01-23 16:48:53 +01:00
Karina Kwiatek 677ce26e6c Use generic handling of our own exceptions
Noticed that we shouldn't be trying to catch specific exceptions as `Dry::Types` will throw its own exceptions for validation errors.
2022-01-23 16:48:53 +01:00
Karina Kwiatek 29d46b43db Fix lint error; use fail message for relationship create failures 2022-01-23 16:48:53 +01:00
Karina Kwiatek 8d59ef9398 Use `screen_name` instead of `target_user` param in `Ajax::RelationshipController` 2022-01-23 16:48:53 +01:00
Karina Kwiatek b4e0699e82 Fix lint errors 2022-01-23 16:48:53 +01:00
Karina Kwiatek 0ab822c33a Use full translation key for messages 2022-01-23 16:48:53 +01:00
Karina Kwiatek d609435f7c Update `Ajax::RelationshipController` to use usernames; Test Use Case 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 ce951453a2 Make relationships polymorphic 2022-01-23 16:48:53 +01:00
Andreas Nedbal d56dfc02f9 Move consent POST-logic to separate action 2022-01-22 22:50:32 +01:00
Andreas Nedbal 3711c676da Fix Ruby codestyle 2022-01-22 22:50:32 +01:00
Andreas Nedbal 4d4296de19 Redirect away from consent action if consent is already given 2022-01-22 22:50:32 +01:00
Andreas Nedbal 0b76ceb73d WIP: Canny integration 2022-01-22 22:50:32 +01:00
Karina Kwiatek 45854894dc Upgrade to Rails 6.0 2022-01-13 21:42:06 +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 ac92a8b6bd Use `String#tr` instead of `String#gsub` 2022-01-05 20:09:34 +01:00
Karina Kwiatek 023b642bc1 Disallow @ symbols from post tags
Co-authored-by: Andreas Nedbal <git@pixelde.su>
2022-01-05 19:50:01 +01:00
Karina Kwiatek 683fffd734 Add the ability to post to services with a tag 2022-01-05 19:49:59 +01:00
Andreas Nedbal 7fcb8312b9 Put `/settings/muted` behind authentication 2022-01-04 01:35:14 +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 6500d7ac71 Update usages of bans 2022-01-02 19:50:44 +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 b7ce9cdbba
Merge pull request #222 from Retrospring/feature/muting 2022-01-02 15:31:49 +01:00
Karina Kwiatek 6b626765a8 Create views for managing muted words 2022-01-02 01:55:52 +01:00
Karina Kwiatek 9ce1fc0ce4 Address review comments from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-01-01 22:10:13 +01:00
Karina Kwiatek fe6dff8ed6 Improve error messaging when trying to attach a service connected to another account 2022-01-01 21:58:22 +01:00
Karina Kwiatek 6c0e6b1d30 Create mute rules AJAX controller 2022-01-01 00:38:38 +01:00
Karina Kwiatek c31ab3578d Apply mute filters to questions asked directly 2022-01-01 00:38:38 +01:00
Andreas Nedbal 09172a56ef Add linkfilter action 2021-12-31 22:40:38 +01:00
Karina Kwiatek 0da070c5ff Move includes into `cursored_friends`/`cursored_followers` 2021-12-31 15:35:02 +01:00
Karina Kwiatek 7e57735b88 Add basic test for answer & user show views 2021-12-31 13:59:15 +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 dcc781df3d Put all security related actions behind authentication 2021-12-29 22:35:17 +01:00
Karina Kwiatek 1b4aa8600d Set Sentry user context 2021-12-28 19:19:27 +01:00
Karina Kwiatek 065e56ccf1 Replace New Relic with Sentry 2021-12-28 18:32:03 +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 f28f714457 Allow retries for ShareWorker 2021-12-25 13:40:21 +01:00
Karina Kwiatek 8fa4feb469 Add endpoint for updating profile 2021-12-22 00:03:19 +01:00
Andreas Nedbal 58588d22b1 use .where.not instead of in-query condition for user confirm date 2021-10-03 20:49:33 +02:00
Andreas Nedbal 6639f6646a only count active users on about page 2021-10-03 20:40:25 +02:00
Karina Kwiatek 56786ebb38 Add direct field to questions
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2021-08-11 16:56:58 +02:00
Dominik Kwiatek 2e6f49819a Address @nilsding's review comments 2020-11-15 22:08:18 +01:00
Dominik Kwiatek aeb1396422 Add tests for recovery codes 2020-11-15 10:21:06 +01:00
Dominik Kwiatek e16896fac1 Provide the user a way to generate new codes. 2020-11-01 18:52:42 +01:00
Dominik Kwiatek 61d82bdbec Display count of remaining recovery codes 2020-11-01 18:41:37 +01:00
Dominik Kwiatek 5eb4f32660 Clean up after TOTP is disabled. 2020-11-01 18:31:20 +01:00
Dominik Kwiatek 5dd920eba2 Allow recovery codes to be used to sign in in place of a OTP 2020-11-01 18:29:11 +01:00
Dominik Kwiatek b4f479a00f Generate recovery keys on TOTP setup 2020-11-01 17:55:31 +01:00
Dominik Kwiatek d20f527d8c Add drift period 2020-10-24 00:24:04 +02:00
Dominik Kwiatek 0f80bcef14 Remove I18n. prefix 2020-10-23 21:01:00 +02:00
Dominik Kwiatek 702156258c Remove user/sessions#two_factor_entry 2020-10-23 21:00:06 +02:00
Dominik Kwiatek 66cccbb5d6 Use the same string for 2FA failures 2020-10-23 20:58:42 +02:00
Dominik Kwiatek d7a1750694 Implement @nilsding's review changes 2020-10-23 20:45:06 +02:00
Dominik Kwiatek 556050aa66 Add tests for security settings page 2020-10-21 13:44:00 +02:00
Dominik Kwiatek 3211f8f59b Make OTP secret longer 2020-10-19 20:25:18 +02:00
Dominik Kwiatek 433f1d45e5 Use controller for setting up QR Code 2020-10-19 14:56:13 +02:00
Dominik Kwiatek 00da21a13d Redirect away from two factor entry page if no target user is set in session 2020-10-19 12:20:44 +02:00
Dominik Kwiatek 4ce5dfc92a Fix detaching, improve UI for attaching 2FA 2020-10-18 19:48:12 +02: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
Dominik M. Kwiatek a92dd54be3 Address @nilsding's review comments 2020-05-27 20:07:39 +01:00
Dominik M. Kwiatek 984976a2f7 Omit hCaptcha if it is disabled 2020-05-27 20:07:39 +01:00
Dominik M. Kwiatek 7cac93ad4e Add hCaptcha 2020-05-27 20:07:39 +01:00
Georg Gadinger b58883e004 Remove "ask a group" feature 2020-05-25 18:34:43 +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
Karina Kwiatek ff9741589d Implement cropping; make uploaders DRY 2020-05-17 20:38:40 +01:00
Georg Gadinger 9b4c8027b8 Fix pagination for ajax views 2020-05-09 04:39:09 +02:00
Andreas Nedbal 928eeb28f3 Redirect user to edit_user_theme_path after deletion 2020-05-06 22:19:30 +02: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 e7c5b1a4a3 Remove theme preview route and logic 2020-05-04 17:26:38 +02:00
Georg Gadinger 0109322610 add spec for Ajax::ModerationController 2020-05-01 22:41:26 +02:00
Georg Gadinger 3e95d5ebeb add spec for Ajax::ReportController 2020-05-01 10:17:05 +02:00
Georg Gadinger 6f3f3afa2f add spec for Ajax::GroupController 2020-05-01 10:17:05 +02:00
Georg Gadinger 54532c71e1 add spec for Ajax::QuestionController
also fix some minor annoyances
2020-05-01 10:17:05 +02:00
Georg Gadinger 1824fb1c25 add spec for Ajax::InboxController 2020-05-01 10:17:05 +02:00
Georg Gadinger d492cd34f6 AjaxController: also rescue from StandardError 2020-05-01 10:17:05 +02:00
Andreas Nedbal 91a7f7ed33 Fix wrong partial in Ajax::CommentController#create 2020-04-29 14:01:48 +02:00
Andreas Nedbal b22c7d358c Fix wrong partial path in Ajax::AnswerController#create 2020-04-29 13:33:53 +02:00
Andreas Nedbal 45b11bddfd Merge branch 'master' into feature/bootstrap 2020-04-29 02:49:07 +02:00
Georg Gadinger 29a5d0408c ajax_controller: fix variable name 2020-04-28 21:42:41 +02:00
Georg Gadinger 2f2b9ab1f4 New Relic be like: *notices your errors* OwO what's this? 2020-04-28 20:32:36 +02:00
Georg Gadinger e07d069c73 Refactor Ajax::*Controllers
Also removed the unused `Ajax::QuestionController#preview` method and
route
2020-04-28 20:28:00 +02:00
Andreas Nedbal e9e0a222b0 Merge branch 'master' into feature/bootstrap 2020-04-27 02:11:54 +02:00
Georg Gadinger aeef50ad78
Merge pull request #86 from Retrospring/cleanup
Minor Cleanup
2020-04-26 20:03:46 +02:00
Karina Kwiatek 926631eca3 Remove more left-over references to role fields 2020-04-25 22:23:37 +01:00
Karina Kwiatek f42cc6aed9 Remove all other references to removed roles 2020-04-25 21:20:02 +01:00
Andreas Nedbal 96309eb8ba Move all modals into shared views/modal directory 2020-04-25 15:16:45 +02:00
Georg Gadinger 445d9ebe2a Fix user questions page 2020-04-23 03:31:07 +02:00
Georg Gadinger 101b3b68d3 Use cursored pagination, remove WillPaginate 2020-04-20 23:13:24 +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 a505e7ee71 Ensure we're logged in as an admin when using the AnnouncementController 2020-04-19 21:45:07 +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 473f2cdcc5 Show announcement validation errors on the frontend 2020-04-19 21:26:55 +01:00
Karina Kwiatek 6187cb0b6c Add the ability to edit announcements 2020-04-19 20:58:57 +01:00
Karina Kwiatek f14a168bce Implement deletion of announcements 2020-04-19 20:50:33 +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 8b129bbbf4 Fix moderation panel. 2020-04-19 18:33:20 +02:00