5757)
5858from course_discovery .apps .course_metadata .query import CourseQuerySet , CourseRunQuerySet , ProgramQuerySet
5959from course_discovery .apps .course_metadata .toggles import (
60- IS_SUBDIRECTORY_SLUG_FORMAT_ENABLED , IS_SUBDIRECTORY_SLUG_FORMAT_FOR_BOOTCAMP_ENABLED ,
61- IS_SUBDIRECTORY_SLUG_FORMAT_FOR_EXEC_ED_ENABLED
60+ IS_COURSE_RUN_FOR_DUMMY_SKU_GENERATION , IS_SUBDIRECTORY_SLUG_FORMAT_ENABLED ,
61+ IS_SUBDIRECTORY_SLUG_FORMAT_FOR_BOOTCAMP_ENABLED , IS_SUBDIRECTORY_SLUG_FORMAT_FOR_EXEC_ED_ENABLED
6262)
6363from course_discovery .apps .course_metadata .utils import (
6464 UploadToFieldNamePath , bulk_operation_upload_to_path , clean_query , clear_slug_request_cache_for_course ,
65- custom_render_variations , get_course_run_statuses , get_slug_for_course , is_ocm_course ,
65+ custom_render_variations , generate_sku , get_course_run_statuses , get_slug_for_course , is_ocm_course ,
6666 push_to_ecommerce_for_course_run , push_tracks_to_lms_for_course_run , set_official_state , subtract_deadline_delta ,
6767 validate_ai_languages
6868)
@@ -2810,10 +2810,10 @@ def get_seat_default_upgrade_deadline(self, seat_type):
28102810 return None
28112811 return subtract_deadline_delta (self .end , settings .PUBLISHER_UPGRADE_DEADLINE_DAYS )
28122812
2813- def update_or_create_seat_helper (self , seat_type , prices , upgrade_deadline_override , credit_provider = None , credit_hours = None ):
2813+ def update_or_create_seat_helper (self , seat_type , prices , upgrade_deadline_override ,
2814+ credit_provider = None , credit_hours = None ):
28142815 default_deadline = self .get_seat_default_upgrade_deadline (seat_type )
28152816 defaults = {'upgrade_deadline' : default_deadline }
2816-
28172817 if seat_type .slug in prices :
28182818 defaults ['price' ] = prices [seat_type .slug ]
28192819 if seat_type .slug == Seat .VERIFIED :
@@ -2822,6 +2822,9 @@ def update_or_create_seat_helper(self, seat_type, prices, upgrade_deadline_overr
28222822 defaults ['credit_provider' ] = credit_provider
28232823 defaults ['credit_hours' ] = credit_hours
28242824
2825+ # Waffle switch to control dummy SKU generation logic for 2U purpose.
2826+ if IS_COURSE_RUN_FOR_DUMMY_SKU_GENERATION .is_enabled ():
2827+ generate_sku (None , self ) # Generates a SKU for the provide by Seat
28252828 seat , __ = Seat .everything .update_or_create (
28262829 course_run = self ,
28272830 type = seat_type ,
@@ -2831,7 +2834,8 @@ def update_or_create_seat_helper(self, seat_type, prices, upgrade_deadline_overr
28312834 )
28322835 return seat
28332836
2834- def update_or_create_seats (self , run_type = None , prices = None , upgrade_deadline_override = None , credit_provider = None , credit_hours = None ):
2837+ def update_or_create_seats (self , run_type = None , prices = None , upgrade_deadline_override = None ,
2838+ credit_provider = None , credit_hours = None ):
28352839 """
28362840 Updates or creates draft seats for a course run.
28372841
@@ -2846,7 +2850,9 @@ def update_or_create_seats(self, run_type=None, prices=None, upgrade_deadline_ov
28462850
28472851 seats = []
28482852 for seat_type in seat_types :
2849- seats .append (self .update_or_create_seat_helper (seat_type , prices , upgrade_deadline_override , credit_provider = credit_provider , credit_hours = credit_hours ))
2853+ seats .append (self .update_or_create_seat_helper (
2854+ seat_type , prices , upgrade_deadline_override ,
2855+ credit_provider = credit_provider , credit_hours = credit_hours ))
28502856
28512857 # Deleting seats here since they would be orphaned otherwise.
28522858 # One example of how this situation can happen is if a course team is switching between
0 commit comments