* api v1 endpoint for creating an organization
* address failing specs, regenerate swagger docs
* remove old comment in destroy now that woreker call takes third argument
* refactor our services for profile images into images folder
* Removes FeatureFlag.enabled?(:creator_onboarding) from codebase
* Removes FeatureFlag.enabled?(:creator_onboarding) from specs
* Further cleanup, removal, and spec fixes
* Fixes the user_request_confirmation_spec.rb
* Reverts change to confirmation email button
* Revert revert after looking at designs again :(
* Removes redundant logo_png field from config + fixes test
* Rewords an expectation in user_uses_the_editor_spec.rb
* Revert removal of logo_png from Config images
* Removes CSS class from user_uses_the_editor_spec.rb
* Removes test from user_uses_the_editor_sepc.rb
* Removes unnecessary else from _logo.html.erb
* Adds back removed system spec
* Removes SVG-related code from _logo.html.erb
* Removes AsyncInfoController#use_creator_onboarding
* Fixes spec failues due to removed code
* Removes svg-related code (that I thought I removed already :/ )
* Re-removes FeatureFlag and logo_svg from _images.html.erb
* Remove newest instances of FeatureFlag(:creator_onboarding)
* remove instances where we use the creator_onboarding field from the base_data
* fix: redirect to the correct path in the reguistrations controller based on whether the user is a creator or not
Co-authored-by: Ridhwana <ridhwana.khan16@gmail.com>
Prior to this commit, we had filtering options for email registration:
1. Specific allowed domains.
2. Implicitly allow all domains if no allowed domains specified.
With this commit, we add another option: The adminstrator may block one
or more domains from registering.
Closesforem/rfcs#281
* fix: closing divs and alignments
* fix: closing divs, alignments and add z-elevate
* refactor: remove the confirm email css annd add it to setup_mode
* improve mobile responsiveness
* feat: redirect directly to the new_admin_creator_setting_path from the confirmation email adn the signup
* feat: update the test to no longer show the referral which seems no longer relevant
* fix: update the tests to conform to the new URLS
* update the link
* chore: add my name to the chaore so that I can search after cleanup
* feat: update the forem creator signup template and copy over some stuff from the email_resgistration
* feat: update the fields
* feat: make sure that it saves
* feat: add an eye svg to the password input
* feat: update eye and eye-off svg
* feat: update the placeholder for the password field
* reveak and hide the password when clicking on the icon
* eye visiblibility functionality
* feat: display the username
* feat: show the username row when we click edit
* feat: update the interaction design
* chore: remove extra line
* chore: remove unneeded function
* feat: never show the username hint when the user field is not hidden
* feat: ensure that the username works
* chore: update the existing specs
* feat: move to packs
* refactor: manage the visibility with a avariable and not with the password type
* optimize the way we use password visibility
* chore: validate the username field
* chore: update the statement
* feat: add a background
* feat: accessibility changes
* feat: set a max length on the username
* feat: some more accessibility changes
* feat: validate the length of the password
* chore: add some margin to the error box
* feat: by_email shows the error states and we should cater for the Forem Creator
* feat: tackle any errors
* WIP/test: first pass of some integration specs
* feat: update the Cypress tests
* Update app/views/shared/authentication/_forem_creator_signup.html.erb
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update app/views/shared/authentication/_forem_creator_signup.html.erb
Co-authored-by: Michael Kohl <me@citizen428.net>
* chore: temporarily disable the background on large screens
* chore: remove title
* prevent default
* feat; update the style of the button
* feat: update the tests to use accessibility tags
* feat: update icons
* chore: oops
* little forntend updates
* Update app/views/shared/authentication/_forem_creator_signup.html.erb
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update cypress/integration/creatorOnboardingFlows/creatorSignup.spec.js
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
* fea: change the aria label and pressed
* feat: change to just John
* feat: update cypress tests
* test if this is causing the test to fail
* feat: add some margin
* feat: mostly for Cypress - required is true or false based on whether the field is needed
* refactor: use the password label and skip last test
* Update app/views/shared/authentication/_forem_creator_signup.html.erb
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update app/views/shared/authentication/_forem_creator_signup.html.erb
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* fix: do not toggle the label (accessibility)
* fix: add a comma
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
Co-authored-by: Michael Kohl <me@citizen428.net>
Co-authored-by: Paweł Ludwiczak <ludwiczakpawel@gmail.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
* Remove hardcoded instances of education field
* WIP Access display_email_on_profile via User Settings
* Remove unused profile column
* WIP Fix reference to bg_color_hex and text_color_hex
* WIP fix issues revealed by systems specs
* WIP fix issues revealed by services specs
* WIP Fix failing tests
* WIP Fix spec failures
* wip
* Move two attributes from controller to decorator
* Update comment
* Match user settings changes
* More consistently use user.tag_line
Even before the profile changes we sometimes used the user.summary
attribute directly but used the user.tag_line method in other places.
* Remove delegation, rename inline concern
* Drop profile columns from users table
* Remove duplicated work display from header
* Update work profile field handling
* Update DUS + spec
* Delegate more carefully
* Update delegation guard
* Adapt for removed delegation
* Undo accidental schema changes
* Fix seeds
* Remove accidentaly change
* Fix User#processed_website_url
* Update guard clause
* Update profile card content
* Add Organization#profile
* Be more conservative with profile fields
* Spec fixes round 1
* Fix typo
* Update spec
* Limit number of header fields and update card content
* Decorate correct model
* Update factory
* Update schema.rb
* Fix validation
* How bad could this possibly be?
* Pretty bad, nevermind
* Remove obsolete code
* Reset profile fields during test runs
* Move profile fields back to before(:suite)
* Spec fixes
* Remove accidentally re-added files
* More spec fixes
* Specs
* Change User#tag_keywords_for_search
* More spec fixes
* Add comment
* Undo accidental schema changes
* Attempt spec fix
* Remove fix attempt
* Fix e2e test
* Update spec
* Remove guard clause
* Remove hardcoded instances of education field
* WIP Access display_email_on_profile via User Settings
* Remove unused profile column
* WIP fix issues revealed by systems specs
* WIP fix issues revealed by services specs
* WIP Fix failing tests
* WIP Fix spec failures
* wip
* Move two attributes from controller to decorator
* Update comment
* More consistently use user.tag_line
Even before the profile changes we sometimes used the user.summary
attribute directly but used the user.tag_line method in other places.
* Remove education
* Add comment
* WIP
* Clean up mostly_work_with
* WIP
* Update work profile field handling
* More work-related changes
* Remove settings_only from display_area enum
* Remove quickfix from _metadata partial
* Remove special attributes
* Remove leftover spec
* Retrieve location from profile, not user
* Profile.special_attributes no longer exists
* Update specs
* More spec fixes
* Update UsersController
* Update UsersController and spec
* Fix e2e seeds
* Minor cleanup
* More e2e seed fixes
* Fix profile field CSV
* Fix e2e seeds
* Move one more attribute in e2e seeds
* Remove duplicate line
* Clear inputs before typing in them
* Fix formatting issues
* Profiles::Update -> Users::Update
* Remove RegistrationsController#resolve_profile_field_issues
* Fix schema.rb
* More cleanup
* Fix specs
* Fix remaining spec
Co-authored-by: Jacob Herrington <jacobherringtondeveloper@gmail.com>
* schema file undelete description
* feat: v1 of the script
* Flesh out remaining enums under their categories
* complete UsersSettings data update script
* complete DUS for relevant attributes in users and profiles tables
* complete DUS for users_notification_settings
* alphabetize user_settings sql file
* safeguard against null values for "null: false" settings
* Set up actual UsersSettings DUS and specs files
* fix broken DUS script
* complete specs for UsersSetting DUS
* Address QA of specs
* complete specs for users_notification_settings DUS
* fix the typos (thanks Julianna!)
* begin implementation
* still building
* add missing attribute "email_membership_newsletter"
* complete sync code (except race condition for user profile)
* complete implementation, remains tests
* Address PR review and fix Travis fails
* remove superfluous Profile.new
* fix travis fails
* feat: update the users_notification_setting attributes from the user model
* feat: use the config fonts enums to display the fonts
* feat: loop through the keys
* fix profile = nil blowing up; add specs for notification_setting model
* remove unneeded spec
* remove feed validation until after sync code removed; fixes feed_import spec failures
* remove spec associated with feed_url validation in user_setting model
* fix failing spec 😅
* add TODO
* feat: set the user settings in the user controller and use it in the customization form
* feat: move some update logic to the users settings controller thats being used from customization
* feat: show the updated values form the users_settingd and not the user instance
* Generalize redirect back to current tab
* still trying to reflect changed theme upon refresh
* customizations take effect on refresh
* remove 'with_feed' scope from user model
Co-authored-by: Jamie Gaskins <jamie@forem.com>
* start with takeover for fields previously in profiles table
* Takeover code for `publishing_from_rss` section in Settings (#13914)
* implement takeover code part 1
* implement takeover code
* fix feed fetch
* need rhymes help
* complete implementation; specs pending
* fix STUPID omission that caused so many headaches 😫
* implement profile fields pointing to users_settings 🎉
* run migrations
* implement inbox type & guidelines takeover code; specs pending (#13911)
* Point changes in notification settings to `users_notification_settings` table (#13910)
* implement takeover code; remains specs
* address PR feedback; remove related sync code
* address PR review feedback
* need help with routing and specs
* address pr review
* addressing pr review
* Treat implementation edge cases and omissions 😅
* fix uncommented comment
* fixing implementation cases
* address more PR review feedback
* fixing notifications use-cases
* refactor settings controller
* more pr review changes
* solving bugs
* fix broken onboarding
* handle eperience_level calls
* more fixes
* remove unneeded mappings
* add To-dos for quety updates
* remove done TODO
* purge done TODOs
* update notification_settings-related queries
* start fixing specs
* fixing specs
* fix notification and lrg_forem specs
* fixing broken specs
* still fixing
* fix line dif and remove reloads from user.rb
* run specs
* silence bullet and other fixes
* remove setting migration scripts and specs, fix more settings for specs
* handle missing user for article builder and fix notification specs
* fix some final controller specs and re-add incorrectly removed specs
* remove deprecated data update scripts and related workers, put travis back
* refactor admin tags mods controller, write/move specs for users notifications settings controller
* schema cleanup and other small refactors for consistency
* set field we can invalidate in spec via active record instead of at the db level
* remove I think an uneccessary hook call from subscribe_to_mailchimp_newsletter
* use bnefore_create to setup settings, please dont blow up the test suite
* mailchimp bot fix
* remove decorator in favor of single model method
Co-authored-by: Arit Amana <msarit@gmail.com>
Co-authored-by: Ridhwana <ridhwana.khan16@gmail.com>
Co-authored-by: Arit Amana <32520970+msarit@users.noreply.github.com>
Co-authored-by: Jamie Gaskins <jamie@forem.com>
* Rename SiteConfig
* More renaming
* Update spec
* Update mandatory settings mapping
* More renaming
* e2e test fixes
* You have a rename, and you have a rename
* Spec fix
* More changes
* Temporarily disable specs
* After-merge update
* Undo rename for migration
* undo rename of DUS
* Fix DUS
* Fix merge problem
* Remove redundant DUS
* Fix specs
* Remove unused code
* Change wrong class name
* More cleanup
* Re-add missing values to constant
* Fix constant
* Fix spec
* Remove obsolete fields
* Add accidentally removed field
* Update spec
* Move methods from Settings::General to ForemInstance
* Remove unneeded model
* Change mentions of 'site config'
* Add required tooltips and asterisks to fields
* Generate profile image for email signups
* Use be over eq
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Use path helpers over hard-coded paths
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Add labels to make it more accessible
* Stub it all... eek
* stub some more stuff
* stub stub stub
* Move aria label to proper label and fix tests
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Refactor test a bit
* Account for URL encoding when redirecting to /confirm-email
* Fix failing spec
* Use correct method to encode + and @
* Fix test
* Don't encode things I don't need to (thanks Nick)
* Split ReCaptcha service and use verbs instead of pronouns
* Inline comment rewrite for clarify
* after? > >
* Use explicit role check for the user instead of .auditable?
* Bypass recaptcha for authenticated users abuse reports
* Moves bypass_recaptcha? to helper method to have one definition of the criteria for this
* User must be 1 month old at least in order to bypass_recaptcha?
* Fixes test
* Better spec message
* Bypasses auditable users
* Adds better test coverage over recaptcha bypass cases
* include Helper removed from FeedbackMessagesController
* Adds some inline comments for clarity and banned check
* Allow authors to restrict which emails can sign up
* Add form and tests
* Check for email presence in allowed email flow
* Fix test domains
* Fix codeclimate issue
This is a request from one of our early adopter Forems. We should only
render the user count that appears on most of our sign up CTAs when a
Forem has a large userbase (initially, I'm setting that to 1000 users).
The change also removes a lot of duplicated markup by using some
partials to render the copy in the various auth CTAs.
Hopefully, this is written in such a way that changing opening up more
fine-grained control of these partials is trivial.
* Create first start at desktop top header updates
* Update mobile styling of top header
* Stylize sign in widget card
* Update nav menu and top bar
* Changes based on user being logged-in or not
* Uses user_signed_in? on top nav bar
* Fix lingering old cloudinary helper method
* Trigger CI
* Fixes specs
* Adds redirect_using_referer_spec, fixes other specs & cleanup
* Adds nav-menu.scss to layouts/_styles.html.erb for inline & small edit in referer check
* Remove logged-out styles to make it more uniform with logged in
* Remove nav-menu.scss file
* cleanup markup and JS a little
* Fixes FB auth specs to new login links
* Makes sure unauthenticated /new redirects back to editor
* CI fix Sing in with -> Continue with
* Update db/schema.rb
* Update db/schema.rb
* Update db/schema.rb
Co-authored-by: Fernando Valverde <fdov88@gmail.com>
Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
* Update mobile version of /new registration view
* Optimize styles for desktop view
* Fix typo
* Fix typo
* Add twemojis in footer area
* Update messaging to fulfill all intents
* cache
* cache
* hr-label fix on mobile
* hr-label fix on mobile
* crayons for checkbox
* crayons for checkbox
* remove old styles
* move signin to appropriate folder
* Remove schema changes
* Fix registraction specs and hide password hint for no SSO enabled
* Disable email hint for password reset page
* Fix specs
* Revert "Disable email hint for password reset page"
This reverts commit b33a6dda4c13534541294281f83f7ad5a4864c0d.
* Transfer User.registered.estimated_count to the controller
* Fix import path
Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
Co-authored-by: rhymes <rhymes@hey.com>
* Allow initial user to sign up and configure app
* Fix added value unneeded
* Make siteconfig public in tests
* Remove deprecated method and adjust seed default
* Add new controllers not to redirect for public
* Modify tests
* Edit test defaults
* Fix linting
* Add starter mode to seed file
* Modify registrations controller
* A bit of progress
* More work
* a bit pf progress on confirmation emails
* Get basic functionality in place
* Remove comments
* First basic test
* Add tests
* Fix code styles
* Remove sessions spec
* Remove sessions spec
* Remove extra markup
* Use Devise registry to list available providers
* Cleanups following Devise+Omniauth docs
* More cleanups
* Use helpers
* More cleanups
* Oops, forgot to remove these specs
* Use timezone aware datetime methods
* Use timezone aware date parse for GitHub issue tag
* Introduce a bit of chaos programming using Zonebie
Zonebie uses a random timezone to run tests, it's a really good way to see if the code is timezone dependent or not.
* Convert GitHub issue date as UTC
* Initial automatic cleanup with rubocop
* Fix syntax error introduced by rubocop
* Cleanup seeds file
* Cleanup lib folder
* Exclude bin folder because it contains auto generated files
* Make Rubocop a little bit more chatty
* Block length should not include comments in the count
* Cleanup config folder
* Cleanup specs
* Updated Rubocop version and generated a todo file
* Fix broken ArticlesApi spec
* Fix tests
* Restored rubocop pre-commit hook