Merge pull request #20104 from jolyonb/incr-179
INCR-179 Migrating openedx/features/journals
This commit is contained in:
@@ -1,22 +1,23 @@
|
||||
"""
|
||||
APIs providing support for Journals functionality.
|
||||
"""
|
||||
from urlparse import urljoin, urlsplit, urlunsplit
|
||||
import logging
|
||||
from __future__ import absolute_import
|
||||
import hashlib
|
||||
import logging
|
||||
import six
|
||||
|
||||
from six.moves.urllib.parse import urljoin, urlsplit, urlunsplit # pylint: disable=import-error
|
||||
from django.conf import settings
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.core.cache import cache
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from edx_rest_api_client.client import EdxRestApiClient
|
||||
from slumber.exceptions import HttpClientError, HttpServerError
|
||||
|
||||
from openedx.core.djangoapps.catalog.models import CatalogIntegration
|
||||
from openedx.core.djangoapps.oauth_dispatch.jwt import create_jwt_for_user
|
||||
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
|
||||
from openedx.core.djangoapps.waffle_utils import WaffleSwitchNamespace
|
||||
from slumber.exceptions import HttpClientError, HttpServerError
|
||||
|
||||
|
||||
LOGGER = logging.getLogger("edx.journals")
|
||||
JOURNALS_CACHE_TIMEOUT = 3600 # Value is in seconds
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
"""
|
||||
Journals Application Configuration
|
||||
"""
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.apps import AppConfig
|
||||
from openedx.core.djangoapps.plugins.constants import ProjectType, SettingsType, PluginURLs, PluginSettings
|
||||
|
||||
from openedx.core.djangoapps.plugins.constants import PluginSettings, PluginURLs, ProjectType, SettingsType
|
||||
|
||||
|
||||
class JournalsConfig(AppConfig):
|
||||
|
||||
@@ -2,21 +2,20 @@
|
||||
Test cases for journal page views.
|
||||
"""
|
||||
|
||||
import uuid
|
||||
import mock
|
||||
from __future__ import absolute_import
|
||||
|
||||
import uuid
|
||||
|
||||
import mock
|
||||
from django.conf import settings
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.http import HttpResponse
|
||||
|
||||
from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase
|
||||
from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
|
||||
from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
|
||||
from openedx.features.journals.tests.utils import (
|
||||
get_mocked_journal_access,
|
||||
override_switch
|
||||
)
|
||||
from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
|
||||
from openedx.features.journals.api import JOURNAL_INTEGRATION
|
||||
from openedx.features.journals.tests.utils import get_mocked_journal_access, override_switch
|
||||
|
||||
|
||||
@mock.patch.dict(settings.FEATURES, {"JOURNALS_ENABLED": True})
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
""" Tests for journals learner dashboard views. """
|
||||
|
||||
import mock
|
||||
from __future__ import absolute_import
|
||||
|
||||
import mock
|
||||
from django.conf import settings
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase
|
||||
from openedx.features.journals.tests.utils import get_mocked_journal_access, override_switch
|
||||
from openedx.features.journals.api import JOURNAL_INTEGRATION
|
||||
from openedx.features.journals.tests.utils import get_mocked_journal_access, override_switch
|
||||
|
||||
|
||||
@mock.patch.dict(settings.FEATURES, {"JOURNALS_ENABLED": True})
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
""" Tests for journals marketing views. """
|
||||
|
||||
import uuid
|
||||
import mock
|
||||
from __future__ import absolute_import
|
||||
|
||||
import uuid
|
||||
|
||||
import mock
|
||||
from django.conf import settings
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
|
||||
from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
|
||||
from openedx.features.journals.tests.utils import (get_mocked_journals,
|
||||
get_mocked_journal_bundles,
|
||||
get_mocked_pricing_data,
|
||||
override_switch)
|
||||
from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
|
||||
from openedx.features.journals.api import JOURNAL_INTEGRATION
|
||||
from openedx.features.journals.tests.utils import (
|
||||
get_mocked_journal_bundles,
|
||||
get_mocked_journals,
|
||||
get_mocked_pricing_data,
|
||||
override_switch
|
||||
)
|
||||
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
""" Returns the dummy data for journals endpoint of discovery."""
|
||||
from __future__ import absolute_import
|
||||
|
||||
import uuid
|
||||
from functools import wraps
|
||||
|
||||
from openedx.features.journals.api import WAFFLE_SWITCHES
|
||||
|
||||
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
Defines URLs for course bookmarks.
|
||||
"""
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.conf import settings
|
||||
from django.conf.urls import url
|
||||
|
||||
from openedx.features.journals.views.marketing import bundle_about
|
||||
from openedx.features.journals.views import learner_dashboard
|
||||
from openedx.features.journals.views.journal_xblock import render_xblock_by_journal_access
|
||||
from openedx.features.journals.views.marketing import bundle_about
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^bundles/{}/about'.format(r'(?P<bundle_uuid>[0-9a-f-]+)',),
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
"""
|
||||
View for journal page
|
||||
"""
|
||||
from __future__ import absolute_import
|
||||
|
||||
import datetime
|
||||
|
||||
from django.core.cache import cache
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from opaque_keys.edx.keys import UsageKey
|
||||
|
||||
from lms.djangoapps.courseware.views.views import render_xblock
|
||||
from opaque_keys.edx.keys import UsageKey
|
||||
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
|
||||
from openedx.features.journals.api import fetch_journal_access
|
||||
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
""" Journal Tab of Learner Dashboard views """
|
||||
from datetime import datetime, time
|
||||
from __future__ import absolute_import
|
||||
|
||||
import logging
|
||||
from datetime import datetime, time
|
||||
|
||||
from django.http import Http404
|
||||
|
||||
from edxmako.shortcuts import render_to_response
|
||||
from openedx.core.djangoapps.programs.models import ProgramsApiConfig
|
||||
from openedx.features.journals.api import (
|
||||
fetch_journal_access,
|
||||
journals_enabled,
|
||||
)
|
||||
|
||||
from openedx.features.journals.api import fetch_journal_access, journals_enabled
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
""" Journal bundle about page's view """
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.http import Http404
|
||||
|
||||
from edxmako.shortcuts import render_to_response
|
||||
from lms.djangoapps.commerce.utils import EcommerceService
|
||||
from openedx.core.djangoapps.catalog.models import CatalogIntegration
|
||||
from openedx.core.djangoapps.commerce.utils import ecommerce_api_client
|
||||
from openedx.features.journals.api import get_journal_bundles, get_journals_root_url
|
||||
from lms.djangoapps.commerce.utils import EcommerceService
|
||||
|
||||
|
||||
def bundle_about(request, bundle_uuid):
|
||||
|
||||
Reference in New Issue
Block a user