Commit graph

2358 commits

Author SHA1 Message Date
Alex
17b2ff63f2
Cleanup bust_user (#12066) 2020-12-30 10:07:42 -05:00
Julianna Tetreault
6b0626a5e2
Adds collective_noun Fields Back to SiteConfig Model (#12055) [deploy]
* Adds collective_noun and collective_noun_disabled back to SiteConfig model

* Adds a script that appends collective_noun conditionally and matching spec

* Adds a conditional to determine if collective_noun should be appended

* Refactors data_update script logic to be cleaner

* Refactors spec to use method stubs

* Adds a comment to the SiteConfig model about collective_noun fields

* Adds an additional check to the scripts return statement
2020-12-29 15:03:52 -07:00
Ben Halpern
183a672113
Create tag model if config updated (#12026)
* Create tag model if config updated

* Guard unless tags are part of request
2020-12-29 14:03:17 -05:00
Alex
f70af66258
Update bust to EdgeCache::Bust (#12052)
* Update bust to EdgeCache::Bust

* Update specs

* Fix more specs

* Fix more specs :)
2020-12-29 09:53:15 +01:00
Alex
eca7be8201
Update bust_user to EdgeCache::BustUser (#12051) 2020-12-29 09:53:00 +01:00
Alex
2a345d5214
Update bust_listings to service (#12050) 2020-12-29 09:52:34 +01:00
Alex
c7ae198179
Update bust_podcast to EdgeCache::BustPodcast (#12047) 2020-12-29 09:49:59 +01:00
Alex
6195d6cf36
Update bust_podcast_episode to EdgeCache::BustPodcastEpisode (#12049)
* Update bust_podcast_episode to service

* Update argument checks
2020-12-29 09:49:13 +01:00
Alex
e0d0fd6c96
Update bust_organization to EdgeCache::BustOrganization (#12048)
* Update bust_organization to service

* Add spec for nil slug

* Update argument check
2020-12-29 09:48:36 +01:00
Julianna Tetreault
ca6ba1af7d
Replace collective_noun with community_name (#11846) [deploy]
* Removes collective_noun and collective_noun_disabled from app

* Config Generalization: replaces community_qualified_name with community_name
  - Generalizes SiteConfig after the removal of collective_noun field
  - Updates copy where necessary to be readable with community_name
  - Makes the community_name SiteConfig description more explicit
  - Adds flexibility for Admins by removing appended "community"

* Adds a data_update script to remove collective_noun and collective_noun_disabled

* Removes appended community from stories_controller.rb

* Removes unnecessary quotation marks around SiteConfig.community_name.to_s

* Makes SiteConfig community_name description more explicit

* Removes topic from #email_from and replaces arg with _

* Removes argument from #email_from (facepalm)

* Reverts changes to application_mailer and notify_mailer_spec

* Removes default "Community" topic from application_mailer and makes topic optional

* Refactors #prepopulate_new_form to resolve Code Climate failures

* Refactors #email_from even further by use of a ternary operator per review suggestion

* Simplifies the data_update script used to remove collective_noun per review request

* Adds a data_update script to append community to community_name

* Updates data_update script to correctly append Community to community_name

* Removes RemoveCollectiveNounFromConfig and updates other script

* Removes superfluous false from data_update script

* Updates data_update script to be more idiomatic
2020-12-28 09:34:17 -07:00
Nick Taylor
15601285a5
Add data cleaning pre-test run to end to end tests (#12001)
* Added the cypress-on-rails gem.

* Removed secret from admin login fixture data and promoted it to Cypress config.

* Created resetData task for tests.

* Now the spec resets data on each test run.

* Removed the cypress-on-rails gem.

* Added node-fetch for e2e testing.

* Move rresetData to async/await.

* Small refactor to resetData Cypress task.

* Now there is a cypress.dev.json config for local dev testing.

* Added rails assets:precompile instead of webpacker:compile.

* Added more explicit error if Elastic Search fails to clear.

* Exposing more explicit error for truncating DB.

* Added better error output for truncating the DB.

* Removed stdout from error logging as it's empty.

* Reworked error message.

* Implemented @rhymes suggestions for fixing trunctation in the test environment.

* Removed unused Cypress configuration file.
2020-12-26 16:58:12 +01:00
Ben Halpern
839a30c70e
Bust sidebar when display ad is updated (#12025)
* Bust sidebar when display ad is updated

* Fix test
2020-12-25 11:02:19 -06:00
Michael Kohl
1cb990e87f
Routine Rubocop fixes (#12016) 2020-12-23 10:26:12 -05:00
Michael Kohl
63cf95d811
Split BadgeRewarder into multiple services (#11902) 2020-12-23 09:55:06 -05:00
Michael Kohl
254b8334a5
Remove autofollowing hiring tag (#11722) 2020-12-23 12:11:19 +07:00
Ben Halpern
673b1406be
Allow any admin to publish welcome thread (#11597)
* Allow any admin to publish welcome thread

* Update app/models/article.rb

Co-authored-by: rhymes <rhymes@hey.com>

* Fix specs by making user for welcome thread an admin

* revert spec changes and update code to include either admin, super_admin, or site mascot

* add specs for scope

* Modify tests and include mascot user

* Fix test

Co-authored-by: rhymes <rhymes@hey.com>
Co-authored-by: mstruve <mollylbs@gmail.com>
2020-12-22 16:18:32 -05:00
Ben Halpern
68867e9384
Add config post route for admin api (#11698)
* Add config post route for admin api

* Fix params

* Extract config_params to concern

* Remove print statement

* Some changes

* A couple changes

* Change controller method name and refactor upsert

* Fix tests and method names

* Fix routes and class stuff

* Fix styles

* Fix config params

* Fix styles

* Move regex to constant

* Remove single-use after action callbacks

* Expose success? method

* Fix syntax error

* Fix success? return

* Switch to guard clause

* Final clean ups?
2020-12-22 15:50:34 -05:00
rhymes
00247bed99
Log error message inline when Feeds::Import fails (#12012) 2020-12-22 20:02:07 +01:00
Michael Kohl
bd13d21b4c
Enable paranoid mode for Devise (#11995)
* Enable paranoid mode for Devise

* Remove two specs

These no longer make sense after enabling Devise's paranoid mode.
2020-12-22 13:47:28 +07:00
Alex
d0c70e72d7
Update bust_tag to EdgeCache::BustTag (#11953) 2020-12-21 14:43:42 -05:00
Alex
e9886d106c
Update bust_events to EdgeCache::BustEvents (#11955) 2020-12-21 14:43:28 -05:00
Ben Halpern
5cd947336b
Declare winner in update points worker (#11974)
* Declare winner in update points worker

* Remove tests

* Fix finalized_points style issue
2020-12-21 12:59:54 -05:00
rhymes
3dae3ff797
Upgrade rubocop* packages to the latest version and fix violations (#11972)
* Update erb_lint to track newer Rubocop versions

* Update rubocop-rspec to 2.1

* Fix Rails/WhereEquals and Style/RedundantParentheses

* Upgrade rubocop to 1.1.0

* Enable Rubocop 1.1 cops

* Upgrade rubocop to 1.2.0

* Enable Rubocop 1.2 cops

* Upgrade rubocop to 1.3.0

* Enable Rubocop 1.3 cops

* Enable Rubocop 1.4 cops

* Enable Rubocop 1.5 cops

* Upgrade rubocop to 1.6.x

* Restore previous .reject

* Fork the PR to make sure we don't inject unwanted code accidentally
2020-12-21 18:29:43 +01:00
Mac Siri
893151d76b
Fix API's broken organization's image (#11981) 2020-12-21 07:20:16 -05:00
rhymes
1c8b44f326
Remove GitHub repositories when GitHub identity is removed (#11951)
* Remove GitHub repositories when user deletes their own GitHub identity

* Remove GitHub repos also from the admin remove identity

* Add a notice in Settings/Extension

* Add data update script to cleanup orphan GitHub repos
2020-12-20 15:15:40 +01:00
Ben Halpern
972cc6cc05
Remove config single resource admin from config logic (#11971)
* Remove config single resource admin from config logic

* Remove single resource admin test
2020-12-18 13:09:31 -05:00
Spencer
6e2aab623e
API: Endpoint to get an organization's listings (#11823)
* add tests

* add route

* add controller action

* add jbuilder file

* update api docs

* update query

* update jbuilder listing

* add organization/user and category to listing

* update api docs/spec file
2020-12-18 12:20:35 -05:00
Fernando Valverde
fcc5c0d2a1
Add Sign in with Apple (#11934)
* Add gem omniauth-apple

* Integrate omniauth-apple

* Integrate callback

* Add fields

* Add tests, fix bugs and make it all work

* Show only enabled providers for the current user

* Add default profile image for Apple

* Remove localhost patch

* Bring over the changed Apple username if the user changes it

* More specs fixed

* Incorporate feedback from PR

* Fix specs

* Simplify code and fix spec

* Fix Broadcast generators to take into account the new provider

* Fix spec

* Generate a truly unique apple_username

* Fix user specs

* Add omniauth-apple-0.0.2 to vendor cache

* Fix merge conflict and spec

* Update VCR fastly sloan cassette

* Revert "Generate a truly unique apple_username"

This reverts commit 2462875575b0bbd6b3c1d56b25afcd3189671608.

* Fix user specs

* Fix specs

* Fix specs

* Hide Connect Apple button behind a feature flag

* Revert "Hide Connect Apple button behind a feature flag"

This reverts commit 105bde0373389a4eb9b6e948f60734c7e0e99cba.

* Fix line lengths

* Fix spec

* ES tag

* CSRF bypass for Apple callback

* custom user_nickname in Apple provider with small tweaks + omniauth-apple bump

* Fixes username specs

* Makes Apple users default image Users::ProfileImageGenerator

* Fallback to mascot_image_url in test environment to avoid breaking Travis

* Fixes Apple CSRF error + makes default nickname more readable

* Trigger Travis

* Better devise config

* Apple SiteConfig entires in /admin/config

* Fixing specs

* Adds beta_access? to Authentication::Providers::Provider

* Fixes specs

* Codeclimate double quote fix in Gemfile

* Fixes /admin/config allowed params & adds feature flag for provider beta_access?

* Remove Enfile & adds temporary docs

* Adds custom apple auth provider settings

* Fix authenticator spec

* Fix configs spec (use last instead of first to avoid apple special case)

* Remove dangling fields from /admin/config

* updates feature flag

* More test fixes

* Hide config behind feature flag too

* omniauth-apple bump

* Takes care of edge case fallback

* Reverse apple_username update

* Adds auth_time to info hash in apple omniauth mock

* Switch to next instead of nesting for feature flag

* Fixes CVE-2015-9284

* Fixes specs after auth providers initiatior refactor from GET to POST

* Spec fixes

* More spec fixes

* Fix Rails codebase reference link

Co-authored-by: rhymes <rhymesete@gmail.com>
Co-authored-by: rhymes <rhymes@hey.com>
2020-12-18 10:22:33 -06:00
Alex
f31470d8e5
Update .bust_page to EdgeCache::BustPage (#11952) 2020-12-18 11:21:54 -05:00
Ridhwana
c8e56853b7
Updates the email_addresses hash with the contact info (#11967)
* feat: add a new script that updates the email_addresses hash with the contact key

* add a comment to old data script

* feat: add a spec (not passing as yet)

* fix: test passing

* chore: comment script with reason
2020-12-18 18:07:48 +02:00
Manasa
4fac78f1b4
Allow admin to add users as podcast owners (MLH Fellowship) (#11728) [deploy]
* added podcast_owner role

* changed view files

* added owner functions

* changed function name in view file

* removed owner role

* removed changes in view file

* controller changes

* added permitted attributes

* fixed the failing tests

* deleted the remove_owner feature for now

* changed controller

* fixed the build error

* added route to add_owner

* added another test

* made suggested changes
2020-12-17 10:55:16 -07:00
Anna Buianova
1079c4e402
Removed slack notification for admins when user is deleted (#11929) 2020-12-17 20:31:22 +03:00
Jonathan Yeong
977f4d8840
Add image composite element to feed if user exists (#10739) [deploy]
* Add image composite element to feed if user exists

If the feed is a tag or the latest feed, user won't exist and we don't want to
render an <image> tag in the feed.

* Use profile_image_90 to limit the width and height

* Add tests for feed; address cr comments

* Fix typo

* Address rubocop issues

* Fix another typo

* Fix tests

Co-authored-by: rhymes <rhymes@hey.com>
2020-12-17 10:27:45 -07:00
Alex
d03d03bc39
Update bust_article to BustArticle (#11931)
* Update bust_article to BustArticle

* Fix spec
2020-12-17 12:20:44 -05:00
Michael Kohl
d21707a959
Move AssignTagModerator from labor to services (#11826)
* Move AssignTagModerator from labor to services

* Remove unnecessary spec file

* Remove extra newline

* Update Admin::Tags::ModeratorsController
2020-12-17 09:51:26 +07:00
Alex
1ab88ef77b
Update bust_comment to BustComment (#11895) 2020-12-16 12:59:54 -05:00
Ben Halpern
ad1a59a14c
Fix html variant image prefix logic (#11917)
* Fix html variant image prefix logic

* Update app/models/html_variant.rb

Co-authored-by: Mac Siri <mac@dev.to>

* Update spec/models/html_variant_spec.rb

Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>

* Use helper to simplify url code and update spec

* Provide Imgproxy default endpoint

Co-authored-by: Mac Siri <mac@dev.to>
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
Co-authored-by: Mac Siri <krairit.siri@gmail.com>
2020-12-15 14:44:11 -05:00
rhymes
d8bc399a56
Restore static error pages (#11882)
* Revert "Use static error files in serviceworker (#11806)"

This reverts commit 2c96c14021.

* Revert "Use custom, dynamic, error pages (#11744)"

This reverts commit 2ab0719501.

* Remove GitHub report prompt for good, see #11718

* Bump service worker cache version
2020-12-14 12:06:41 -05:00
Anna Buianova
5430448305
Confirmations that users GDPR data was deleted (#11039)
* Display gdpr delete requests for deleted users in admin

* Added a test for destroy a gdpr request

* Reorganized gdpr requests menu

* Update schema version

* Added a link to the flash notice after user delete by admin

* Fix namespace for tests

* Aligh schema.rb with master

* Added a missing newline

* Removed unused partial

* Fix typo

Co-authored-by: Michael Kohl <me@citizen428.net>

* Replaced string with symbols for AR

Co-authored-by: Michael Kohl <me@citizen428.net>

* Added an AuditLog record on gdpr delete confirmation

* Make email and user_id required in Users::GdprDeleteRequest

* Checked out package.json from master

* Fix Gdpr => GDPR

* Added missing space

* Remove unneeded freeze

Co-authored-by: Michael Kohl <me@citizen428.net>
2020-12-14 12:49:45 +03:00
Ben Halpern
3308bf5e3d
Add sidebar bust logic (#11878)
* Add sidebar bust logic

* Fix typo
2020-12-13 19:43:44 -05:00
benhalpern
ae7c9a4f75 Fetch homepage right sidebar async (and don't fetch for narrow screens) 2020-12-13 18:41:47 -05:00
Anna Buianova
f4c88341ce
Rubocop fixes (#11862) 2020-12-11 17:36:42 +03:00
Alex
494359fd21
Create services for busting organizations, podcast episodes, listings, and users (#11832)
* Create service for bust_organization

* Create bust_podcast_episode_service

* Add error spec to BustOrganization

* Create bust_listings

* Create bust_user service
2020-12-11 08:59:24 -05:00
Ridhwana
23235c2276
feat: update the contact email address in the database (#11848) 2020-12-10 12:35:46 -06:00
Michael Kohl
1729cf02ad
Move Twilio from labor to services (#11824)
* Move Twilio from labor to services

* Update usage
2020-12-10 10:21:09 +07:00
Michael Kohl
59e2f5a025
Remove app/labor/color_from_image.rb (#11825)
* Remove app/labor/color_from_image.rb

* Remove miro gem

* Delete TODO
2020-12-10 10:08:06 +07:00
Fernando Valverde
c2982ef0fc
Ensure Article's username method returns a downcased string (#11813)
* Adds a lower() query to the DB in Stories#show

* Restructure spec

* bypass article callbacks in order to test edge case

* Fixes spec

* Change the approach to unsure downcase path in Article model

* Move .downcase call to set_caches before_save callback

* Adds data update script for fixing offending Article paths

* Moves model tests to correct block

* Apply suggestions from code review

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2020-12-09 12:56:40 -06:00
Jacob Herrington
692acd3cb2
Render Profile Fields on user profiles (#11485)
* Render left sidebar attributes on profile

* Display header profile fields

* Make changes to protect DEV data

* Don't render DEV header fields twice

* Wrap profile UI changes in a FeatureFlag

* Add spec to test mulitple display areas

* Use select over reject

Co-authored-by: Michael Kohl <me@citizen428.net>

* Move comment for documentation generators

* Update dev profile fields csv data

Co-authored-by: Michael Kohl <me@citizen428.net>
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
2020-12-09 09:41:11 -06:00
Alex
8598ed090e
Create services for busting pages, tags, events, and podcasts (#11812)
* Create bust_page service and spec

* Specify spec with .once

* Create bust_tag service and spec

* Create bust_event service and spec

* Create bust_podcast service and spec
2020-12-09 10:37:02 -05:00
Fernando Valverde
0ac3e83b0c
Remove resource_admin dashboards (Administrate) (#11792)
* First cleanup commit

* Email messages preview

* Tweak tests

* spec typo fix

* Remove lingering Administrate Fields & Abuse report link fix

* Add missing gemfile lock update

* Extract email_messages into its own controller & add test
2020-12-08 12:38:13 -06:00