diff --git a/cms/envs/aws.py b/cms/envs/aws.py index 7fdd7496a4..bae10699c1 100644 --- a/cms/envs/aws.py +++ b/cms/envs/aws.py @@ -43,7 +43,6 @@ TEMPLATE_DEBUG = False EMAIL_BACKEND = 'django_ses.SESBackend' SESSION_ENGINE = 'django.contrib.sessions.backends.cache' -DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' # IMPORTANT: With this enabled, the server must always be behind a proxy that # strips the header HTTP_X_FORWARDED_PROTO from client requests. Otherwise, @@ -251,6 +250,13 @@ AWS_SECRET_ACCESS_KEY = AUTH_TOKENS["AWS_SECRET_ACCESS_KEY"] if AWS_SECRET_ACCESS_KEY == "": AWS_SECRET_ACCESS_KEY = None +if AUTH_TOKENS.get('DEFAULT_FILE_STORAGE'): + DEFAULT_FILE_STORAGE = AUTH_TOKENS.get('DEFAULT_FILE_STORAGE') +elif AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY: + DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' +else: + DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage' + DATABASES = AUTH_TOKENS['DATABASES'] MODULESTORE = convert_module_store_setting_if_needed(AUTH_TOKENS.get('MODULESTORE', MODULESTORE)) CONTENTSTORE = AUTH_TOKENS['CONTENTSTORE'] diff --git a/lms/djangoapps/certificates/migrations/0022_default_modes.py b/lms/djangoapps/certificates/migrations/0022_default_modes.py index 0335aff6c9..10d6334b04 100644 --- a/lms/djangoapps/certificates/migrations/0022_default_modes.py +++ b/lms/djangoapps/certificates/migrations/0022_default_modes.py @@ -16,7 +16,7 @@ class Migration(DataMigration): conf.mode = mode file_name = mode + '.png' conf.icon.save( - file_name, + 'badges/{}'.format(file_name), File(open(settings.PROJECT_ROOT / 'static' / 'images' / 'default-badges' / file_name)) ) conf.save() diff --git a/lms/envs/aws.py b/lms/envs/aws.py index 8b4601bb4a..4154cd5394 100644 --- a/lms/envs/aws.py +++ b/lms/envs/aws.py @@ -47,7 +47,6 @@ TEMPLATE_DEBUG = False EMAIL_BACKEND = 'django_ses.SESBackend' SESSION_ENGINE = 'django.contrib.sessions.backends.cache' -DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' # IMPORTANT: With this enabled, the server must always be behind a proxy that # strips the header HTTP_X_FORWARDED_PROTO from client requests. Otherwise, @@ -400,6 +399,13 @@ if AWS_SECRET_ACCESS_KEY == "": AWS_STORAGE_BUCKET_NAME = AUTH_TOKENS.get('AWS_STORAGE_BUCKET_NAME', 'edxuploads') +if AUTH_TOKENS.get('DEFAULT_FILE_STORAGE'): + DEFAULT_FILE_STORAGE = AUTH_TOKENS.get('DEFAULT_FILE_STORAGE') +elif AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY: + DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' +else: + DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage' + # Specific setting for the File Upload Service to store media in a bucket. FILE_UPLOAD_STORAGE_BUCKET_NAME = ENV_TOKENS.get('FILE_UPLOAD_STORAGE_BUCKET_NAME', FILE_UPLOAD_STORAGE_BUCKET_NAME) FILE_UPLOAD_STORAGE_PREFIX = ENV_TOKENS.get('FILE_UPLOAD_STORAGE_PREFIX', FILE_UPLOAD_STORAGE_PREFIX)