From cf673c32c500181cb71ddec69985b3c0276db3c1 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Tue, 26 Jul 2022 22:27:28 +0300 Subject: [PATCH] Rename old JobAd model --- webapp/admin.py | 4 ++-- webapp/migrations/0087_auto_20220726_2226.py | 17 +++++++++++++++++ webapp/models.py | 8 ++++---- webapp/serializers.py | 2 +- webapp/tests/test_jobads.py | 8 ++++---- webapp/translation.py | 2 +- webapp/views.py | 6 +++--- 7 files changed, 32 insertions(+), 15 deletions(-) create mode 100644 webapp/migrations/0087_auto_20220726_2226.py diff --git a/webapp/admin.py b/webapp/admin.py index eb4b569..dc65f1a 100644 --- a/webapp/admin.py +++ b/webapp/admin.py @@ -8,7 +8,7 @@ from webapp.models import ( Signup, SignupForm, TemplateQuestion, - JobAd, + RemoveJobAd, BaseWebhook, GenericWebhook, TelegramHook, @@ -27,6 +27,6 @@ admin.site.register(Event, TranslationAdmin) admin.site.register(SignupForm, TranslationAdmin) admin.site.register(Signup, TranslationAdmin) admin.site.register(TemplateQuestion, TranslationAdmin) -admin.site.register(JobAd, TranslationAdmin) +admin.site.register(RemoveJobAd, TranslationAdmin) admin.site.register(GenericWebhook, TranslationAdmin) admin.site.register(TelegramHook, TranslationAdmin) diff --git a/webapp/migrations/0087_auto_20220726_2226.py b/webapp/migrations/0087_auto_20220726_2226.py new file mode 100644 index 0000000..76613c4 --- /dev/null +++ b/webapp/migrations/0087_auto_20220726_2226.py @@ -0,0 +1,17 @@ +# Generated by Django 2.2.28 on 2022-07-26 19:26 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("webapp", "0086_auto_20220726_2129"), + ] + + operations = [ + migrations.RenameModel( + old_name="JobAd", + new_name="RemoveJobAd", + ), + ] diff --git a/webapp/models.py b/webapp/models.py index 97ac62a..436f219 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -205,7 +205,7 @@ def email_on_signup(sender, instance, created, **kwargs): ) -class JobAd(models.Model): +class RemoveJobAd(models.Model): """Job advertisements shown on Corporate relations page""" id = models.AutoField(primary_key=True) @@ -230,12 +230,12 @@ class JobAd(models.Model): __previousVisible = False def __init__(self, *args, **kwargs): - super(JobAd, self).__init__(*args, **kwargs) + super(RemoveJobAd, self).__init__(*args, **kwargs) self.__previousVisible = self.visible def save(self, force_insert=False, force_update=False, *args, **kwargs): created = self.pk is None - super(JobAd, self).save(force_insert, force_update, *args, **kwargs) + super(RemoveJobAd, self).save(force_insert, force_update, *args, **kwargs) if self.visible and (created or not self.__previousVisible): self.refresh_from_db() # Fetch so we can use primary key @@ -333,6 +333,6 @@ auditlog.register(Feed) auditlog.register(Event) auditlog.register(SignupForm) auditlog.register(Signup) -auditlog.register(JobAd) +auditlog.register(RemoveJobAd) auditlog.register(GenericWebhook) auditlog.register(TelegramHook) diff --git a/webapp/serializers.py b/webapp/serializers.py index b6d8321..024b9e3 100644 --- a/webapp/serializers.py +++ b/webapp/serializers.py @@ -184,7 +184,7 @@ class FeedSerializer(serializers.ModelSerializer): class JobAdSerializer(serializers.ModelSerializer): class Meta: - model = JobAd + model = RemoveJobAd fields = ( "id", "title_fi", diff --git a/webapp/tests/test_jobads.py b/webapp/tests/test_jobads.py index d73bc43..36b2530 100644 --- a/webapp/tests/test_jobads.py +++ b/webapp/tests/test_jobads.py @@ -2,7 +2,7 @@ from django.contrib.auth.models import User from rest_framework import status from rest_framework.test import APITestCase, APIRequestFactory -from webapp.models import JobAd +from webapp.models import RemoveJobAd from webapp.serializers import JobAdSerializer API = "/api/jobads/" @@ -10,7 +10,7 @@ API = "/api/jobads/" class JobAdTestCase(APITestCase): def setUp(self): - self.prefilled_jobad = JobAd.objects.create( + self.prefilled_jobad = RemoveJobAd.objects.create( title_fi="ABB Test", title_en="ABB Test", visible=True, @@ -46,10 +46,10 @@ class JobAdTestCase(APITestCase): # Try post without authentication response = self.client.post(API, data, format="json") self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED) - self.assertEqual(JobAd.objects.count(), 1) + self.assertEqual(RemoveJobAd.objects.count(), 1) # Authenticate self.client.force_authenticate(user=self.authClient) response = self.client.post(API, data, format="json") # Return success and check object was created self.assertEqual(response.status_code, status.HTTP_201_CREATED) - self.assertEqual(JobAd.objects.count(), 2) + self.assertEqual(RemoveJobAd.objects.count(), 2) diff --git a/webapp/translation.py b/webapp/translation.py index 8399453..bba10b8 100644 --- a/webapp/translation.py +++ b/webapp/translation.py @@ -39,7 +39,7 @@ class SignupTranslationOptions(TranslationOptions): fields = () -@register(JobAd) +@register(RemoveJobAd) class JobAdTranslationOptions(TranslationOptions): fields = ( "title", diff --git a/webapp/views.py b/webapp/views.py index f72769c..566cf42 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -325,14 +325,14 @@ class TagsViewSet(ReadOnlyModelViewSet): class JobAdViewSet(ModelViewSet): - queryset = JobAd.objects.filter(deleted=False) + queryset = RemoveJobAd.objects.filter(deleted=False) serializer_class = JobAdSerializer permission_classes = [IsAuthenticatedOrReadOnly] def get_queryset(self): if self.request.user.is_authenticated: - return JobAd.objects.filter(deleted=False) - return JobAd.objects.filter( + return RemoveJobAd.objects.filter(deleted=False) + return RemoveJobAd.objects.filter( deleted=False, visible=True, autohide_at__gt=timezone.now() )