Commit Graph

386 Commits

Author SHA1 Message Date
Cristhian Garcia
4ed8dde21c fix: add missing variables to library_listing context (#31752) 2023-02-13 16:12:04 -05:00
Cristhian Garcia
3427a9a491 feat: added organization dropdown in studio (#30975)
Adds a dropdown to select the organization. The dropdown will only be activated for users with CourseCreator permission to specific organizations in Studio.

Use cases:

When FEATURES['ENABLE_CREATOR_GROUP'] = True and the user has CourseCreator permission granted, a dropdown will appear with all specific organizations allowed. In case of all_organizations setting is enabled, all organizations will appear in the dropdown.

In case the user is staff, he can create organizations it will work as before
2023-02-08 10:48:15 -04:00
Muhammad Adeel Tajamul
22fd82043a temp: removed temporary course logs (#31682)
Co-authored-by: adeel.tajamul <adeel.tajamul@arbisoft.com>
2023-02-02 11:53:26 +05:00
Muhammad Adeel Tajamul
54cd3c562a temp: removed previous logs and added new logs for course export (#31664)
Co-authored-by: adeel.tajamul <adeel.tajamul@arbisoft.com>
2023-01-31 07:07:53 +05:00
0x29a
d338f00e39 refactor: rename module (or item) -> block within cms 2023-01-30 18:15:23 +01:00
Muhammad Adeel Tajamul
a8535ffaea fix: updated discussion enabled label (#31572)
Co-authored-by: adeel.tajamul <adeel.tajamul@arbisoft.com>
2023-01-24 14:42:22 +05:00
0x29a
83396ffb07 refactor: convert course_module term to course_block 2022-12-19 17:48:49 +01:00
0x29a
cf47f6385f refactor: xmodule/error_module.py -> xmodule/error_block.py 2022-12-19 17:48:49 +01:00
0x29a
0df1411636 refactor: xmodule/course_module.py -> xmodule/course_block.py 2022-12-19 17:48:49 +01:00
Muhammad Adeel Tajamul
6ef0aba48d feat: added discussion enabled for unit in studio (#31394)
Co-authored-by: adeel.tajamul <adeel.tajamul@arbisoft.com>
2022-12-14 13:21:03 +05:00
Maximiliano Fernandez
5fa05289a4 fix: remove course pre requisite only if is not entrance exam (#22529)
See details in the related PR

Co-authored-by: Omar Al-Ithawi <i@omardo.com>
Co-authored-by: Shadi Naif <shadinaif@gmail.com>
2022-11-17 08:20:38 -04:00
Usama Sadiq
4734f9f16e fix: bump pylint version (#31084) 2022-10-27 12:19:09 +05:00
Sagirov Evgeniy
b429e55cac feat!: remove Studio editing for Old Mongo Courses
This removes user-facing Studio edit support for Old Mongo courses
(courses that have a CourseKey of the format {org}/{course}/{run}).
This does not affect our normal courses, which have CourseKeys
starting with "course-v1:".

After this commit:

* Old Mongo courses will continue to appear on the Studio course
  listing page, but are not clickable.
* Any attempt to directly access an Old Mongo course in Studio via URL
  fail with a 404 error.
* Course certificates will still be available for Old Mongo courses.
* Old Mongo courses will continue to be returned by CourseOverviews
  and get_course_summaries() calls.

We decided against removing Old Mongo courses from the listing entirely
because that would require very expensive CourseOverviews query to
filter them out. Making that query more efficient would involve a
database migration to add appropriate indexing, which is something else
that we are looking to avoid. CourseOverviews are used everywhere in
the system, so we want to avoid changing how they work so that we can
minimize risk.

This is part of the Old Mongo Modulestore deprecation effort:
  https://github.com/openedx/public-engineering/issues/62
2022-09-14 10:53:33 -04:00
jfavellar90
0f4082427e fix: LI-10, improve home studio performance.
Improving Studio homepage performance for users with course access role with no course_id

Fixing unit tests

Added create CourseOverviewFactory after creating course to course listing test

Fix order import for `from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
`

(cherry picked from commit 997a0ff770744309f0ee84f3c0696a80310c5f2d)
2022-06-07 15:13:11 -05:00
Eugene Dyudyunov
8bd43207ca refactor!: switch from LegacyWaffle* to modern waffles (#30330)
This is a first stage for removing the LegacyWaffle* classes.

LegacyWaffleFlag usage replaced with WaffleFlag;
LegacyWaffleSwitche usage replaced with WaffleSwitch;
New CourseWaffleFlag added to the temporary module __future__ as FutureCourseWaffleFlag;
Updated all the imports to use CourseWaffleFlag from the __future__ module;

BREAKING CHANGE: A number of toggle related constants (e.g. ENABLE_ACCESSIBILITY_POLICY_PAGE)
changed types. They were strings, and are now toggle instances (e.g. WaffleSwitch). Although the entire
refactor should be self-contained in edx-platform, if any plugins or dependencies were directly
using these constants, they will break. If this is the case, try to find a better publicized way of
exposing those toggles.
2022-05-05 12:03:10 -04:00
Maria Grimaldi
c6cd064194 test: favor CourseOverview when getting course listing for groups 2022-03-03 10:04:39 -05:00
Maria Grimaldi
3322d18446 perf: improve course listing performance for non-staff users 2022-03-03 10:04:39 -05:00
Jawayria
02ee9ae2cc chore: Applied lint-amnesty on cms/djangoapps/contentstore/views 2021-12-10 19:15:29 +05:00
M. Zulqarnain
e54fb5f76e feat: New codemods on CMS (#28768) 2021-10-25 12:59:54 +05:00
Usama Sadiq
9ee8df0980 fix: Remove pylint constraint and fix warnings (#28646) 2021-10-20 23:00:13 +05:00
Usama Sadiq
ab4c14afe3 fix: fix pylint warnings (#29049) 2021-10-20 16:28:18 +05:00
Farhaan Bukhsh
48ad7effb1 feat: grant course/library creation rights by organization (#26616)
Current State (before this commit):

  Studio, as of today doesn't have a way to restrict a user to
  create a course in a particular organization. What Studio
  provides right now is a CourseCreator permission which gives
  an Admin the power to grant a user the permission to create
  a course.

  For example: If the Admin has given a user Spiderman the
  permission to create courses, Spiderman can now create courses
  in any organization i.e Marvel as well as DC.
  There is no way to restrict Spiderman from creating courses
  under DC.

Purpose of this commit:

  The changes done here gives Admin the ability to restrict a
  user on an Organization level from creating courses via the
  Course Creators section of the Studio Django administration
  panel.

  For example: Now, the Admin can give the user Spiderman the
  privilege of creating courses only under Marvel organization.
  The moment Spiderman tries to create a course under some
  other organization(i.e DC), Studio will show an error message.

  This change is available to all Studio instances that
  enable the FEATURES['ENABLE_CREATOR_GROUP'] flag.
  Regardless of the flag, it will not affect any instances that choose
  not to use it.

BB-3622
2021-09-10 12:43:26 -04:00
Kshitij Sobti
8cf751a405 feat: Add REST APIs for course advanced settings and course tabs
This commit adds new APIs that allow MFEs to modify a course's advanced settings
and to update tab settings to show/hide/move tabs.
2021-08-31 11:11:46 +05:00
Ahtisham Shahid
377dec74aa feat: Added pages&resources url to missing pages (#28472)
* feat: Removed extra pages by using waffle flag

* refactor:moved pages_and_resources_url context in header file

* refactor: cleanup of header file

* refactor: removed redundant instances of mfe url from context

* fix: fixed pylint issues
2021-08-20 12:44:40 +05:00
AsadAzam
ff5b3d532d Move pages and resource mfe link to content menu (#27937) 2021-06-16 18:45:07 +05:00
Ahtisham Shahid
ec980a2ba8 refactor:moved mfe proctoring to central point
refactor:fixed variable names

refactor:fixed linter errors

refactor:fixed linter errors

refactor:fixed checklist view variable names

fix: removed redundant variables

refactor:moved exam settings to toggles

refactor: changed function params and added tests

refactor: moved toggle to method

fix: updated toggle and method docs
2021-06-09 14:14:10 +05:00
Usama Sadiq
1b55cc2957 refactor: pyupgrade second iteration (#27447) 2021-05-10 13:43:38 +05:00
M. Zulqarnain
41e5403f4e BOM-2369 (D): pyupgrade on contentstore/views (#26767)
* pyupgrade on contentstore/views

* Apply suggestions from code review

Co-authored-by: Usama Sadiq <usama.sadiq@arbisoft.com>

Co-authored-by: Usama Sadiq <usama.sadiq@arbisoft.com>
2021-03-05 14:55:14 +05:00
Usman Khalid
dd96a2aa72 Convert Course, Section and Sequence XModules to XBlocks. (#25965) 2021-03-02 10:29:33 -05:00
Ahtisham Shahid
774f2956de Created separate view for library (#26273) 2021-02-16 17:39:32 +05:00
usamasadiq
7bbde8f0f5 Applied pylint-amnesty 2021-02-08 13:00:22 +05:00
Ahtisham Shahid
ed1156a690 Improved traces for new relic in CMS dashboard (#26126)
* Improved traces for new relic in cms dashboard
2021-01-25 14:15:54 +05:00
Usman Khalid
9e38b17202 Convert ErrorModule and NonStaffErrorModule to XBlocks. (#25570) 2021-01-07 10:51:33 -05:00
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
Kyle McCormick
4dda73d797 [BD-14] Migrate all environments to use database-backed organizations (#25153)
* Install `organizations` app into LMS and Studio non-optionally.
* Add toggle `ORGANIZATIONS_AUTOCREATE` to Studio.
* Remove the `FEATURES["ORGANIZATIONS_APP"]` toggle.
* Use the new `organizations.api.ensure_organization` function to
  either validate or get-or-create organizations, depending
  on the value of `ORGANIZATIONS_AUTOCREATE`,
  when creating course runs and V2 content libraries.
  We'll soon use it for V1 content libraries as well.
* Remove the `util.organizations_helpers` wrapper layer
  that had to exist because `organizations` was an optional app.
* Add `.get_library_keys()` method to the Split modulestore.
* Add Studio management command for backfilling organizations tables
  (`backfill_orgs_and_org_courses`).

For full details, see
https://github.com/edx/edx-organizations/blob/master/docs/decisions/0001-phase-in-db-backed-organizations-to-all.rst

TNL-7646
2020-12-02 13:58:40 -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
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
87b5463d42 Use SettingDictToggle to document ENTRANCE_EXAMS 2020-10-29 11:11:02 +01:00
Kyle McCormick
a3deb6e317 Sort imports in cms/
Command: `isort --recursive cms/`
2020-10-19 09:34:31 -04:00
Kyle McCormick
538dbf696b Import CMS code using fully qualified module names
or, using proper the proper Python 3 relative imports
(e.g., 'from .views import x') which are standard and
unambiguous.
2020-10-19 09:34:31 -04:00
Zachary Hancock
33f6d77f31 Alert banner for proctoring settings error (#24960) 2020-09-17 14:15:34 -04:00
Adolfo R. Brandes
455dd9db4c New library authoring MFE toggle 2020-08-07 09:22:01 -04:00
alangsto
7ea9714a33 Updated URLs to course-authoring MFE (#24468)
* updated urls to course-authoring MFE

* updates for requested changes

* updated for pylint errors
2020-07-13 16:10:48 -04:00
Aarif
98af9ce418 remove useless-supression warnings 2020-05-01 19:42:15 +05:00
Adeel Khan
d8fb768684 Using Feature flag to disable Mobile Course Available UI
This patch would disable Mobile Course Available
UI field in studio's advanced settings based on
DISABLE_MOBILE_COURSE_AVAILABLE flag..

PROD-1243
2020-02-13 19:49:09 +05:00
Feanil Patel
9cf2f9f298 Run 2to3 -f future . -w
This will remove imports from __future__ that are no longer needed.

https://docs.python.org/3.5/library/2to3.html#2to3fixer-future
2019-12-30 10:35:30 -05:00
Omar Al-Ithawi
1e02748d65 Hide the re-index button for non-global staff 2019-11-25 17:49:46 +03:00
Nicholas D'Alfonso
545d5eddc8 DISCO-188 publisher link
Add publisher link to settings dropdown if the features setting
is set.
2019-10-11 09:29:24 -04:00
Michael Terry
e4617f0dde Show expired VUD in Studio
If the verified mode has expired, we still want to show its
upgrade deadline in Studio settings.
2019-09-30 11:49:06 -04:00
Nicholas D'Alfonso
039b7aed29 DISCO-1342 hide fields
hide course card image, course about page image, and course
display name when publisher flag is turned on
2019-09-19 11:56:00 -04:00