obraz osobno
All checks were successful
continuous-integration/drone Build is passing

This commit is contained in:
Jakub K 2023-12-27 22:19:35 +01:00
parent b6becfdfb8
commit c94b92562e
5 changed files with 27 additions and 5 deletions

7
jobposting/helpers.py Normal file
View File

@ -0,0 +1,7 @@
import os
from uuid import uuid4
def rename_file(instance, filename):
ext = filename.split(".")[-1]
new_filename = f"{uuid4()}.{ext}"
return os.path.join('company_logos/', new_filename)

View File

@ -4,7 +4,7 @@ from core.models import MyUser
from django.utils import timezone
from datetime import timedelta
from helpers import rename_file
class JobListing(models.Model):
posting_options = [
('M', 'Minimal'),
@ -37,7 +37,7 @@ class JobListing(models.Model):
status_paid = models.CharField(max_length=1, choices=paid_status, default='N')
# category = models.CharField(max_length=255, null=True, blank=True)
expiration_date = models.DateField(null=True, blank=True)
company_logo = models.ImageField(upload_to='company_logos/')
# company_logo = models.ImageField(upload_to='company_logos/')
experience_level = models.CharField(max_length=255, null=True, blank=True)
employmentType = models.CharField(max_length=255, null=True, blank=True)
workFromHome = models.CharField(max_length=255)
@ -68,3 +68,7 @@ class SkillLevels(models.Model):
skill_name =models.CharField(max_length=255)
skill_level = models.CharField(max_length=1, choices=proficiency_choices,)
class CompanyLogo(models.Model):
company_logo = models.ImageField(upload_to=rename_file)

View File

@ -1,5 +1,5 @@
from rest_framework import serializers
from jobposting.models import JobListing, SkillLevels
from jobposting.models import JobListing, SkillLevels, CompanyLogo
from core.models import MyUser
class MyUserSerializer(serializers.ModelSerializer):
@ -25,3 +25,8 @@ class JobListingSerializer(serializers.ModelSerializer):
'expiration_date', 'experience_level', 'employmentType', 'workFromHome',
'updated_at', 'job_skills', 'contact_email', 'first_name', 'last_name',
]
class CompanyLogoSerializer(serializers.ModelSerializer):
class Meta:
model = CompanyLogo
fields = ['id', 'company_logo']

View File

@ -1,10 +1,11 @@
from rest_framework import viewsets, permissions
from jobposting.models import JobListing, SkillLevels
from jobposting.models import JobListing, SkillLevels, CompanyLogo
from jobposting.serializers import (
JobListingSerializer,
SkillLevelsSerializer,
MyUserSerializer,
CompanyLogoSerializer
)
from core.models import MyUser
@ -38,3 +39,7 @@ class SkillLevelsViewSet(viewsets.ModelViewSet):
# permission_classes = [permissions.IsAuthenticatedOrReadOnly]
# Możesz także chcieć dodać widoki szczegółowe lub niestandardowe akcje.
class CompanyLogoViewSet(viewsets.ModelViewSet):
permission_classes = [permissions.AllowAny]
queryset = CompanyLogo.objects.all()
serializer_class = CompanyLogoSerializer

View File

@ -4,4 +4,5 @@ djangorestframework
psycopg2-binary
django-allauth
dj-rest-auth
django-cors-headers
django-cors-headers
Pillow