Commit graph

232 commits

Author SHA1 Message Date
rhymes
f1ec04a0c9
Rubocop: move dot in multi-line calls to leading position (#9262) 2020-07-16 15:51:11 +02:00
Ben Halpern
da6a6739e5
[deploy] Invite users to join and create password (#9294)
* Initial invitation work

* Add more invitation code

* Add proper registration page

* Fix up tests

* Fix failings

* Fix spec

* Add self-serve auth config

* Add registered condition

* Change profile image call and registered_at test

* Change comment

* Fix copy test

* Stub emojipedia

* Linting

* Add registered at to factory

* Ensure registered for user tag

* Update app/views/internal/invitations/index.html.erb

Co-authored-by: Michael Kohl <citizen428@dev.to>

* Update app/controllers/internal/invitations_controller.rb

Co-authored-by: Michael Kohl <citizen428@dev.to>

* Slight changes

* Update recover password flow

* Update app/views/internal/invitations/index.html.erb

Co-authored-by: Michael Kohl <citizen428@dev.to>

* Update app/controllers/internal/invitations_controller.rb

Co-authored-by: Michael Kohl <citizen428@dev.to>

* Update db/schema.rb

Co-authored-by: Michael Kohl <citizen428@dev.to>
2020-07-15 11:37:19 -04:00
rhymes
5b62811c98
[deploy] Rubocop: fix violations of Layout/LineLength (#9197) 2020-07-08 08:36:36 -05:00
Alex
1890f393a2
[deploy] Add subscriber_email to user_subscriptions & more backend updates (#8723)
* Add migrations for subscriber_email column

* Add new schema

* Update relationships, specs, and factory

* Use unless index_exists? over if !index_exists?

* Fix typo in last fix for migration

* Rename authored_user_subscriptions

- to source_authored_user_subcriptions

* Add factory methods and specs

- UserSubscription.make
- UserSubscription.make_new
- Article.new_user_subscription
- Article.create_user_subscription

* Remove self and &

* Change make_new to build

* new_user_subscription --> build_user_subscription

* Come on, Travis
2020-06-18 14:40:08 -04:00
rhymes
2fff21f652
Add email panel to settings/account (#8727)
* Use crayons

* Add spec for Identity.email

* Refactor panels and ifs

* Update app/views/users/_account_providers_emails.html.erb

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>

* Update app/views/users/_account_providers_emails.html.erb

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>

* Update app/views/users/_account_providers_emails.html.erb

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
2020-06-18 13:08:46 +02:00
rhymes
c753375daa
Routine rubocop fixes (#8685)
* rubocop -a

* rubocop --auto-gen-config

* Fix spec
2020-06-16 11:09:15 +02:00
rhymes
380adc30ed
[deploy] Remove user_counters table (#8445) 2020-06-15 11:46:02 -04:00
Alex
6af063eebf
[deploy] Email signups liquid tag backend (#8375)
* Backend MVP

- Migration
- Model
- Associations

* Add factory, spec, and validations

- Add unqiue index for validations

* Fix specs

* Add author to email_subscriptions

* Add user association to set_author_id

* Add clarifying comment to set_author_id

* Writing is hard sometimes

* Rename email_subscriptions to subscription_sources

* UserSubscription and user_subscription_sourceable

* subscribers --> sourced_subscribers

* Add comment to explain UserSubscription model
2020-06-15 09:33:34 -04:00
Molly Struve
8e0828d86b
[deploy] Optimization: Remove Unused Fields From Async user_data, optimize a couple other methods (#8173) 2020-05-31 13:21:32 -05:00
Michael Kohl
7f75f99560
[deploy] Rename classified listings (#7910)
* Change models and related files

* Update controllers and specs

* More renaming

* Seek and destroy, I mean search and replace

* Round up the stragglers

* Ground control to Major Travis...

* More fixes

* PR feedback

* Various fixes

* Rename view

* Fix list query builder

* Unify request specs

* Fix some API spec errors

* Fix remaining API specs

* Make spec conform to API

* Fix leftover problems

* Fix JS tests

* Fix column name in select

* Fix API specs

* Fix search specs

* Paging Mr. Travis
2020-05-27 13:35:09 +00:00
Josh Puetz
1a1b5b544e
Add Feature Flags support to DEV (#7996)
* Create tables for Flipper gem

* Enable Flipper gem

* Remove concurrent ruby from Gemfile

* Add Flipper UI

* Codeland landing page

* Remove codeland controller and sample page

* Remove oops

* Rename Flipper-UI endpoint

* Wrap Flipper in a FeatureFlag module

* [deploy] Lock node to 12.16 (#8057)

Co-authored-by: Mac Siri <krairit.siri@gmail.com>
2020-05-26 15:26:33 -05:00
Andy Zhao
c42fd3461e
[deploy] Rename positive_reactions_count to public_reactions_count in logic (#7926)
* Rename positive_reactions_count to public_reactions_count

* Add positive reactions count back in so we can remove it

* Use public_category method for reactions

* Add positive_reactions_count in case any old caches rely on it

* Add positive_rxn_count to account for API endpoints

* Remove unused method

* One more spot...

* Add method back in because of caches

* Update specs to match new functionality

* Fix typo

* Remove unused methods
2020-05-26 12:36:28 -04:00
Molly Struve
76da5a7a66
Remove ProMembership Models (#7989) 2020-05-21 12:04:41 +02:00
Molly Struve
16161bfcae
[deploy] Keep Pro Membership Relation Until AR Cache's expire (#7986) 2020-05-20 12:45:04 -05:00
Andy Zhao
e686d63d78
[deploy] Add public reactions count fields to Elasticsearch (#7956)
* Add public_reactions_count field to elasticsearch

* Add new data update scripts and update old ones

* Use BulkIndexWorker to batch indexing

* Use proper search class for handling feed content

* Remove redundant script oops

* Rename data update script and remove old specs

* Combine specs into one file
2020-05-20 13:06:48 -04:00
Molly Struve
1c461f8891
[deploy] Remove Unused Pro Memberships (#7894) 2020-05-20 11:54:30 -05:00
Mac Siri
2bc06501b5
Resourcify User model (#7966) 2020-05-19 17:15:19 -04:00
rhymes
df4681a114
Remove destroy_empty_dm_channels callback (#7911) 2020-05-19 12:44:31 +02:00
Molly Struve
548fd21768
[deploy] Limit the User Updates (#7892) 2020-05-18 11:13:38 -05:00
Molly Struve
d1e39a7dba
[deploy] Rate Limit Feedback Message Creation (#7832) 2020-05-14 12:00:22 -05:00
rhymes
81fff248dd
Refactoring GitHub Repos functionality - step 1 (#7764)
* Rename find_or_create to upsert and improve validation and testing

* Add User.authenticated_through?

* Refactor settings/integrations

* Refactor profile github repositories rendering

* Refactor repos fetching

* Only fetch a single repo and improve error messages

* Remove unused code

* Cleanups

* Fix specs

* Remove trailing whitespace

* Fix spec

* Trigger Travis
2020-05-12 13:48:19 +02:00
Molly Struve
625ff37398
[deploy] Only Throttle Confirmation Emails for Existing Users (#7780) 2020-05-11 16:07:39 -05:00
Molly Struve
96aefa873a
[deploy] Limit User Email Changes (#7746) 2020-05-11 10:42:37 -05:00
Michael Kohl
79f1f5f0c8
Change string concatenation to interpolation (#7680)
* Change string concatenation to interpolation

* Replace more concatenation with interpolation

* Add forgotten interpolation
2020-05-06 17:13:10 +02:00
rhymes
7ebd95f193
Upgrade field_test to 0.3.2 (#7592)
* Make sure tests are testing the right thing

* Upgrade gem field_test to 0.3.2

* Fix things

* Add test

* Fix typo
2020-04-30 18:43:30 -04:00
Molly Struve
67a1109f6b
Remove redundant user method from User Model (#7599) 2020-04-30 11:03:10 +02:00
Yechiel Kalmenson
131d11aa73
[deploy] Add optional fields to user (#7246)
* add optional fields to user

- this provides the back-end implementation for #2365

* fix mistakes in schema.rb

* renamed OptionalField to userOptionalField

* rename field column in user_optional_fields to label

* add uniqueness validation on user_optional_field labels

* scope flag uniqueness to user_id

* add indexing on label in user_optional_fields

* add optional fields to user

- this provides the back-end implementation for #2365

* fix mistakes in schema.rb

* add index on user_id for user_optional_fields

* Remove duplicate model

* Fix schema

* Re-add past indexes

* Remove old index

* Remove another old index

* add `null:false` to columns in optional fields

* add `null: false` to the migration

- Updated test to account for the null constraint

* add null:false to user_id on user_optional_tables

Co-authored-by: rhymes <rhymesete@gmail.com>
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
2020-04-28 15:42:41 -04:00
Rafi
bdcfba7d70
[deploy] Saving youtube url (#7516)
* Saving youtube url

* Fixing description in the spec

* Optimizing youtube logo svg

* Fixing indentation of form
2020-04-27 14:14:07 -04:00
rhymes
1c3b619583
[deploy] Fix settings billing section and other profile improvements (#7525)
* Truncate displayed username length to max length

* Better error notice

* Fix broken billing Stripe functionality

* Display server side credits purchasing errors

* Be explicit in the name of the partial

* Full name
2020-04-27 16:59:03 +02:00
Molly Struve
a7e664fc9c
[deploy] Remove Algolia from User Model (#7454)
* Remove Algolia from User Model

* check banned on self for user

* fine have your redundant method

* remove a couple more unnecessary specs
2020-04-24 18:39:36 -04:00
Andy Zhao
f5ec83653c
[deploy] Finalize and add response templates feature (#7068) 2020-04-16 15:53:29 -04:00
rhymes
0a6be8b967
[deploy] Improve some validations (#7335)
* Validations

* Fix specs

* Revert twitter tag change
2020-04-16 18:59:12 +02:00
rhymes
f5166e28a8
Nullify audit logs on users delete (#7275)
* Nullify audit logs on users delete

* Fix specs

* Set user as optional and test moderator audit log page

* Fix spec
2020-04-15 18:26:16 +02:00
Molly Struve
b10668a454
[deploy] Create a Bulk Index Elasticsearch Worker (#7265) 2020-04-15 09:08:59 -05:00
rhymes
24f44713cb
[deploy] Remove unused columns from users (#7131)
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
2020-04-07 11:13:20 -04:00
Vaidehi Joshi
b72fc4c9f8
Remove variants from backend portion of onboarding (#7118) [deploy]
* Remove variants from backend portion of onboarding

Since we're no longer using variants in onboarding, we don't need this code anymore!

* Ignore unused column on user, onboarding_variant_version
2020-04-06 16:30:11 -07:00
Molly Struve
44d0be9c76
[deploy] Setup User Elasticsearch Doc Syncing (#7049)
* sync related Elasticsearch docs when a user is updated

* check for changes in all user nested keys

* put user fields into a constant for easy access
2020-04-03 10:07:32 -04:00
Vaidehi Joshi
a3d12e03a3
Add set_up_profile notification, check for active broadcasts (#7054) [deploy]
* Replace current onboarding notification with set_up_profile welcome notification

Also ensure that only "active" set_up_profile welcome notification is sent, and that "inactive" ones are ignored.

* Notify only if broadcast active, log error if broadcast not found

* Reports to Honeybadger if an active broadcast cannot be found

* Reorganize order of generator specs

* Ensure welcome_broadcast can be written to in spec

* Remove redundant spec
2020-04-02 15:56:29 -07:00
Molly Struve
0d3bde3452
[deploy] Index User Roles to use to Filter out banned users (#7014) 2020-04-02 14:11:33 -05:00
rhymes
b34c2d62be
Ignore unused users columns (#6954) [deploy] 2020-04-01 10:11:40 +02:00
Mac Siri
95f18b4592
Create alias for User's welcome_notification (#6991) 2020-03-31 20:22:55 -04:00
Jacob Herrington
38d56542eb
[deploy] Moderator and admin actions log (#6797)
* Add audit logging for negative reactions

This change saves requests that create negative reactions to the audit
log. We need to be monitoring admin and moderator actions throughout the
app to increase visiblity on how our tools are being used and identify
abuse.

Additionally, this will help east concerns about giving elevated users
more powerful tools.

* Add a basic UI for moderator audit logs

* Log experience level ratings

* Log tag adjustments

* UI tweaks for moderator actions log

* Add logging to internal reactions controller

* Add logging for admin actions on users and articles

* Add searching to the moderator actions table

* Move audit instrumentation out of concern

We are able to use a PORO here instead of using a Rails concern. Moving
this also makes syntax to audit something quite a bit more explicit and
obvious to future developers

* Change moderator logs pagination page length

* Move auditing to after action filters

* Add moderator actions to the internal navbar

* Add request spec for internal moderator actions

* Use request params to populate AuditLog slug
2020-03-26 16:59:24 -05:00
rhymes
a333da23d1
Move dev/mascot account to class methods (#6694) 2020-03-18 14:42:40 +01:00
Jacob Herrington
19b91129d8
Denote previously reported and suspended users in vomit reactions (#6619) [deploy]
* 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?
2020-03-16 18:22:00 -04:00
Andy Zhao
d08f830d86
Add response templates model and table (#6615)
* Add response templates model and table

* Add missing factory oops

* Remove response templates on delete

* Remove moderator_id column from comments for now

* Use constants and add spec for response templates
2020-03-16 09:52:03 +07:00
Michael Kohl
02f86fedd7
Allow admins to delete users without emails (#6530) [deploy]
* Allow admins to delete users without emails

* Guard against blank email addresses
2020-03-10 22:20:36 +01:00
Vaidehi Joshi
99c87d7a17
Replace WELCOMING_USER_ID with mascot_user_id (#6484) [deploy]
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>

Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
2020-03-09 08:08:53 -07:00
Andy Zhao
478d1b36a5
Hide banished users vomit confirmations and delete vomit reactions on banish (#6507) [deploy]
* Update to hide only banished users

* Refactor and move into a model method

* Delete vomits on banished users

* Add tests for banishing users
2020-03-06 15:35:30 -05:00
Molly Struve
731b89ca26
Index users into elasticsearch (#6489) [deploy] 2020-03-06 14:12:02 -05:00
Molly Struve
039ac2e856
Remove Shipping Fields from Users (#6477) [deploy] 2020-03-05 13:41:09 -05:00