From ddc2259621829b80391135fc7c755aec1db4888f Mon Sep 17 00:00:00 2001 From: Aroy-Art Date: Fri, 29 Dec 2023 22:45:15 +0100 Subject: [PATCH 1/3] Add: Profile & Banner image models --- archivist/apps/files/models.py | 49 +++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/archivist/apps/files/models.py b/archivist/apps/files/models.py index 7d1abbf..2896513 100644 --- a/archivist/apps/files/models.py +++ b/archivist/apps/files/models.py @@ -4,14 +4,57 @@ from django.utils.translation import gettext_lazy as _ # Create your models here. -def get_upload_to(instance, filename): - return f'submissions/{instance.file_hash[:2]}/{filename}' +def get_upload_to(instance, filename, folder): + return f'{folder}/{instance.file_hash[:2]}/{filename}' + +def get_upload_to_submission(instance, filename): + return get_upload_to(instance, filename, 'submissions') + +def get_upload_to_profile(instance, filename): + return get_upload_to(instance, filename, 'profiles') + +def get_upload_to_banner(instance, filename): + return get_upload_to(instance, filename, 'banners') + + +class User_Profile_Images(models.Model): + + file_hash = models.CharField(unique=True, max_length=64,) + file_name = models.CharField(max_length=150, blank=True) + file = models.FileField(upload_to=get_upload_to_profile, blank=True) + date_added = models.DateTimeField(auto_now_add=True, editable=True) + + class Meta: + verbose_name = _("User Profile Image") + verbose_name_plural = _("User Profile Images") + + def __str__(self): + return self.name + + #def get_absolute_url(self): + # return reverse("User_Profile_Image_detail", kwargs={"pk": self.pk}) + + +class User_Banner_Images(models.Model): + + file_hash = models.CharField(unique=True, max_length=64,) + file_name = models.CharField(max_length=150, blank=True) + file = models.FileField(upload_to=get_upload_to_banner, blank=True) + date_added = models.DateTimeField(auto_now_add=True, editable=True) + + class Meta: + verbose_name = _("User Banner Image") + verbose_name_plural = _("User Banner Images") + + def __str__(self): + return self.name + class Submission_File(models.Model): file_hash = models.CharField(unique=True, max_length=64,) file_name = models.CharField(max_length=150, blank=True) - file = models.FileField(upload_to=get_upload_to, blank=True) + file = models.FileField(upload_to=get_upload_to_submission, blank=True) date_added = models.DateTimeField(auto_now_add=True, editable=True) class Meta: From 745cabcfccdf14cc04b4679ef0d522c736bb00d4 Mon Sep 17 00:00:00 2001 From: Aroy-Art Date: Fri, 29 Dec 2023 22:47:36 +0100 Subject: [PATCH 2/3] Change: redirect to uploaded file on success --- archivist/apps/files/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archivist/apps/files/views.py b/archivist/apps/files/views.py index 5445b88..da14ff6 100644 --- a/archivist/apps/files/views.py +++ b/archivist/apps/files/views.py @@ -73,7 +73,7 @@ def fileUpload(request): new_submission_file.save - return HttpResponseRedirect("/") + return HttpResponseRedirect(f"/files/submission/{file_hash}") else: form = UploadFileForm() From d1fa48cb3b514c0ab00cde23feb302ed764d6766 Mon Sep 17 00:00:00 2001 From: Aroy-Art Date: Sat, 30 Dec 2023 21:20:53 +0100 Subject: [PATCH 3/3] Add: Banner & Profile models to admin page --- archivist/apps/files/admin.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/archivist/apps/files/admin.py b/archivist/apps/files/admin.py index 2c18c6a..186088d 100644 --- a/archivist/apps/files/admin.py +++ b/archivist/apps/files/admin.py @@ -1,10 +1,18 @@ from django.contrib import admin -from .models import Submission_File +from .models import Submission_File, User_Profile_Images, User_Banner_Images # Register your models here. class Submission_FileAdmin(admin.ModelAdmin): list_display = ('file_name', 'date_added', 'file_hash', 'file',) -admin.site.register(Submission_File, Submission_FileAdmin) \ No newline at end of file +class User_Banner_ImagesAdmin(admin.ModelAdmin): + list_display = ('file_name', 'date_added', 'file_hash', 'file',) + +class User_Profile_ImagesAdmin(admin.ModelAdmin): + list_display = ('file_name', 'date_added', 'file_hash', 'file',) + +admin.site.register(Submission_File, Submission_FileAdmin) +admin.site.register(User_Banner_Images, User_Banner_ImagesAdmin) +admin.site.register(User_Profile_Images, User_Profile_ImagesAdmin) \ No newline at end of file