DEFAULT_FILE_STORAGE='django.core.files.storage.FileSystemStorage'
-MEDIA_S3_BUCKET = '/media/bucket/'
-
FILE_UPLOAD_TEMP_DIR = '/tmp'
# Absolute path to the directory static files should be collected to.
POSTMAN_DISALLOW_ANONYMOUS = True
+########################
+# AWS S3
+########################
+
+AWS_ACCESS_KEY_ID=""
+AWS_SECRET_ACCESS_KEY=""
+AWS_S3_REGION_NAME=""
+AWS_S3_ENDPOINT_URL=""
+AWS_S3_ENCRYPTION=True
+AWS_S3_FILE_OVERWRITE=False
+AWS_STORAGE_BUCKET_NAME=""
+MEDIA_S3_BUCKET = '/media/bucket/'
+
########################
# TELEFORMA
########################
TELEFORMA_ORGANIZATION = 'Pré-Barreau - CRFPA'
TELEFORMA_SUBJECTS = ('Barreau', 'CRFPA', 'e-learning')
TELEFORMA_DESCRIPTION = "E-learning Pré-Barreau - CRFPA"
+TELEFORMA_ADMIN = "Admin-CRFPA"
TELEFORMA_E_LEARNING_TYPE = 'CRFPA'
+
TELEFORMA_GLOBAL_TWEETER = False
TELEFORMA_PERIOD_TWEETER = True
-TELEFORMA_EXAM_TOPIC_DEFAULT_DOC_TYPE_ID = 4
-TELEFORMA_EXAM_SCRIPT_UPLOAD = True
-TELEFORMA_ADMIN = "Admin-CRFPA"
+
TELEFORMA_REGISTER_DEFAULT_DOC_ID = 5506
TELEFORMA_PERIOD_DEFAULT_ID = 34
+
+TELEFORMA_EXAM_TOPIC_DEFAULT_DOC_TYPE_ID = 4
+TELEFORMA_EXAM_SCRIPT_UPLOAD = True
TELEFORMA_EXAM_MAX_SESSIONS = 200
TELEFORMA_EXAM_SCRIPT_MAX_SIZE = 31457280
TELEFORMA_EXAM_SCRIPT_SERVICE_URL = '/webviewer/teleforma.html'
TELEFORMA_EXAM_USE_S3 = True
-TELEFORMA_PRIVATE_DOCUMENTS_MODE = True
-TELEFORMA_PRIVATE_MEDIA_USE_S3 = True
+
+TELEFORMA_DOCUMENTS_USE_S3 = False
+
+TELEFORMA_PRIVATE_DOCUMENTS_MODE = True #wether the downloaded docs should be signed
+TELEFORMA_PRIVATE_DOCUMENTS_USE_S3 = True
+AWS_STORAGE_BUCKET_NAME_PRIVATE_DOCUMENT="crfpa-private"
+
+TELEFORMA_MEDIA_USE_S3 = False
TELEFORMA_MEDIA_DOWNLOAD = False
+AWS_STORAGE_BUCKET_NAME_MEDIA="crfpa-media"
ORAL_OPTION_PRICE = 250
FASICLE_OPTION_PRICE = 110
#THUMBNAIL_FORCE_OVERWRITE = True
-
########################
# EMAIL
########################
RECAPTCHA_REQUIRED_SCORE = 0.85
-########################
-# AWS S3
-########################
-
-AWS_ACCESS_KEY_ID=""
-AWS_SECRET_ACCESS_KEY=""
-AWS_STORAGE_BUCKET_NAME=""
-AWS_S3_REGION_NAME=""
-AWS_S3_ENDPOINT_URL=""
-AWS_S3_ENCRYPTION=True
-AWS_S3_FILE_OVERWRITE=False
-
########################
# BBB
########################
WEIGHT_CHOICES = get_nint_choices(5)
-if settings.TELEFORMA_PRIVATE_MEDIA_USE_S3:
- private_storage = S3Boto3Storage
+if settings.TELEFORMA_MEDIA_USE_S3:
+ media_s3_storage = S3Boto3Storage(
+ bucket=settings.AWS_STORAGE_BUCKET_NAME_MEDIA)
+ media_local_storage = FileSystemStorage
else:
- private_storage = FileSystemStorage
+ media_s3_storage = FileSystemStorage
+ media_local_storage = FileSystemStorage
+
+if settings.TELEFORMA_PRIVATE_DOCUMENTS_USE_S3:
+ private_document_storage = S3Boto3Storage(
+ bucket=settings.AWS_STORAGE_BUCKET_NAME_PRIVATE_DOCUMENT)
+else:
+ private_document_storage = FileSystemStorage
def get_random_hash():
user = models.ForeignKey(User, related_name="private_documents", verbose_name=_('user'),
null=True, blank=True, on_delete=models.CASCADE)
file = models.FileField(_('file'), upload_to='private/documents/%Y/%m/%d', db_column="filename",
- max_length=1024, blank=True, storage=private_storage)
+ max_length=1024, blank=True, storage=private_document_storage)
class Meta(MetaCore):
db_table = app_label + '_' + 'document_private'
readers = models.ManyToManyField(User, related_name="media", verbose_name=_('readers'),
blank=True)
file = models.FileField(
- _('file'), upload_to='items/%Y/%m/%d', max_length=1024, null=True, blank=False)
+ _('file'),
+ upload_to='items/%Y/%m/%d',
+ max_length=1024,
+ null=True,
+ blank=True,
+ storage=media_local_storage
+ )
+ file_s3 = models.FileField(
+ _('S3 file'),
+ upload_to='items/%Y/%m/%d',
+ max_length=1024,
+ null=True,
+ blank=True,
+ storage=media_s3_storage
+ )
poster_file = models.FileField(
_('poster file'), upload_to='items/%Y/%m/%d', max_length=255, null=True, blank=False)
self.poster_file, geometry).url
return url
+ def get_file(self):
+ if self.file_s3:
+ return self.file_s3
+ else:
+ return self.file
+
class Meta(MetaCore):
db_table = app_label + '_' + 'media'
ordering = ['-date_modified', '-conference__session',]