This PR implements the async vomit-reaction functionality using StimulusJS. Prior to this, the JS lived in `_abuse-reports.html.erb`.
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
* Work in Progress
* Time for Refactoring
* WIP Implementation, still lacking tests
* Incorporate PR feedback from team
* Working now
* Add specs specific to JSON being returned by "update" action
* Refactors and Bug-Fixes from PR review
* Break feedback_messages view into partials
* Standardize capitalization
* Add visual cues for banned and vommitted users
* Use helper methods to construct urls
* Rename vomitted? to vomitted_on?
vomitted_on? is a slightly more clear method name. This change takes
Rhymes' suggestion to use the AR method exists? over where(...).exists?
Just a quick fix to filter banned users out of the vomit reaction lists,
we are doing essentially the same thing for unpublished articles. It
might worth handling this at the controller level if we experience any
performance issues.
Because confirming a User vomit is a particularly destructive task, we
want to make it a bit more intentional. Ben recommended adding a confirm
dialog for these reports.
This commit also satisfies erblint's complaints regarding the select
element in the ransack search form.
* Add gem Ransack 2.3.0
* Add sorting and search to internal/reports
The UI here should probably be revisited sooner or later, I feel like
the vomit reactions might even need to be moved to their own view.
* Add system spec for internal reports search
* Remove filter for report_type
If content is unpublished it shouldn't be immediately necessary for
negative reactions to be acted on.
There is a higher touch solution here, but I'm not sure it's warranted.
* Fixed HTML errors in /app/views/additional_content_boxes
* Fixed indentation
* Fixed linting error in /app/views/comments
* Fixed indentation in /app/views/html_variants
* Fixed HTML errors + Fixed indentation in /app/views/internal
* Fixed HTML errors + Fixed indentation in /app/views/layouts
* Fixed indentation in /app/views/mailers
* Fixed indentation in /app/views/moderations
* Fixed HTML errors + Fixed indentation in /app/views/notifications
* Fixed HTML errors in /app/views/pages
* Fixed HTML errors + Fixed indentation in /app/views/social_previews
* Fixed indentation in /app/views/stories
* Fixed indentation in /app/views/stripe_subscriptions
* Fixed indentation in /app/views/tags
* Fixed indentation in /app/views/users
* Add registration view to sign_in page
* Add better sad path for failed sign ins/ups
* Ensure email is downcased for authorization
* Remove .downcase for emails
* Use partial for styles
* Fix repeated queries for reports
* Load stylesheet once by moving into index
* Remove unused method
* Remove unused code again and update method
* Use better name for migration and add indices
* Use latest schema version oops
* Add missing column to query
* Remove extraneous string conversion
* Add slack message for new notes
* Move status and minimize buttons to the bottom
* Add note model spec
* Remove extraneous param for reported links
* Fix weird breakpoint top-nav issue
* Fix error handling when submitting blank note
* Change status closed to invalid
* Add ability to sort between status
* WIP
* Add working views for new report page
* Add mailer WIP
* Add MVP of new reports system
* Move collapse to the right & add show page link
* Fix buttons for index page
* Change collapse to collapse/expand
* Remove email functionality from new report
* Update copy of report abuse responses
* WIP of showing emails in reports
* Fix notes for user_role_service.rb
* Remove unused scripts from internal.html.erb
* Update tests for reports dashboard
* Add missing migration file
* Add finishing touches to reports dashboard
* Remove deprecated methods
* Update view with better timestamps
* Update and write new tests
* Add .codeclimate.yml
* Remove commented out editor thing
* Undo commented out code for recaptcha method
* Undo comment out code for development
* Use new comment path instead of old comment path
* Move validations from controller to model
* Add new columns to feedback message model
* Use polymorphic notes relationship
* MVP of ticketing system
* Use new URL for reported_url param
* Add missing files
* Add validations and tests for feedback_messages
* Clean up some html
* Update create spec and add update spec
* Add mail tests and lint
* Add link to user profile