Commit Graph

2162 Commits

Author SHA1 Message Date
Karina Kwiatek 5d542161a0 Add tests for question create use case 2022-07-17 10:05:20 +02:00
Karina Kwiatek 0e9be78588 Create use case for deleting questions 2022-07-17 10:05:20 +02:00
Karina Kwiatek 72906ca549 Fix lint errors 2022-07-17 10:05:20 +02:00
Karina Kwiatek 1216c249e8 Return different responses for use case errors 2022-07-17 10:05:20 +02:00
Karina Kwiatek 22a66f4d1a Fix lint errors 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 2722f4fffb Fix comment notifications displaying escaped HTML 2022-07-17 09:40:47 +02:00
Andreas Nedbal ca2cf727e1 Require `user` param for `ListController#create` 2022-07-17 09:40:34 +02:00
Andreas Nedbal 47120e8d24 Appease the dog overlords 2022-07-17 09:40:34 +02:00
Andreas Nedbal a5b6ef07d3 Refactor `Ajax::ListController`
* remove inline authentication checks and use before_action instead
* remove begin/rescue catches as those are handled by the base controller and validations now
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 e1e45b04a3 Use double quotes instead of single quotes 2022-07-16 21:29:20 +02:00
Karina Kwiatek c59a70844b Display if a context question has been deleted when viewing anon blocks 2022-07-16 21:29:20 +02:00
Karina Kwiatek 8005fc8ae6 Skip denotify if recipient doesn't exist 2022-07-16 21:29:20 +02:00
Karina Kwiatek d9f82c4985 Disallow deletion of accounts when a data export is pending 2022-07-16 21:29:20 +02:00
Karina Kwiatek 5e633ab56e Fix invalid paths for original size images 2022-07-16 15:58:30 +02:00
Karina Kwiatek bd5ec792b7 Prevent text in links from being double-escaped 2022-07-16 15:57:32 +02:00
Georg Gadinger 572132f9e9 make captcha readable 2022-07-09 12:41:16 +02:00
Karina Kwiatek 39d55e52c8 Use `target.class.name` instead of `target.type`
This only worked for polymorphic relations
2022-07-09 01:15:31 +02:00
Karina Kwiatek 28240bba27 Properly match notification type 2022-07-09 01:15:31 +02:00
Andreas Nedbal b3f15fe409 Remove unnecessary duplicate locales 2022-07-07 16:51:05 +02:00
Andreas Nedbal a8362702e3 Localize notification page title 2022-07-07 16:51:05 +02:00
Andreas Nedbal b551b7acdb Add translations for notification navigation 2022-07-07 16:51:05 +02:00
Andreas Nedbal af327b3f08 Add translations for notification types 2022-07-07 16:51:05 +02:00
Andreas Nedbal 52218bf1d0 Add translations for navigation index page 2022-07-07 16:51:05 +02:00
Andreas Nedbal 334c30e773 Remove notification navigation bar 2022-07-07 16:51:05 +02:00
Andreas Nedbal 9fc3e535d2 Apply review suggestion from @raccube
Co-authored-by: Karina Kwiatek <6197148+raccube@users.noreply.github.com>
2022-07-06 21:54:34 +02:00
Andreas Nedbal 73ac742332 Add translations for ajax controller error handling 2022-07-06 21:54:34 +02:00
Andreas Nedbal 6d4478b7c4 Remove subscription ajax controller locales 2022-07-06 21:54:34 +02:00
Andreas Nedbal e670a50adf Add translations for report ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 9460bcfdd7 Add translations for answer ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 80172d0852 Add translations for question ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 2237ff8f04 Add translations for moderation ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal e6e7780142 Add translations for list ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 1c31ff41db Add translations for inbox ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 15946740eb Add translations for comment ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 7381a685ac Add translations for smile ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 34de119bb1 Add translations for block/relationship ajax controllers 2022-07-06 21:54:34 +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 1ec99dd767 Appease the dog overlords 2022-07-06 19:56:04 +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 19dcb96dcd Update remaining usages of `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 f20e407cc3 Fix notifications page crashing on reactions 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 be8418a1aa Use TypeScript for RailsAdmin entrypoint 2022-07-05 21:22:58 +02:00
Karina Kwiatek a2f7ea2895 Configure RailsAdmin to use webpacker 2022-07-05 21:22:58 +02:00
Andreas Nedbal 086797829e Use non-redirect route definitions for navigation states 2022-07-05 20:40:19 +02:00
Andreas Nedbal 2f6de3b36d Remove superfluous edit_security view 2022-07-05 20:40:19 +02:00
Andreas Nedbal c73f961006 Move data action views to new locations 2022-07-05 20:40:19 +02:00
Andreas Nedbal 565f7e4536 Move data action into `Settings::DataController` 2022-07-05 20:40:19 +02:00
Andreas Nedbal 9c4a934959 Move block action views to new locations 2022-07-05 20:40:19 +02:00
Andreas Nedbal 72d37032e6 Move block action into `Settings::BlocksController` 2022-07-05 20:40:19 +02:00
Andreas Nedbal 6dc0587423 Move mute action views to new locations 2022-07-05 20:40:19 +02:00
Andreas Nedbal a4bc137aca Move mute action into `Settings::MutesController` 2022-07-05 20:40:19 +02:00
Karina Kwiatek 517f2df1cc Add Lato semibold
This one gets used by Bootstrap for headings.
2022-07-03 18:55:02 +02:00
Karina Kwiatek 845e8fb3a3 Prevent navigation from appearing in print 2022-07-03 18:54:44 +02:00
Andreas Nedbal 5d9e91f90c Update app/views/tabs/_settings.haml
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-07-03 18:32:36 +02:00
Andreas Nedbal 0f63e39194 Move TOTP views to new location 2022-07-03 18:32:36 +02:00
Andreas Nedbal fcd1da40a1 Move 2FA settings actions into `OtpAuthenticationController` 2022-07-03 18:32:36 +02:00
Karina Kwiatek 022bdeb159 Add missing slash to `paperclip_path` 2022-07-03 15:07:18 +02:00
Karina Kwiatek b899c1aeb3 Order past bans newest-first 2022-07-02 17:08:44 +02:00
Karina Kwiatek 645469daa5 Correctly display time ago in ban history 2022-07-02 17:08:44 +02:00
Karina Kwiatek 32865b528d Highlight current ban 2022-07-02 17:08:44 +02:00
Karina Kwiatek c838263a2e Allow for ban history to be seen while banned 2022-07-02 17:08:44 +02:00
Karina Kwiatek 990c67baea Move unban into own view 2022-07-02 17:08:44 +02:00
Karina Kwiatek a0877b102a Create tabs for ban modal 2022-07-02 17:08:44 +02:00
Karina Kwiatek 1f3681ef50 Remove unnecessary value from reason field 2022-07-02 17:08:44 +02:00
Karina Kwiatek 5239f69081 Display duration controls on one line 2022-07-02 17:08:44 +02:00
Karina Kwiatek bb23f6b3f0 Add translations for ban modal 2022-07-02 17:08:44 +02:00
Andreas Nedbal 58d91c9c46 Improve export processing condition on index view 2022-07-02 16:36:14 +02:00
Andreas Nedbal f53aaf6091 Move and combine export settings template 2022-07-02 16:36:14 +02:00
Andreas Nedbal 2ee3aab14d Move export actions into `Settings::ExportController` 2022-07-02 16:36:14 +02:00
Karina Kwiatek 2a017c8b11 Fix upload path when not using fog with cloud storage 2022-07-02 13:00:46 +02:00
Karina Kwiatek c899e7983c Only import the weights of Lato which we use 2022-07-02 13:00:13 +02:00
Andreas Nedbal 97f28d8309 Move and combine privacy settings template 2022-06-28 23:20:11 +02:00
Andreas Nedbal 8cf6be8067 Move privacy actions from user controller to `Settings::PrivacyController` 2022-06-28 23:20:11 +02:00
Karina Kwiatek 97d8068a09 Set input types and autocomplete in profile settings 2022-06-28 23:13:30 +02:00
Karina Kwiatek 297bacf339 Remove old profile settings view 2022-06-28 23:13:30 +02:00
Karina Kwiatek 805e3504c7 Set autocomplete attributes on username & password fields 2022-06-28 23:13:30 +02:00
Karina Kwiatek 9dedf447a6 Use numeric input mode in TOTP entry 2022-06-28 23:13:30 +02:00
Karina Kwiatek 38d6a47372 Appease the dog overlords 2022-06-27 00:41:26 +02:00
Karina Kwiatek 597f8b74cb Fix everyone showing up as anonymous outside of moderation view 2022-06-27 00:41:26 +02:00
Andreas Nedbal a1ee29d826 Require being logged in to view `/settings/blocks` 2022-06-26 23:54:55 +02:00
Karina Kwiatek 93c62a3008 Fix `moderation_view?` breaking when not logged in 2022-06-26 23:41:29 +02:00
Andreas Nedbal 4d31addd0c Use proper route definitions in templates 2022-06-26 22:45:52 +02:00
Andreas Nedbal 52de0cddb0 Remove old authentication checks in `UserController` 2022-06-26 22:45:52 +02:00
Andreas Nedbal 8141db2ca7 Move profile picture actions to `Settings::ProfilePictureController` 2022-06-26 22:45:52 +02:00
Andreas Nedbal efa0048c87 WIP: Move profile actions to `Settings::ProfileController` 2022-06-26 22:45:52 +02:00
Karina Kwiatek e64f206f5b Replace `anonymous_identifier` with `author_identifier` 2022-06-26 21:07:28 +02:00
Karina Kwiatek ddd7cfd81d Pass `author_identifier` in `question/question` partial 2022-06-26 21:07:28 +02:00
Karina Kwiatek 8fb4256432 Use `content_tag` for generating markup in `unmask` method 2022-06-26 21:07:28 +02:00
Karina Kwiatek e5b8ea017c Show anon identifier in tooltip when unmasking 2022-06-26 21:07:28 +02:00
Karina Kwiatek 93f8bf35d2 Unmask author when in moderation mode 2022-06-26 21:07:28 +02:00
Karina Kwiatek 1b09d51443 Add toggle for moderation view 2022-06-26 21:07:28 +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 a533f68c65 Adjust exporter and user count to match new ban system 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 e4a00ceedc Fix ban reason being set to the banned user's username 2022-06-26 18:32:18 +02:00
Andreas Nedbal f6828a24ad Adjust form queries so selector doesn't pick delete button 2022-06-26 17:52:44 +02:00
Andreas Nedbal bafe92968d Adjust usages of route definitions 2022-06-26 17:52:44 +02:00
Andreas Nedbal 54c89d7247 More lint fixes 2022-06-26 17:52:44 +02:00
Andreas Nedbal 417eee2ddc Appease the dog overlords 2022-06-26 17:52:44 +02:00
Andreas Nedbal 8f8ebaf77b Update theme settings related TypeScript code 2022-06-26 17:52:44 +02:00
Andreas Nedbal b15aaafccd Move theme templates to new location 2022-06-26 17:52:44 +02:00
Andreas Nedbal 298c7d625e Move theme actions from `UserController` to `Settings::ThemeController` 2022-06-26 17:52:44 +02:00
Karina Kwiatek 449aa1d998 Fix profiles failing to load when the user disallows anonymous questions 2022-06-26 12:00:31 +02:00
Andreas Nedbal 2e9b3e882d Only add button classes to actions that actually are buttons 2022-06-25 15:39:30 +02:00
Andreas Nedbal 3788e492dd Add text if no user is (anonymously) blocked 2022-06-25 15:39:30 +02:00
Andreas Nedbal bc986c6624 Add translations for block settings page 2022-06-25 15:39:30 +02:00
Andreas Nedbal 936b49eef0 WIP: Add UI to manage (anonymous) blocks 2022-06-25 15:39:30 +02:00
Karina Kwiatek da71744a0d Disallow all tags in anon names 2022-06-25 10:38:06 +02:00
Karina Kwiatek 3bb48270a2 Sanitize anon names 2022-06-25 10:38:06 +02:00
Karina Kwiatek 10ead35209 Add translations for inbox moderation 2022-06-23 22:17:14 +02:00
Karina Kwiatek be8ba63b95 Add a way for moderators to view user inboxes 2022-06-23 22:17:14 +02:00
Karina Kwiatek cd581fd2b1 Move anon icon tooltip text into translatable string 2022-06-23 21:29:27 +02:00
Karina Kwiatek a2937a60e9 Add icon for anonymous questions 2022-06-23 21:29:27 +02:00
Karina Kwiatek 15052e203e Appease the dog overlords 2022-06-23 21:29:27 +02:00
Karina Kwiatek d1ad34eb9c Apply anon display name settings to question author display 2022-06-23 21:29:27 +02:00
Karina Kwiatek 768d360ce7 Add profile setting for anon display name 2022-06-23 21:29:27 +02:00
Georg Gadinger 96ccb09908 screen_name_validator: use non-deprecated syntax for adding errors to fields 2022-06-21 21:30:59 +02:00
Georg Gadinger c375775daa typoed_email_validator: add new endings to the typo list 2022-06-21 20:46:48 +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 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 1e6243c6ce Create AnonymousBlock model 2022-06-15 14:26:48 +02:00