* feat: cater for when there are no profile fields in a group
* feat: add a modal to create a new group
* feat: add a controller and route for the group
* refactor: add group modal
* feat: edit a group
* chore: remove an instance var
* chore: toggle the section using a toggle button
* feat: add the edit button
* chore: update the messaging
* chore: update the class name
* feat: delete the group
* chore: add some css
* chore: use group_name
* chore: rename the file and add the group select to the file
* feat: render the correct partial and add the profile_field_group_id
* feat: add a profile field
* feat: amend the styles on the card header
* feat: add a cursor pointer
* feat: get the form to redirect after an update
* chore: remove style
* feat: order by created at so that each time we save the order doesn't change
* fix: change the form
* chore: format the options
* feat: show ungrouped fields at the bottom
* feat: add the profile fields length
* chore: remove unused action
* test: add some specs for profile group workflow
* fix: oops
* refactor: grouped profile fields
* refactor: amend the styles
* chore: rename methods
* chore: update headings
* chore: remove changes from my linter
* refactor: suggestions by Michael - upgrade ternary
* refactor: order by name and label
* Allow admins to set brand color
* Remove extra line
* Fix linting
* Update app/controllers/admin/configs_controller.rb
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Move wcag compare to own class
* Remove unnecessary spacing
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Fixes unsafe relection warning @ dashboards_controller
This one is purely to make CodeClimate happy as the code that was
already there is equivalent (as the parameter being `constantize`'d was
validated before the reflection part kicked in).
I've switch things around and do a lookup on the
`UserSubscription::ALLOWED_TYPES` for the subscription `source_type`,
which makes brakeman understand that type comes from an allowed list of
types (instead the user input).
* Flips conditional statement when no source_type to unless
Co-authored-by: rhymes <rhymes@hey.com>
Co-authored-by: rhymes <rhymes@hey.com>
* 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>
When redirecting to the welcome, challenge and checkin articles,
breakman was complaining about a potential open redirect vulnerability
due to the fact that the redirect URL comes from a string stored in the
database.
This commit silences breakman by explicitly parsing the database article
path (via `URI.parse`) and explicitly stating that only the `path`
portion of the URI is to be used (== in an unlikely event of an absolute
URI pops up from the db record, the user-agent will still be instructed
to be redirected to a page under the app's domain).
* 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
* Capitalizes Admin on Admin Profile button for better consistency
* Adds reactions and reports partials and adjusts filenames of _notes, _activity, and _credits
* Removes code related to reports to separate this PR and the reports PR
* Adds ability to toggle Recent Reactions and adds #get_related_reactions to controller
- Adds a #get_related_reactions method to the Admin::Users::Controller
- Moves the rendering of the reactions partial below the notes partial in edit
- Styles Recent Reactions in a list format with the ability to toggle
* Modifies #set_related_reactions name, query, and limit and the _reactions view with it
- Adjust #get_related_reactions to read #set_related_reactions
- Sort reactions by descending created_at
- Add a limit of 15 to reactions displayed for any given user
- Add .empty? in place of .nil? to _reactions.html.erb reaction check
* Adjusts the format of how Recent Reactions are displayed and adds Reaction category
* Adds a check for category: vomit in #set_related_reactions
* Renames partial, adds User reactions to #set_related_reactions, and adjusts partial styling
* Rewords message displayed when no negative reactions exist to make it fun
* Adds additional styling changes to recent reactions
* 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
* Introduce ProfileFieldGroup model
* Make profile_fields_groups name column unique
* Fix some specs
* feat: allow the page to work again
* Add guard clause to data update script
* Remove unused file
* Fix specs
* Add foreign key
Co-authored-by: Ridhwana <ridhwana.khan16@gmail.com>
* Make confirmation text a required field
* Use strong params to check if confirmation param is present
* Require config confirmation text to match pattern
* Allow greater flexibility for footer mascot image
This change allows admins to set a footer mascot image of any dimension
and manage the forced dimensions in their site config options.
* Update site config copy based on PR feedback
* Replace HEROKU_SLUG_COMMIT with custom footprint (naive)
* Fully set RELEASE_FOOTPRINT with the expectation of setting it before launch
* Change tests
* Fix cache
* Moves badge_achievement-related code from /admin/bagdes to /admin/badge_achievements
- Adds an Admin::BadgeAchievements::Controller
- Moves #award and #award_badges to Admin::BadgeAchievements::Controller
- Removes #award and #award_badges from Admin::Badges::Controller
- Moves award.html.erb from /admin/badges to /admin/badge_achievements
- Removes badge_achievement routes from /admin/badges
- Adds a redirect for /admin/badges/badge_achievements to routes.rb
- Cleans up and refactors code in controllers, views, and routes
* Add more actions to Admin::BadgeAchievements::Controller and matching routes
- Adds an #index and #destory action to the BadgeAchievements::Controller
- Adds destroy to the badge_achievements routes
- Adjusts redirects for badge_achievements in routes.rb
- Removes dead code from the index view for Badges
- Refactors the existing code in the index view for BadgeAchievements
* Adds an /admin/badge_achievements_spec and cleans up the /admin/badges_spec
- Removes the badge_achievement-related tests from badges_spec.rb
- Adds an additional test around deleting badge_achievements
* Add pagination to badge_achievements index view
* Adds badge_achievements to Admin menu items and add comment to routes.rb
-Add badge_achievements to the Admin nav bar
-Add a comment regarding redirects for badge_achievements
* Resolve JS console stacktrace notices and change wording on deletion buttons
* Add a Back to Badge Achievements button to the badge award form
* Adjust styling to fix failing /admin/badges_spec.rb
* Uses SQL paging to optimize scalibility and adds search functionality to index.html.erb
- Use SQL paging in Admin::BadgeAchievements::Controller in #index and #award
- Add a search by user ID to Badge Achievements index view
- Add a limit of 15 badges to be shown on the Badge Achievement index view
- Add a User ID column to the Badge Achievement index view
* Add Award Badge button back to Badge Achievement index.html.erb
* Change @badge to be more explicit and reword warning around badge deletion
* Adds award badge button back, rewords success message, and adjusts SQL paging
* feat: add a select and a new text field
* feat: groups need to be unique and present
* feat: make the ui a little better
* chore: update the label
* chore: just present
* feat: add some js ( still a work in progress)
* feat: update the interface to work better :)
* chore: indent
* feat: make sure the toggles work
* chore: rename more aptly
* refactor: toggling pulled out into two functions
* refactor: move group form to a partial so that we can reuse it
* chore: move the js to the group form
* chore: update alignment and nav element
* chore: update text
* chore: update specs
* Rename method
* Add ProfileFields::Add service
* Add ProfileFields::Remove service
* Use remove_method instead of undef_method
* All hail undef_method
* Move community_copyright_start_year to SiteConfig
* Properly translate year to string
* Change year logic
* Add env default to copyright year
* Fix logic
* Fix codeclimage issue
* Add view element
* Add constants in properly and use dynamic date
* flare tag line height
* .
* dropdown fix + actions bar fix
* actions bar on mob
* fixing typography and improving font handling
* cleanup
* variables naming
* fonts swapping
* Makes user's default font render as SiteConfig.default_font
* Trigger checks
* Fixes missing user model specs
* Fixes storybook CI error import & logged out user font set with default
* Limits default_font config to serif, sans-serif & open-dyslexic
* Default font description text
Co-authored-by: Fernando Valverde <fdov88@gmail.com>
* added created_at to comments in api response
* added test to ensure a date is returned for comment
* fix offenses in test
* updated docs to include addition of created_at to comment api response
* 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
* Removes CSRF Apple fix from Omniauth callbacks
* Removes Envfile
Co-authored-by: rhymes <rhymesete@gmail.com>
Co-authored-by: rhymes <rhymes@hey.com>