@method_decorator(enterprise_login_required)<EOL><INDENT>def post(self, request, enterprise_uuid, program_uuid):<DEDENT>
verify_edx_resources()<EOL>enterprise_customer = get_enterprise_customer_or_404(enterprise_uuid)<EOL>with transaction.atomic():<EOL><INDENT>enterprise_customer_user, __ = EnterpriseCustomerUser.objects.get_or_create(<EOL>enterprise_customer=enterprise_customer,<EOL>user_id=request.user.id<EOL>)<EOL>enterprise_customer_user.update_session(request)<EOL><DEDENT>context_data = get_global_context(request, enterprise_customer)<EOL>program_details, error_code = self.get_program_details(request, program_uuid, enterprise_customer)<EOL>if error_code:<EOL><INDENT>return render(<EOL>request,<EOL>ENTERPRISE_GENERAL_ERROR_PAGE,<EOL>context=context_data,<EOL>status=<NUM_LIT>,<EOL>)<EOL><DEDENT>if program_details['<STR_LIT>']:<EOL><INDENT>return redirect(LMS_PROGRAMS_DASHBOARD_URL.format(uuid=program_uuid))<EOL><DEDENT>basket_page = '<STR_LIT>'.format(<EOL>basket_url=BASKET_URL,<EOL>params=urlencode(<EOL>[tuple(['<STR_LIT>', sku]) for sku in program_details['<STR_LIT>']] +<EOL>[tuple(['<STR_LIT>', program_uuid])]<EOL>)<EOL>)<EOL>if get_data_sharing_consent(<EOL>enterprise_customer_user.username,<EOL>enterprise_customer.uuid,<EOL>program_uuid=program_uuid,<EOL>).consent_required():<EOL><INDENT>return redirect(<EOL>'<STR_LIT>'.format(<EOL>grant_data_sharing_url=reverse('<STR_LIT>'),<EOL>params=urlencode(<EOL>{<EOL>'<STR_LIT>': basket_page,<EOL>'<STR_LIT>': reverse(<EOL>'<STR_LIT>',<EOL>args=[enterprise_customer.uuid, program_uuid]<EOL>),<EOL>'<STR_LIT>': enterprise_customer.uuid,<EOL>'<STR_LIT>': program_uuid,<EOL>}<EOL>)<EOL>)<EOL>)<EOL><DEDENT>return redirect(basket_page)<EOL>
Process a submitted track selection form for the enterprise.