Commit Graph

159 Commits

Author SHA1 Message Date
Régis Behmo
a16cd71046 Start waffle namespace deprecation
By explicitly importing the legacy namespace classes, we make it clear
that we are using soon-to-be-deprecated classes. We will then be able to
start removing the legacy classes, one module at a time.
2020-12-03 16:06:14 +01:00
Muhammad Ammar
60f30a9aa5 Merge pull request #25734 from edx/ammar/ent-3670-get-learners-enterprise-info-from-db
try to get learner's enterprise information from DB if there is no enterprise customer associated with sso provider id
2020-12-02 21:02:38 +05:00
muhammad-ammar
f19b074927 try to get learner's enterprise information from DB if there is no
enterprise customer associated with sso provider id

ENT-3670
2020-12-02 19:49:21 +05:00
muhammad-ammar
b9e87817f8 add logs for dsc flow to identify why None is being returned as
enterprise customer uuid for a learner even though the leaner has a
valid active enerprise present

ENT-3670
2020-12-02 14:08:30 +05:00
Muhammad Ammar
c508d42a5c Revert "extract a learners active enterprise existing details" 2020-12-01 22:29:59 +05:00
muhammad-ammar
a831520b8e extract a learners active enterprise existing details
ENT-3670
2020-12-01 12:37:17 +05:00
Alex Dusenbery
341c1c98e5 ENT-3503 | Add unit tests to cover 100% of openedx.features.enterprise_support.utils, all in a single test file. 2020-11-23 14:52:41 -05:00
Alex Dusenbery
2204caaa6b ENT-3503 | Adds more unit tests for enterprise_support.api, and one TODO for same. 2020-11-23 11:42:36 -05:00
Robert Raposa
8eef18710d set code_owner for celery tasks
ARCHBOM-1260

Co-authored-by: Tim McCormack <tmccormack@edx.org>
2020-11-17 15:33:33 -05:00
Kyle McCormick
151bd13666 Use full names for common.djangoapps imports; warn when using old style (#25477)
* Generate common/djangoapps import shims for LMS
* Generate common/djangoapps import shims for Studio
* Stop appending project root to sys.path
* Stop appending common/djangoapps to sys.path
* Import from common.djangoapps.course_action_state instead of course_action_state
* Import from common.djangoapps.course_modes instead of course_modes
* Import from common.djangoapps.database_fixups instead of database_fixups
* Import from common.djangoapps.edxmako instead of edxmako
* Import from common.djangoapps.entitlements instead of entitlements
* Import from common.djangoapps.pipline_mako instead of pipeline_mako
* Import from common.djangoapps.static_replace instead of static_replace
* Import from common.djangoapps.student instead of student
* Import from common.djangoapps.terrain instead of terrain
* Import from common.djangoapps.third_party_auth instead of third_party_auth
* Import from common.djangoapps.track instead of track
* Import from common.djangoapps.util instead of util
* Import from common.djangoapps.xblock_django instead of xblock_django
* Add empty common/djangoapps/__init__.py to fix pytest collection
* Fix pylint formatting violations
* Exclude import_shims/ directory tree from linting
2020-11-10 07:02:01 -05:00
Muhammad Ammar
dd732c4f68 Merge pull request #25514 from edx/ammar/update-dsc-cache-key
refactor dsc logs to avoid splunk noise
2020-11-04 19:17:26 +05:00
muhammad-ammar
f0aae8ecf5 * update DSC needed cache key to invalidate existing stored values
* refactor DSC logs

ENT-3494
2020-11-04 17:52:02 +05:00
Régis Behmo
4586002956 Import waffle classes from edx_toggles instead of waffle_utils
Those classes were ported to edx_toggles. The imports remain in
waffle_utils.__init__ for backward compatibility.
2020-11-03 19:25:37 +01:00
Régis Behmo
2307dff4c9 Deprecate WaffleFlag.override method
This allows us to get rid of waffle_utils' custom WaffleFlag method.
2020-11-03 19:25:37 +01:00
muhammad-ammar
2cc0688e1c convert enterprise customer uuid to str before comparison
ENT-3494
2020-11-03 00:20:05 +05:00
muhammad-ammar
5f04fd35a0 more logs for data sharing consent
ENT-3494
2020-11-02 20:24:44 +05:00
muhammad-ammar
b8a315933f add log to get insights about why data sharing consent is not required 2020-10-29 20:57:27 +05:00
Muhammad Ammar
1d28f5d60f Merge pull request #25447 from edx/ammar/enterprise-customer-session-storage
update logic to store learner's enterprise customer info in request session
2020-10-27 19:35:37 +05:00
muhammad-ammar
5adf9fdd8b store a learners enterprise customer info into request session only if
user is authenticated. This is needed to avoid storing `None` as
enterprise customer info in request session.
2020-10-27 19:12:01 +05:00
Mike OConnell
0dc494360d Correcting error with undeclared local (#25422)
Previous rollback introduced this error while resolving merge
conflicts. Line declaring the local variable was accidentally
omitted.

ENT-3494
2020-10-23 12:48:59 -04:00
Mike OConnell
64ee4a8972 Rolling back previous changes (#25418)
Rolling back previous changes after unexpected behavior
when testing in stage.

ENT-3494
2020-10-23 07:09:09 -04:00
Mike OConnell
b4f7647b40 Moco/ent 3494 (#25408)
* Added logging statements around DSC

Added logging statements to help diagnose failures in presenting
Data Sharing Consent views to learners who have not consented to
data sharing, but their enterprise requires it

ENT-3494

* Yet more logging statements around DSC

Added more logging statements to help diagnose failures in presenting
Data Sharing Consent views to learners who have not consented to
data sharing, but their enterprise requires it. These new logs provide
further detail into the call to the enterprise API to check for consent.

This changelist slightly changes the logic to determine if a consent
check is needed. The changes involve breaking out the conditions of the
iterated checks on the learner details to allow for more granular logging.

ENT-3494
2020-10-22 21:33:16 -04:00
Jeff Chaves
d25d4038fd ENT-3460: updating usage of EnterpriseCustomerBrandingConfiguration, edx-enterprise 3.8.42 (#25376)
* bumping enterprise version

* adding pillow constraint

* updating usage of EnterpriseCustomerBrandingConfiguration
2020-10-19 16:42:16 -04:00
Alex Dusenbery
98719faca8 Revert "bumping enterprise version to 3.8.35 (#25342)"
This reverts commit 5bf54d696a.
2020-10-14 19:56:55 -04:00
Jeff Chaves
5bf54d696a bumping enterprise version to 3.8.35 (#25342)
* bumping enterprise version

* fixing platform tests broken by branding config changes
2020-10-14 14:42:39 -04:00
Mike OConnell
fa435e697b Added logging statements around DSC (#25320)
Added logging statements to help diagnose failures in presenting
Data Sharing Consent views to learners who have not consented to
data sharing, but their enterprise requires it

ENT-3494
2020-10-12 10:42:43 -04:00
Calen Pennington
4456269508 Merge pull request #25305 from cpennington/always-reference-task-packages-absolutely
Always import task packages by absolute paths
2020-10-08 14:41:00 -04:00
Calen Pennington
2714da86a4 Always import task packages by absolute paths
This follows the recommendation in the Celery documentation so as to
not confuse automatic task name generation.

Docs: https://docs.celeryproject.org/en/stable/userguide/tasks.html#automatic-naming-and-relative-imports
2020-10-08 14:10:17 -04:00
HammadAhmadWaqas
215d004930 Handle Client Error for the API called in refund_order_voucher signal. 2020-10-07 11:28:26 +05:00
Alex Dusenbery
3292104470 enterprise_customer_uuid_for_request() should not return a __CACHE_MISS__. 2020-09-29 12:03:33 -04:00
Alex Dusenbery
de277ce46b Prevent an unbound local variable exception in enterprise_support.api. Add more unit tests for same. 2020-09-22 11:15:17 -04:00
Hammad Ahmad Waqas
3b23a9b227 Merge pull request #25003 from edx/hammad/ENT-3337
catch signal UNENROLL_DONE signal and call /api/v2/enterprise/coupons…
2020-09-22 19:51:35 +05:00
Alex Dusenbery
4ad2df083d Ensure that get_enterprise_learner_portal_enabled_message() returns None when there is no associated enterprise customer for the given request. Add unit tests for this function. 2020-09-21 12:47:00 -04:00
Alex Dusenbery
4bb1914ec6 ENT-3367 | Show at most 1 Enterprise Learner Portal dashboard link in the header user-menu. Also, guard against no branding config when getting learner portal data. 2020-09-18 10:23:32 -04:00
HammadAhmadWaqas
30edb7ef50 catch signal UNENROLL_DONE signal and call /api/v2/enterprise/coupons/create_refunded_voucher/ API. 2020-09-17 15:39:13 +05:00
Régis Behmo
307457a255 Simplify hack to obtain waffle module names
Instead of going up the stacktrace to find the module names of waffle
flags and switches, we manually pass the module __name__ whenever the
flag is created. This is similar to `logging.getLogger(__name__)`
standard behaviour.

As the waffle classes are used outside of edx-platform, we make the new
module_name argument an optional keyword argument. This will change once
we pull waffle_utils outside of edx-platform.

Note that the module name is normally only required to view the list of
existing waffle flags and switches. The module name should not be
necessary to verify if a flag is enabled. Thus, maybe it would make
sense to create a `add` class methor similar to:

    class WaffleFlag:
        @classmethod
        def add(cls, namespace, flag, module):
            instance = cls(namespace, flag)
            cls._class_instances.add((instance, module))
2020-09-14 09:30:24 +02:00
Brittney Exline
1af80ff205 [ENT-3315] Reduce calls to enterprise-learner endpoint by looking up data from db 2020-08-12 15:24:39 -06:00
Alex Dusenbery
c69fb5b274 ENT-2892 | Bump edx-enterprise to 3.4.36. This version removes some model field references, but does not create a migration, to the test to check that migrations are in sync has been skipped here. 2020-08-04 14:24:56 -04:00
Jeff LaJoie
a2d2646ee5 Merge pull request #24634 from edx/jlajoie/enterprise-header-caching-fix
Fixes session caching for enterprise portal links by only caching for auth'd learners
2020-07-30 10:33:40 -04:00
Jeff LaJoie
4282530faf Fixes session caching for enterprise portal links by only caching for auth'd learners 2020-07-30 09:18:35 -04:00
Adam Stankiewicz
00f4ea3fc3 fix keyerror with request.session (#24642)
* fix keyerror with request.session

* improve the conditional
2020-07-29 20:44:43 -04:00
Jeff Chaves
87f444fd44 ENT-3143: display message banner guiding user to their enterprise LP if enabled (#24625)
* display message banner guiding user to their enterprise LP if enabled

* adding new sass class name to use same styling as recovery email alert
2020-07-29 11:55:02 -04:00
Jeff Chaves
e1bd970b46 ENT-2894: Use new welcome template when redirected from enterprise proxy login view (#24587)
* using new welcome template when redirected from enterprise proxy login view

* enabling safe redirects to enterprise learner portal from login in devstack

* ading admin portal to login redirect whitelist

* running make upgrade to version bump edx-enterprise
2020-07-24 17:40:42 -04:00
Jeff LaJoie
bf11b68fda ENT-2893: Updates header branding and href for Enterprise learners 2020-07-17 08:59:43 -04:00
Binod Pant
167d8f278f ENT-3007 : round 2 API endpoints for samlproviderconfig and samlproviderdata (#24456)
* ENT-3007 auth/saml/v0/saml/providerdata and auth/saml/v0/saml/providerconfig endpoints

Move code to subfolder for samlproviderconfig

extra comma

undo accidental remove of import

GET works for a single config now

Use ModelViewSet to get all CRUD method. Test still fails

Add auth/saml/v0/providerdata endpoints

fixup reverse and test issue, remove leading caret

just triggering run, why is it failing in CI?

pycodelint fixes

Skip auth tests unless feature is on

Tests for post/put for samlproviderdata

move urls to their own folders

api tests for post samlprovierconfig

create 1 providerconfig test case

lint fixes

lint

lint

cleanup code local urls /samlproviderconfig works

note needed right now

Fix import errors

lint

unused import

wip: first attempt at rbac auth and jwt cookie in test

round 2 with enterprise uuid as url param for samlproviderconfig

improve tests, still dont pass

fix test by using system role, wip other test

fix create test

add get/post tests for providerdata

isort fixes

string lint fix

Cleanup based on feedback round1

move utils to tests package

Move util fn to openedx.feature area

lint

ENT-3007 : Round 2 of work on auth/saml/v0/providerconfig and auth/saml/v0/providerdata endpoints

* Fix test issue use string uuid for permission obj

* snake case changes provider_config

* snake case

* provider_data, tests and lint

* patch and delete tests for providerdata

* snake_case

* snake_case

* snake_case

* make patch test stronger

* 404 if invalid uuid for get param

* common util for validate uuid4

* unused import

* lint fixes for pycodestyle

* 400 when uuid is missing

* 400 instead of 404 for missing uuid

* spell fix

* update docstring for api usage

* docstring clarify
2020-07-15 10:34:26 -04:00
Feanil Patel
5470ce5805 Revert "ENT-3007 : Add auth/saml/v0/providerconfig|data CRUD endpoints for use in admin portal (#24298)"
This reverts commit 96ddcdc288.
2020-07-10 13:38:30 -04:00
Binod Pant
96ddcdc288 ENT-3007 : Add auth/saml/v0/providerconfig|data CRUD endpoints for use in admin portal (#24298)
* Add auth/samlproviderconfig CRUD endpoints for use in admin portal

Fixes: ENT-3007

* Move code to subfolder for samlproviderconfig

* extra comma

* undo accidental remove of import

* GET works for a single config now

* Use ModelViewSet to get all CRUD method. Test still fails

* Add auth/saml/v0/providerdata endpoints

* fixup reverse and test issue, remove leading caret

* just triggering run, why is it failing in CI?

* pycodelint fixes

* Skip auth tests unless feature is on

* Tests for post/put for samlproviderdata

* move urls to their own folders

* api tests for post samlprovierconfig

* create 1 providerconfig test case

* lint fixes

* lint

* lint

* cleanup code local urls /samlproviderconfig works

* note needed right now

* Fix import errors

* lint

* unused import

* wip: first attempt at rbac auth and jwt cookie in test

* round 2 with enterprise uuid as url param for samlproviderconfig

* improve tests, still dont pass

* fix test by using system role, wip other test

* fix create test

* add get/post tests for providerdata

* isort fixes

* string lint fix

* Cleanup based on feedback round1

* move utils to tests package

* Move util fn to openedx.feature area

* lint

* lint fix

* remove unused import
2020-07-10 11:23:13 -04:00
Mike O'Connell
d191b52ee9 Check current enterprise for consent
When checking if consent is needed, ignore any enterprise
learner details that are not for the learner's currently
active enterprise.

ENT-3049
2020-06-29 12:57:03 -04:00
muhammad-ammar
4a3eb16296 override enrollment attributes for learners
ENT-2998
2020-06-24 21:37:24 +05:00
Manjinder Singh
566765f919 Removing flaky test (#24262) 2020-06-19 12:13:52 -04:00