Commit Graph

6138 Commits

Author SHA1 Message Date
Muhammad Anas
aea7fcee45 feat: added feature flag to enable blake2b hashing 2024-04-22 14:09:41 -04:00
Jillian
d67211051b feat: restrict Studio search results based on user permissions (#34471)
* feat: adds SearchAccess model

Stores a numeric ID for each course + library, which will generally be
shorter than the full context_key, so we can pack more of them into the
the Meilisearch search filter.

Also:

* Adds data migration pre-populates the SearchAccess model from the existing
  CourseOverview and ContentLibrary records
* Adds signal handlers to add/remove SearchAccess entries when content
  is created or deleted.
* Adds get_access_ids_for_request() helper method for use in views.
* Adds tests.

* test: can't import content.search in lms tests

* feat: use SearchAccess in documents and views

* Adds an access_id field to the document, which stores the
  SearchAccess.id for the block's context.
* Use the requesting user's allowed access_ids to filter search results
  to documents with those access_ids.
* Since some users have a lot of individual access granted, limit the
  number of access_ids in the filter to a large number (1_000)
* Updates tests to demonstrate.

* test: can't import content.search or content_staging in lms tests

* fix: make access_id field filterable

* fix: use SearchAccess.get_or_create in signal handlers

In theory, we shouldn't have to do this, because the CREATE and DELETE
events should keep the SearchAccess table up-to-date.

But in practice, signals can be missed (or in tests, they may be
disabled). So we assume that it's ok to re-use a SearchAccess.id created
for a given course or library context_key.

* refactor: refactors the view tests to make them clearer

Uses helper methods and decorators to wrap the settings and patches used
by multiple view tests.

* feat: adds org filters to meilisearch filter

* Uses content_tagging.rules.get_user_orgs to fetch the user's
  content-related orgs for use in the meilisearch filter.
* Limits the number of orgs used to 1_000 to keep token size down

* refactor: removes data migration

Users should use the reindex_studio management command to populate SearchAccess.

* refactor: adds functions to common.djangoapps.student.role_helpers

to allow general access to the user's RoleCache without having to access
private attributes of User or RoleCache.

Related changes:

* Moves some functionality from openedx.core.djangoapps.enrollments.data.get_user_roles
  to this new helper method.
* Use these new helper method in content_tagging.rules

* fix: get_access_ids_for_request only returns individual access

instead of all course keys that the user can read.

Org- and GlobalStaff access checks will handle the rest.

* fix: use org-level permissions when generating search filter

Also refactors tests to demonstrate this change for OrgStaff and
OrgInstructor users.

* refactor: remove SearchAccess creation signal handlers

Lets SearchAccess entries be created on demand during search indexing.

* feat: omit access_ids from the search filter that are covered by the user's org roles

---------

Co-authored-by: Rômulo Penido <romulo.penido@gmail.com>
2024-04-17 11:21:34 -07:00
Troy Sankey
f30ae71c23 feat: add more verbose logging around force_enrollment
After testing the enterprise bulk enrollment flow with
force_enrollment=True, I'm finding that the enrollment is still not
forced. This extra logging will hopefully help shed light on where this
boolean might be accidentally ignored.
2024-04-15 08:21:35 -07:00
Omar Al-Ithawi
83f448778a feat!: atlas pull for studio-frontend translations (#34261)
This pull request pulls translations via atlas for `studio-frontend` and refactor `load_sfe_i18n_messages` to load new translations into `conf/plugins-locale/studio-frontend` instead of relying on deprecated node.js package bundled translations.
2024-03-06 15:50:59 +00:00
Zainab Amir
383f5d636a feat: update account verification email context (#34294) 2024-02-27 03:20:15 -08:00
Attiya Ishaque
3a05fd20c6 refactor: Remove unused code for merchandising 2U LOBs (#34230) 2024-02-20 14:03:10 +05:00
Mubbshar Anwar
9fd5157577 fix: update activation email (#34136)
update account activation email message copy in body

VAN-1800
2024-02-20 11:48:50 +05:00
Attiya Ishaque
16e0333da9 refactor: remove the managment command populate user emails on braze (#34228) 2024-02-14 17:54:34 +05:00
Zachary Hancock
2f2ed4d6cb feat: send course role events to the event bus (#34158)
Notify the event bus when a user's role in a course is added or removed
2024-02-13 13:16:23 -05:00
salmannawaz
57b480b04f Update all edx-platform REST endpoints to support JWT Auth (#34152)
* chore: update API endpoints to support default JWT auth

The default DRF Auth classes were recently updated to allow for both JWT and Session auth by default. Any endpoint that overrides the AUTHENTICATION_CLASSES but has just session, just JWT or just both of those should be updated to remove the override.

Details in https://github.com/openedx/edx-platform/issues/33662
2024-02-13 10:46:58 -05:00
Nathan Sprenkle
7037c8d27b feat: remove rollout percentage code for learner home (#34198)
This code allowed us to control rollout but is no longer needed.
2024-02-07 15:27:57 +00:00
Feanil Patel
e6333d0c3d Merge pull request #33922 from Zeit-Labs/plugins-i18n
feat: atlas pull plugins translation | FC-0012
2024-02-01 13:07:32 -05:00
Syed Sajjad Hussain Shah
cb2a34e51f feat: logout other sessions on email change (#33846)
* feat: logout other sessions on email change

* fix: updated the approach for session invalidation

* fix: update and add tests

* fix: update tests with descriptive comments

* feat: add integration tests

* fix: store email in session update

* fix: add setting for tests

* fix: fix tests

* feat: Upgrade Python dependency edx-drf-extensions (#34135)

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: syedsajjadkazmii <syedsajjadkazmii@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: syedsajjadkazmii <syedsajjadkazmii@users.noreply.github.com>
2024-01-29 14:43:51 +05:00
Omar Al-Ithawi
867eeff993 feat: atlas pull plugins translation 2024-01-27 12:05:05 +03:00
Justin Hynes
426ee163bc revert: add brand_color variable for the email templates (#33421)"
This reverts commit 4ec70eb98b.

This commit introduced a new setting (`brand_color`) that does not appear to be set and is causing issues with account deletion and other parts of the courseware.

Reverting until we can understand the change better.
2024-01-24 18:47:02 +00:00
bydawen
4ec70eb98b feat: add brand_color variable for the email templates (#33421)
* feat: add brand_color variable for the email templates

* test: fix tests assertations

---------

Co-authored-by: Eugene Dyudyunov <evgen.dyudyunov@raccoongang.com>
2024-01-23 13:21:06 +05:00
Omar Al-Ithawi
a5251cc705 feat: atlas pull for XBlock translations 2024-01-12 12:49:46 +03:00
Zainab Amir
c233327ea0 feat: remove unused recommendations code (#33960) 2023-12-20 16:56:39 +05:00
Awais Qureshi
9d959c7d33 build: upgrading babel. (#33778)
* build: upgrading babel.
2023-11-27 16:37:35 +05:00
Mohammad Ahtasham ul Hassan
a57dd7325b feat: add course key param to track selection url (#33716) 2023-11-24 15:23:36 +05:00
Kshitij Sobti
f494586b84 feat: Add toggle to allow redirecting to courseware after enrollment.
This change adds a new waffle switch to redirect a student to coursware after
enrolment instead of the dashboard.
2023-11-09 15:38:11 +01:00
Feanil Patel
d32def97ab Merge pull request #33576 from thezaeemaanwar/badges_deletion_migrations
feat: Migrations for badges deletion
2023-11-09 09:06:54 -05:00
Rebecca Graber
ddabba458b feat: remove manual sends of events (#33642) 2023-11-03 10:36:50 -04:00
Feanil Patel
66e987997c Revert "Revert "chore: remove bok-choy settings"" 2023-11-01 13:41:37 -04:00
Robert Raposa
083ccbf09b Revert "chore: remove bok-choy settings" 2023-10-31 15:27:44 -04:00
Feanil Patel
3003abb092 Merge pull request #33350 from salman2013/salman/remove-bok-choy
chore: remove bok-choy settings
2023-10-31 11:19:56 -04:00
Andy Shultz
ad90c05b98 fix: remove unused and untested function 2023-10-26 11:00:37 -04:00
Andy Shultz
2fde582a4d docs: remove TODO which asks a question where the answer is no
TODO posits cache key is not in use, it is used in this file via signal.
2023-10-26 11:00:27 -04:00
Andy Shultz
fadc9618d4 docs: fix old course_id arg description to modern(2015) usage
the code asserts that this is a key rather than a string
2023-10-26 10:59:30 -04:00
thezaeemaanwar
216f8df0d2 feat: Migrations for badges deletion 2023-10-26 01:03:26 +05:00
salman2013
8d7e451c98 Merge remote-tracking branch 'upstream/master' into salman/remove-bok-choy 2023-10-24 09:06:15 +05:00
Andrew Shultz
7770e51fdd Merge pull request #33550 from openedx/ashultz0/rename_second_update_enrollment
fix: rename update cache functions to what they are
2023-10-23 09:17:55 -04:00
salman2013
9452cef97d chore: resolve conflicts 2023-10-23 12:05:25 +05:00
Andy Shultz
c3a24c126e fix: rename update cache functions to what they are 2023-10-20 10:19:42 -04:00
Muhammad Abdullah Waheed
caf8e456e2 Revert "feat: Account and profile MFE legacy removal - redeployment (#31893)" (#33542)
This reverts commit 08f5e7e563.
2023-10-19 12:26:29 +05:00
Muhammad Abdullah Waheed
08f5e7e563 feat: Account and profile MFE legacy removal - redeployment (#31893)
feat: Account and profile MFE legacy removal - redeployment

* Revert "Revert "FC-0001: Account pages -> micro-frontend (#30336)" (#31888)"

This reverts commit 90c4ca6e47.

* refactor: removed filters test from user_api accounts

---------

Co-authored-by: Bilal Qamar <59555732+BilalQamar95@users.noreply.github.com>
2023-10-19 10:43:15 +05:00
thezaeemaanwar
0b3e4d73b6 feat!: Removed Badges App
fix: restored badges handlers

feat: remove FE code for badges

fix: resolved failing tests

fix: removed test case for badges app

fix: unused import error

fix: Response Field Count

fix: shareable account response length

fix: resolved PR comments

fix: revert settings override

feat!: Removed Badges App

fix: restored badges handlers

feat: remove FE code for badges

fix: resolved failing tests

fix: removed test case for badges app

fix: unused import error

fix: Response Field Count

fix: shareable account response length

fix: revert subscription badge
2023-10-18 20:30:04 +05:00
Feanil Patel
7202c22e1d Merge pull request #33373 from openedx/feanil/update_password_length_default
feat: Update the minimum password length.
2023-10-17 10:08:15 -04:00
0x29a
febcccc147 fix: limited staff cohorts and gradebook access
Limited Staff should not have studio read access by design.

However, since many LMS views depend on the `has_course_author_access` check and `course_author_access_required`
decorator, we have to allow write access until the permissions become more granular. For example, there should
be STUDIO_VIEW_COHORTS and STUDIO_EDIT_COHORTS specifically for the cohorts endpoint, which is used to display
"Cohorts" instructor dashboard tab.
2023-10-16 22:06:09 +02:00
Piotr Surowiec
6b082c728f Merge pull request #33275 from open-craft/0x29a/bb7834/inherited-roles-studio-fix
Fix studio for users with derived roles and some other related changes [BB-7834]
2023-10-16 21:16:51 +02:00
Rebecca Graber
80a25bc368 feat: use new event_bus_producer_config (#33458) 2023-10-16 14:07:10 -04:00
0x29a
9e56a18f0f refactor: better permission names for instructor endpoints 2023-10-16 20:05:37 +02:00
0x29a
a45901ea6d feat: implement strict_role_checking context manager 2023-10-16 15:44:40 +02:00
0x29a
838d270db0 fix: users with derived roles should see their courses 2023-10-16 15:44:40 +02:00
Syed Sajjad Hussain Shah
7c25c5f4c8 feat: command to backfill users email addresses on braze (#33467) 2023-10-16 12:25:12 +05:00
Feanil Patel
64e91d4080 test: Update to an even longer password. 2023-10-12 10:31:13 -04:00
Feanil Patel
1e2ea85372 test: Update more tests that had short passwords. 2023-10-10 16:36:26 -04:00
Navin Karkera
565b34e4e0 feat: allow oauth configuration per site and backend (#32656)
Allows admins to configure same oauth backend for multiple sites.

This change includes site_id in KEY_FIELDS for oauth configuration
provider allowing a backend configuration for each site.
2023-10-10 11:33:23 -04:00
salman2013
52860c5c9d chore: resolve conflicts 2023-10-04 18:45:02 +05:00
Awais Qureshi
0611b12287 chore: enabling migrations tests for django4.2 (#33398)
* chore: enabling migrations tests for django4.2
2023-10-03 12:31:56 +05:00