Skip to content

Commit 4668888

Browse files
committed
Код приведён в соответствие с стилевым оформлением
1 parent 840ecfe commit 4668888

6 files changed

Lines changed: 55 additions & 49 deletions

File tree

vacancy/admin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class VacancyAdmin(admin.ModelAdmin):
2525
inlines = [
2626
VacancySkillToObjectInline,
2727
]
28-
readonly_fields = ('datetime_closed',)
28+
readonly_fields = ("datetime_closed",)
2929
list_display_links = ["role"]
3030

3131
change_list_template = "vacancies/vacancies_change_list.html"

vacancy/filters.py

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -47,50 +47,52 @@ def __init__(self, *args, **kwargs):
4747
self.data = dict(self.data)
4848
self.data["is_active"] = True
4949

50-
def filter_by_experience(self, queryset: QuerySet[Vacancy], name, value: list[str]) -> QuerySet[Vacancy]:
51-
return (
52-
queryset
53-
.filter(Q(required_experience__in=value) | Q(required_experience=None))
54-
.order_by(F("required_experience").asc(nulls_last=True))
50+
def filter_by_experience(
51+
self, queryset: QuerySet[Vacancy], name, value: list[str]
52+
) -> QuerySet[Vacancy]:
53+
return queryset.filter(
54+
Q(required_experience__in=value) | Q(required_experience=None)
55+
).order_by(F("required_experience").asc(nulls_last=True))
56+
57+
def filter_by_schedule(
58+
self, queryset: QuerySet[Vacancy], name, value: list[str]
59+
) -> QuerySet[Vacancy]:
60+
return queryset.filter(
61+
Q(work_schedule__in=value) | Q(work_schedule=None)
62+
).order_by(F("work_schedule").asc(nulls_last=True))
63+
64+
def filter_by_format(
65+
self, queryset: QuerySet[Vacancy], name, value: list[str]
66+
) -> QuerySet[Vacancy]:
67+
return queryset.filter(Q(work_format__in=value) | Q(work_format=None)).order_by(
68+
F("work_format").asc(nulls_last=True)
5569
)
5670

57-
def filter_by_schedule(self, queryset: QuerySet[Vacancy], name, value: list[str]) -> QuerySet[Vacancy]:
58-
return (
59-
queryset
60-
.filter(Q(work_schedule__in=value) | Q(work_schedule=None))
61-
.order_by(F("work_schedule").asc(nulls_last=True))
62-
)
63-
64-
def filter_by_format(self, queryset: QuerySet[Vacancy], name, value: list[str]) -> QuerySet[Vacancy]:
65-
return (
66-
queryset
67-
.filter(Q(work_format__in=value) | Q(work_format=None))
68-
.order_by(F("work_format").asc(nulls_last=True))
69-
)
70-
71-
def filter_by_salary_min(self, queryset: QuerySet[Vacancy], name, value: list[str]) -> QuerySet[Vacancy]:
71+
def filter_by_salary_min(
72+
self, queryset: QuerySet[Vacancy], name, value: list[str]
73+
) -> QuerySet[Vacancy]:
7274
try:
7375
min_salary = int(value[0])
74-
return (
75-
queryset
76-
.filter(Q(salary__gte=min_salary) | Q(salary=None))
77-
.order_by(F("salary").asc(nulls_last=True))
76+
return queryset.filter(Q(salary__gte=min_salary) | Q(salary=None)).order_by(
77+
F("salary").asc(nulls_last=True)
7878
)
7979
except ValueError:
8080
return queryset
8181

82-
def filter_by_salary_max(self, queryset: QuerySet[Vacancy], name, value: list[str]) -> QuerySet[Vacancy]:
82+
def filter_by_salary_max(
83+
self, queryset: QuerySet[Vacancy], name, value: list[str]
84+
) -> QuerySet[Vacancy]:
8385
try:
8486
max_salary = int(value[0])
85-
return (
86-
queryset
87-
.filter(Q(salary__lte=max_salary) | Q(salary=None))
88-
.order_by(F("salary").asc(nulls_last=True))
87+
return queryset.filter(Q(salary__lte=max_salary) | Q(salary=None)).order_by(
88+
F("salary").asc(nulls_last=True)
8989
)
9090
except ValueError:
9191
return queryset
9292

93-
def filter_by_role(self, queryset: QuerySet[Vacancy], name, value: list[str]) -> QuerySet[Vacancy]:
93+
def filter_by_role(
94+
self, queryset: QuerySet[Vacancy], name, value: list[str]
95+
) -> QuerySet[Vacancy]:
9496
if not value:
9597
return queryset
9698
return queryset.filter(role__icontains=value[0])

vacancy/models.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
from django.contrib.contenttypes.fields import GenericRelation
2-
from django.db import models
32
from django.core.validators import MinValueValidator
3+
from django.db import models
44
from django.utils import timezone
5+
from django_stubs_ext.db.models import TypedModelMeta
56

67
from files.models import UserFile
78
from projects.models import Project
8-
from vacancy.constants import WorkExperience, WorkSchedule, WorkFormat
9+
from vacancy.constants import WorkExperience, WorkFormat, WorkSchedule
910
from vacancy.managers import VacancyManager, VacancyResponseManager
10-
from django_stubs_ext.db.models import TypedModelMeta
1111

1212

1313
class Vacancy(models.Model):
@@ -29,10 +29,7 @@ class Vacancy(models.Model):
2929

3030
role = models.CharField(max_length=256, null=False)
3131
specialization = models.CharField(
32-
max_length=128,
33-
null=True,
34-
blank=True,
35-
verbose_name="Специализация"
32+
max_length=128, null=True, blank=True, verbose_name="Специализация"
3633
)
3734
required_skills = GenericRelation(
3835
"core.SkillToObject",

vacancy/serializers.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from projects.models import Project
1111
from projects.validators import validate_project
1212
from users.serializers import UserDetailSerializer
13-
from vacancy.constants import WorkExperience, WorkSchedule, WorkFormat
13+
from vacancy.constants import WorkExperience, WorkFormat, WorkSchedule
1414
from vacancy.models import Vacancy, VacancyResponse
1515

1616
User = get_user_model()
@@ -51,8 +51,12 @@ def validate_work_format(self, value):
5151

5252
def to_representation(self, instance):
5353
representation = super().to_representation(instance)
54-
representation["required_experience"] = WorkExperience.to_display(instance.required_experience)
55-
representation["work_schedule"] = WorkSchedule.to_display(instance.work_schedule)
54+
representation["required_experience"] = WorkExperience.to_display(
55+
instance.required_experience
56+
)
57+
representation["work_schedule"] = WorkSchedule.to_display(
58+
instance.work_schedule
59+
)
5660
representation["work_format"] = WorkFormat.to_display(instance.work_format)
5761
return representation
5862

@@ -194,7 +198,6 @@ class ProjectVacancyCreateListSerializer(
194198
AbstractVacancyEnumFields,
195199
RequiredSkillsWriteSerializerMixin[Vacancy],
196200
):
197-
198201
def create(self, validated_data):
199202
project = validated_data["project"]
200203
if project.leader != self.context["request"].user:

vacancy/tasks.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import datetime
22

3-
from mailing.typing import EmailDataToPrepare, ContextDataDict, MailDataDict
4-
from mailing.utils import send_mass_mail, prepare_mail_data
3+
from mailing.typing import ContextDataDict, EmailDataToPrepare, MailDataDict
4+
from mailing.utils import prepare_mail_data, send_mass_mail
55
from procollab.celery import app
66
from vacancy.mapping import (
77
CeleryEmailParams,
8+
EmailParamsType,
9+
MessageTypeEnum,
810
create_text_for_email,
9-
message_type_to_button_text,
1011
get_link,
11-
MessageTypeEnum,
12+
message_type_to_button_text,
1213
message_type_to_title,
13-
EmailParamsType,
1414
)
1515
from vacancy.models import Vacancy
1616

vacancy/views.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@ def put(self, request, *args, **kwargs):
7070
return self.update(request, *args, **kwargs)
7171

7272

73-
class VacancyResponseList(mixins.ListModelMixin, mixins.CreateModelMixin, GenericAPIView):
73+
class VacancyResponseList(
74+
mixins.ListModelMixin, mixins.CreateModelMixin, GenericAPIView
75+
):
7476
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
7577
serializer_class = VacancyResponseListSerializer
7678

@@ -145,7 +147,9 @@ def post(self, request, pk):
145147
role_add_as: str = vacancy.role
146148

147149
# check if this person already has a collaborator role in this project
148-
if Collaborator.objects.filter(project=project_add_in, user=user_to_add).exists():
150+
if Collaborator.objects.filter(
151+
project=project_add_in, user=user_to_add
152+
).exists():
149153
return Response(
150154
"You already work for this project, you can't accept a vacancy here",
151155
status=status.HTTP_400_BAD_REQUEST,

0 commit comments

Comments
 (0)