Commit graph

340 commits

Author SHA1 Message Date
Andy Zhao
a8c3ff8c5a
Add trusted role to new tag moderators (#11242)
* Don't add to mailchimp for N/A circumstance

* Use class << self over self. methods

* Refactor and make add/remove tag mod idempotent

* Add missing param wiki_body_markdown

* Add errors_as_sentence b/c Tag not inheriting from AppRecord

* Refactor and Crayonsify tag page

* Use proper for attr to make label checkable

* Crayonsify moderator section

* Make placeholder white

* Remove remote: false for sync form submit

* Fix more merge conflicts

* Minor styling adjustments

* Fix color field value

* Don't add to Mailchimp community mod list if not enabled

* Add tests for new tag mod routes

* Add missing line oops

* Use self.method over class << self for new Rubyists

* Use more efficient query for getting tag mods

* Use parentheses to follow convention

* Use cleaner way of routing and controller

* Update tests to match new configuration
2020-11-05 10:36:26 -05:00
Ridhwana
669d411feb
chore: remove future route (#11117) 2020-11-02 13:34:15 -05:00
Michael Kohl
7b6c5b60c1
Add feature flag for profile admin section (#11149)
* Add feature flag for profile admin section

* Fix spec description

* Also remove profile admin link from sidebar

* Disable profile admin routes based on feature flag

* Minor fixes

* Remove unnecessary object from spec

* Refactor AdminHelper

* Fix specs

* Fix remaining specs
2020-11-02 08:48:18 +07:00
Molly Struve
9cf92d1a9e
Refactor:Remove Unused BufferedArticles Controller (#11193) 2020-10-30 15:24:02 -05:00
Spencer
c0168df2a8
API: Endpoint to get an organization's details (#10931)
* add organizations api request spec

* add organizations api controller

* add organizations api show route

* add show jbuilder file

* fix merge conflict on routes

* add organization show to api docs

* update created_at to iso format

* api docs add format field/cleanup
2020-10-30 16:22:30 -04:00
Julianna Tetreault
6f4e600a4e
Refactor Admin Events Index (#11103) [deploy]
* Adds new and edit views for events and removes them from the index view

* Fixes formatting issues in /admin/pages/index.html.erb

* Refactors /admin/events partial, new, and edit forms

* Updates admin_events routes to include all routes except destroy

* Refactors Admin::EventsController and adds #new and #edit actions

* specs: Adjusts admin_creates_new_event_spec to work with /admin/event changes

* Refactors the Admin::EventsController, routes, and events index even further
  - Adds back placeholder text in Events form
  - Removes unnecessary code from controller
  - Reverts changes to routes
  - Adjusts event_cover_image size on index.html.erb

* specs: Adds tests around creating and updating events to events_spec

* Adds pagination to Admin::EventsController #index to cap events at 20 per page

* Removes .all from Admin::EventsController and adds a line to index.html.erb

* Uses crayons classes for _event_form.html.erb
2020-10-29 10:11:15 -06:00
Andy Zhao
b80dae1436
Update data exporter to handle admin send (#10274)
* Update data exporter to handle admin send

* Match button with everything else

* Use proper redirect path

* Stub SiteConfig definition instead of setting it

Co-authored-by: Mac Siri <krairit.siri@gmail.com>

* Removed if statement by accident oops

* Remove non-functional boolean param and pass email directly

* Use refinement to conv to boolean instead of JSON.parse

* Rename to StringToBoolean

* Use 'using' in proper scope (not in method)

* Rename to_bool to to_boolean

* Refactor if statement, thanks rhymes!

* Fix small bugs in tests

* Remove tracking for export_email b/c no @user

Co-authored-by: Mac Siri <krairit.siri@gmail.com>
2020-10-26 18:00:56 -04:00
Ridhwana
de16fac96e
[deploy] chore: remove /forem redirect (#11083) 2020-10-26 10:12:38 -04:00
Josh Puetz
4b33e08003
User better admin detection for blazer and feature flags (#10999) [deploy] 2020-10-21 11:56:07 -05:00
Julianna Tetreault
a6aabb2149
Give Admins Ability to Delete Invitations (#10959)
* WIP: Gives Admins the ability to delete invitations from /admin/invitations

* Refactors #destroy to properly delete invites, redirect, & display messages

* Adds additional flash message and makes existing messages more explicit

* Adds spec to test the deletion of invitations in admin/invitations
2020-10-20 12:07:36 -04:00
Ben Halpern
08acaaf19d
Add admin index (#10957)
* Add admin index

* Fix linting

* Fix linting
2020-10-20 11:11:28 -04:00
Diogo Osório
2b72a35d3d
[deploy] Introduce /api/profile_images/:username endpoint (#10547)
* Documents the new /profile-images/:username API endpoint

* Introduces the /api/profile_images/:username endpoint

This endpoint receives either an user or organization username as input
via the URL path and returns the profile image information for that
user/orgnization.

* Updates the /api/profile_images/:username response

Adapts the response according to the review comments:

1. Removes the cache directives
1. Tweaks how the user query is being done
1. Adds a `image_of` property to the response

* Bump API version

Co-authored-by: rhymes <rhymes@hey.com>
Co-authored-by: Molly Struve <mollylbs@gmail.com>
2020-10-14 14:24:25 -05:00
Jean-Francis Bastien
9ff7f82664
[deploy] API - New endpoint to retrieve the articles in the reading list of the authenticated user (#10540) 2020-10-14 13:20:03 -05:00
Michael Kohl
a2b55f889c
Remove Twitch integration (#10732)
* Remove Twitch integration

* Ignore columns
2020-10-08 12:44:10 +00:00
Ben Halpern
c60566b8a5
[deploy] Modify code to deal with flaky tests (#10616)
* Modify code to deal with flaky tests

* Remove uneeded x
2020-10-05 14:54:11 -04:00
Ridhwana
21389ab05d
Admin Panel for Configurable Navigational Links (#9444) 2020-10-02 11:11:21 -04:00
Rafi
4a9f27163e
[deploy] Manage listing categories in dashboard (#10506)
* Displaying all listing

* Edit listing form

* Editing listing

* Searching listing categories

* Creating new listing category

* Deleting listing category

* Fixing error message and roles

* Tests

* Fixing aria label

* Fixing link class

* Fixing error message of destroy

* Changing placeholder text
2020-10-02 11:05:09 -04:00
Fernando Valverde
2297e84f35
[deploy] HTML Variant admin dashboard (#10188)
* HTML Variant admin dashboard

* Tweaks to actions & spec fixes

* Update app/controllers/admin/html_variants_controller.rb

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

* Removes old html_variants dashboards

* Removes old lingering spec

Co-authored-by: Michael Kohl <citizen428@dev.to>
2020-09-28 09:22:13 -06:00
Molly Struve
b0e086346d
[deploy] Refactor:Remove BackupData Model and Code (#10409) 2020-09-22 16:45:18 -05:00
Dana Scheider
24641d537a
API: Add route for fetching a user's followed tags (#9108)
* Add route for fetching a user's followed tags

* Move followed tags route to FollowsController instead of TagsController and add JSON view

* Add missing new line

* Change the dots for our linter

Co-authored-by: rhymes <rhymes@hey.com>
Co-authored-by: Molly Struve <mollylbs@gmail.com>
2020-09-18 16:28:42 -05:00
Ben Halpern
3e09a7768f
[deploy] Remove need for ENV vars during asset precompile (#10349)
* Remove need for ENV vars during asset precompile

* Add open-search test
2020-09-16 13:57:05 -04:00
Michael Kohl
729a17a7a3
[deploy] Add LiquidTagsController (#10241) 2020-09-08 12:07:33 -04:00
Mac Siri
94869bc816
[deploy] Remove all attempts to delete cookies (#10211) 2020-09-04 15:48:52 -04:00
Michael Kohl
27faf0a667
Add profiles controller (#10181)
# Conflicts:
#	config/routes.rb
2020-09-04 14:54:39 +02:00
Alex
2a5a933ed1
Add routes for i18n (#10193)
* Add routes

* Update all_routes spec

* Add i18n route specs

* Add docs

* Docs cleanup

* Add note about fragment caching
2020-09-03 17:11:07 -04:00
Fernando Valverde
536b2c821c
Adds ability to create new sponsorships from admin dashboard (#10187)
* Adds create feature to the sponsorships admin dashboard

* Fixes spec
2020-09-03 10:10:37 -06:00
Michael Kohl
adbdbb9789
Add ProfileFieldGroupsController to API (#10124) 2020-09-03 10:12:53 +07:00
Arit Amana
b79766f697
[deploy] [Admin Tooling] Allow admins unpublish articles from the Mod Actions Panel (#10038) 2020-09-02 16:08:08 -05:00
Fernando Valverde
ada2d0c728
[deploy] Extracts DisplayAds from Administrate into admin (#10153)
* Extracts DisplayAds from Administrate into admin

* Suggested changes
2020-09-02 09:28:22 -06:00
Ridhwana
3474ffda6d
Profile Admin updates (#10133)
* 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
2020-09-02 12:32:25 +02:00
Ben Halpern
0dd04ea45a
Create initial "register by email and password" beta/MVP in prep for "setup mode" (#10039)
* 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
2020-08-28 09:46:56 -04:00
Ben Halpern
f999b5fcdc
[deploy] Delete all cookies when signing out (#10036) 2020-08-27 11:16:32 -04:00
Julianna Tetreault
24a3b50d4a
Add the Ability to Remove Badge Achievements From Users (#9896) [deploy]
* 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
2020-08-25 11:14:47 -06:00
Arit Amana
d6465750ba
[deploy] [Admin Tooling] Allow admins delete empty Connect Channels (#9873)
* Configure Delete Channel functionality

* Add specs

* Remove unnecessary variable

* Address PR review comments

* Revert optimization of any_admin? method

* Implement @any_admin? properly

* Fix markup to fix the styling

Co-authored-by: rhymes <rhymes@hey.com>
2020-08-20 14:55:48 +02:00
Molly Struve
05abf3839c
[deploy] Feature:Use Sidekiq to Run Scheduled Jobs (#9789) 2020-08-14 14:44:31 -05:00
Julianna Tetreault
c18b0f1ba1
Manage Badges in /admin/badges (#9721) [deploy]
* Add CRUD actions for badge management to Internal::Badges::Controller

* Update sytling of badges index view in index.html.erb
  -Uses a table to display all badges
  -Links to the badge edit page from the badge title
  -Displays a badges slug, title, and badge_image
  -Adds an Award Badge button to the index view

* Adds an edit view, edit.html.erb, for badges
  -Gives the ability to edit a badge title and/or slug
  -Adds an Update Badge button to the left of the view
  -Adds a Back to All Badges button to the right of the view
  -Displays the badge image in the edit form

* Adjusts the path names in #award_badges in Internal::Badges::Controller

* Adds CRUD actions to the Internal::Badges::Controller and needed routes

* Add a description field to the edit.html.erb for badge management

* Add #award to Internal::Badges::Controller with matching view and routes
  -Adds an #award method that sets @badge for #award_badges
  -Adds an award.html.erb view for awarding badges
  -Adds an award path for awarding badges
  -Removes unnecessary code from controller, routes, and views

* Adds image upload functionality to the edit view for badges

* Ensure that usernames are downcased when awarding badges
  -Chains downcase to usernames in #award_badges in
   Internal::Badges::Controller

* Move badge-related views from old Internal folder to the correct Admin folder

Change routes and paths from /internal to /admin

* Refactor badge_params in Admin::Badges::Controller

* Add additional tests around awarding and updating badges in /admin/badge_achievements

* Add a create view to /admin/badges
  -Adds new and create actions to Admin::Badges::Controller
  -Adds a create view for creating badges at new.html.erb
  -Adds a Create Badge button to the index view
  -Moves the Award Badges button to the bottom of the index view

* Add a test around creating badges and clean up existing specs in badges_spec.rb

Adjust path in admin_awards_badges_spec.rb to be correct path

* Adjust routes from /badges/award_badges to /badges/badge_achievements/award_badges

Update paths in admin/badge-related specs

* Adjust paths in badges_spec.rb to be admin_badge_achievements_award_badges_path

* Adjust button styling for Award Badge

* Adjust paths back to /admin/badges in badges_spec.rb

* Add clarification around usernames when awarding badges

* Mark test in black_box_spec.rb as pending due to Travis failure

* Change wording used around usernames and @ symbols in award.html.erb
2020-08-13 08:54:51 -06:00
Arit Amana
c1fe6a6488
[deploy] [Moderation] Allow admins to delete comments (#9628)
* Styling of Delete Comment

* Start hooking DELETE action up

* Add new route

* Add new action

* Update comment_policy.rb

* Update specs for comment_policy.rb

* Some more specs

* Update api call

* Building delete functionality

* Still building...

* Complete implementation

* Changes from PR review

* Fix failing spec; rework admin_delete method

* Protect redirect

* Improve admin_delete method

* Protect redirect

* Refactor JS file and admin_delete method

* Fix flash messages issues

* Fix confirm dialog

* Final QA changes
2020-08-13 10:15:48 -04:00
rhymes
7ffe7ba806
[deploy] Redirect /internal to /admin (#9716) 2020-08-10 20:36:30 +02:00
Nick Taylor
1faa7c723f
Updated docs.dev.to to docs.forem.com (#9666) 2020-08-07 11:24:53 -04:00
Josh Puetz
1c566e0ec4
[deploy] Move /internal to `/admin (#9639)
* First draft - all the big changes

* Changing some more references to 'internal'

* Relocate internal request tests to admin

* Relocate internal system tests to admin

* Fix trailing space

* Test fix

* Move queries from internal to admin

* Docs updates

* Rename internal stimuls controllers to admin (plus docs)

* Rename admin layout

* Fix routing after rebase

* Fixes for latest added admin interfaces

* Serviceworker ignore paths
2020-08-07 10:36:26 -04:00
Julianna Tetreault
5daf162629
[deploy] Update "/internal/badges" route to "/internal/badge_achievements" (#9643)
* Update /internal/badges route to be /internal/badges/award
  -Updates the route
  -Redirects the old route, /internal/badges, to the new route

* Updates the redirect in #award_badges to correct route
  -Updates #award_badges in Internal::Badges::Controller
   to account for the new route, /internal/badges/award

* Adjust route to be /internal/badges/award in admin_awards_badges_spec.rb

* Adjust URL to be /internal/badges/award in badges_spec.rb

* Replace /internal/badges/award with /internal/badge_achievements to follow convention
  -Updates the old route in routes.rb
  -Updates the old route in #award_badges in Internal::Badges::Controller
  -Updates the old route in admin_awards_badges_spec.rb
  -Updates the old route in badges_spec.rb
2020-08-06 09:58:19 -04:00
Ridhwana
fc86c30790
Profile Admin UI Setup Screen (v1) (#9610)
* Add ProfileField model

* Fix schema.rb

* Add service objects for base and link fields

* feat: show an index of profile fields and allow them to be edited

* Fix schema.rb

* Add service objects for base and link fields

* Add link fields to seeds

* Make placeholder a keyword argument

* Add work fields

* Add explanation column to profile fields

* Add coding fields

* Switch from inheritance to mixin

* Add email checkbox to base fields

* Add branding fields

* Add spec for ProfileFields::FieldDefinition

* chore: moved the migration file

* feat: add a create and destroy route

* feat: render a partial form

* fix: oops form instead of f

* Move migration back into correct location

* Rename column from explanation to description

* Rename attribute in mixin

* chore: update classed for buttons

* chore: rename from explanation to description

* chore: explanation to description

* chore: new profie field

* fix: only one submit button per form

* fix: update the form

* fix: remove files that got merged mistakenly

* chore: finally, some specs...

Co-authored-by: Michael Kohl <citizen428@dev.to>
2020-08-06 09:26:17 +02:00
Josh Puetz
cda18d0aa4
[deploy] Move Admin interface paths (#9576)
* Move administrate to /resource_admin

* Test fixes

* Update docs
2020-08-03 08:49:23 -04:00
Michael Kohl
1a6c6acd45
[deploy] Activate Devise::Lockable (#9535) 2020-07-30 10:28:51 -04:00
Alberto Pérez de Rada Fiol
115adbb1bd
[deploy] Add index and show pages for series (#9201)
* Add index and show pages for series

* Address code review

* Use `id` instead of `slug` to get collections

* Extract `collection_link` into the application helper

* Only count published articles

* Get rid of the `collection_link_class` method

* Add tests

* Fix test

* Use `**kwargs` instead of `options = {}`
2020-07-29 10:01:52 -04:00
Andy Zhao
a589529269
[deploy] Allow org admins to delete their organizations (#9357)
* Add destroy organization backend

* Add view for deleting org

* Add new line to end of file

* Refactor and move destroyable? to model

* Use a nice card to distinguish the message

* Prevent organizations from being deleted if they have credits

* Fix codeclimate issues

* Remove let_it_be_changeable for flakiness
2020-07-28 12:00:15 -04:00
Veggier
126367fa4a
Ability for admins to remove user from internal chat channels (#9235)
* change ui

* admins can remove users from internal chat channels

* rename destroy to remove_user

* change syntax

* add a single user

* remove a single user --debug

* remove a single user --debug

* remove a single user

* remove a single user

* remove a single user

* remove a single user

* add test for remove single user from internal chat_channel

* test

* sytax change

* add delete user for channel test

* add more test case for the remove user from chat channel

* change to single test case
2020-07-22 09:43:38 -04:00
narender2031
0cfc593150
[deploy] 🚀 Feature: Chat channel request manager (#9305)
* Feature 🚀 : Ability to delete messages in chat channels

- Sending message ID to frontend
- Deleting Message
- Use pusher to delete message realtime

* Minor Bug 🐞: Show message action only for current user

- User can delete or edit their own messages

* Test cases added

* Bug 🐞: Update message id for receiver

Message id was not sent to receiver by pusher

* Refactoring🛠: Message controller refactoring

* Test Cases📝 : Specs for Delete message added

* Feature 🚀 : Ability to edit messages

* Test Cases📝 : Specs for Edit message added

* Merge conflict resolved

* request manager info API

* 👨🏼‍🎨 Design added for requestCenter

* integrate request manager with API

* remove unused argument

* fix request manager card UI

* fix request card UI

* add request manager button

* handle no invitaion UI

* fix badge UI

* add request specs

* add jest specs

* remove the presenter

* fix code climate issues

* fix queries

* fix runbocop issues

* fix PR suggestions

* remove empty lines

Co-authored-by: Sarthak Sharma <7lovesharma7@gmail.com>
2020-07-22 09:12:09 -04:00
Sarthak Sharma
3addb64326
[deploy] 🚀 Feature: Chat channel membership manager component (#8945)
* Feature 🚀 : Ability to delete messages in chat channels

- Sending message ID to frontend
- Deleting Message
- Use pusher to delete message realtime

* Minor Bug 🐞: Show message action only for current user

- User can delete or edit their own messages

* Test cases added

* Bug 🐞: Update message id for receiver

Message id was not sent to receiver by pusher

* Refactoring🛠: Message controller refactoring

* Test Cases📝 : Specs for Delete message added

* Feature 🚀 : Ability to edit messages

* Test Cases📝 : Specs for Edit message added

* Merge conflict resolved

* fix video content issue

* add UI for membership management

* add api to update memberahip role

* add methods for manage membership

* Add integration test cases

* add emoji for admin

* Open member profile in sidecar only

* 🐞 Problem with direct channel sidecar

* 🐞 Few other UI enhancements

* fix mod typo

* add limit upto 4 for display active memberships

* fix UI issues

* fix action ui for membership

* fix sidebar redirection issue

* fix svg buttons

* add test cases

* fixed broken spec

* fix PR suggestions

* remove not used code

* fix typo

* fix PR suggestion

* fix typos

* add invitation url expiry

* fix specs

* fix PR suggestions

* removed unused gem

* remove presenter format

* handle invitation link expiry with redis

* fix PR suggestions

* user can view non-discoverable channel invitation link

* fix typos

* remove commented code

* add spacing

* PR suggestions

* remove class from button

* replace componentDidMount with commen function

* remove action button for single membership

* add chat message on update role

* add spece between lines

Co-authored-by: Narender Singh <narender2031@gmail.com>
Co-authored-by: Fernando Valverde <fdov88@gmail.com>
2020-07-20 08:08:31 -04:00
Molly Struve
62d43a1ce7
[deploy] Refactor: Remove Block Model and All Related Code (#9370) 2020-07-17 15:32:39 -05:00