Skip to content

Commit

Permalink
job_description.is_popular: Ignore archived job applications
Browse files Browse the repository at this point in the history
  • Loading branch information
dejafait committed Jan 13, 2025
1 parent 8eacda9 commit 0af211c
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 9 deletions.
5 changes: 4 additions & 1 deletion itou/companies/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -561,7 +561,10 @@ def with_annotation_is_popular(self):
# Avoid a circular import
from itou.job_applications.models import JobApplicationWorkflow

job_apps_filters = {"jobapplication__state__in": JobApplicationWorkflow.PENDING_STATES}
job_apps_filters = {
"jobapplication__state__in": JobApplicationWorkflow.PENDING_STATES,
"jobapplication__archived_at": None,
}
annotation = self.with_job_applications_count(filters=job_apps_filters).annotate(
is_popular=Case(
When(job_applications_count__gte=self.model.POPULAR_THRESHOLD, then=True),
Expand Down
24 changes: 16 additions & 8 deletions tests/www/search/__snapshots__/tests.ambr
Original file line number Diff line number Diff line change
Expand Up @@ -917,10 +917,12 @@
"companies_jobdescription"."field_history",
"companies_jobdescription"."creation_source",
COUNT("job_applications_jobapplication_selected_jobs"."jobapplication_id") FILTER (
WHERE "job_applications_jobapplication"."state" IN (%s, %s, %s)) AS "job_applications_count",
WHERE ("job_applications_jobapplication"."archived_at" IS NULL
AND "job_applications_jobapplication"."state" IN (%s, %s, %s))) AS "job_applications_count",
CASE
WHEN COUNT("job_applications_jobapplication_selected_jobs"."jobapplication_id") FILTER (
WHERE ("job_applications_jobapplication"."state" IN (%s, %s, %s))) >= %s THEN %s
WHERE ("job_applications_jobapplication"."archived_at" IS NULL
AND "job_applications_jobapplication"."state" IN (%s, %s, %s))) >= %s THEN %s
ELSE %s
END AS "is_popular",
"jobs_appellation"."updated_at",
Expand Down Expand Up @@ -1302,10 +1304,12 @@
"companies_jobdescription"."field_history",
"companies_jobdescription"."creation_source",
COUNT("job_applications_jobapplication_selected_jobs"."jobapplication_id") FILTER (
WHERE "job_applications_jobapplication"."state" IN (%s, %s, %s)) AS "job_applications_count",
WHERE ("job_applications_jobapplication"."archived_at" IS NULL
AND "job_applications_jobapplication"."state" IN (%s, %s, %s))) AS "job_applications_count",
CASE
WHEN COUNT("job_applications_jobapplication_selected_jobs"."jobapplication_id") FILTER (
WHERE ("job_applications_jobapplication"."state" IN (%s, %s, %s))) >= %s THEN %s
WHERE ("job_applications_jobapplication"."archived_at" IS NULL
AND "job_applications_jobapplication"."state" IN (%s, %s, %s))) >= %s THEN %s
ELSE %s
END AS "is_popular",
"jobs_appellation"."updated_at",
Expand Down Expand Up @@ -1688,10 +1692,12 @@
"companies_jobdescription"."field_history",
"companies_jobdescription"."creation_source",
COUNT("job_applications_jobapplication_selected_jobs"."jobapplication_id") FILTER (
WHERE "job_applications_jobapplication"."state" IN (%s, %s, %s)) AS "job_applications_count",
WHERE ("job_applications_jobapplication"."archived_at" IS NULL
AND "job_applications_jobapplication"."state" IN (%s, %s, %s))) AS "job_applications_count",
CASE
WHEN COUNT("job_applications_jobapplication_selected_jobs"."jobapplication_id") FILTER (
WHERE ("job_applications_jobapplication"."state" IN (%s, %s, %s))) >= %s THEN %s
WHERE ("job_applications_jobapplication"."archived_at" IS NULL
AND "job_applications_jobapplication"."state" IN (%s, %s, %s))) >= %s THEN %s
ELSE %s
END AS "is_popular",
"jobs_appellation"."updated_at",
Expand Down Expand Up @@ -2073,10 +2079,12 @@
"companies_jobdescription"."field_history",
"companies_jobdescription"."creation_source",
COUNT("job_applications_jobapplication_selected_jobs"."jobapplication_id") FILTER (
WHERE "job_applications_jobapplication"."state" IN (%s, %s, %s)) AS "job_applications_count",
WHERE ("job_applications_jobapplication"."archived_at" IS NULL
AND "job_applications_jobapplication"."state" IN (%s, %s, %s))) AS "job_applications_count",
CASE
WHEN COUNT("job_applications_jobapplication_selected_jobs"."jobapplication_id") FILTER (
WHERE ("job_applications_jobapplication"."state" IN (%s, %s, %s))) >= %s THEN %s
WHERE ("job_applications_jobapplication"."archived_at" IS NULL
AND "job_applications_jobapplication"."state" IN (%s, %s, %s))) >= %s THEN %s
ELSE %s
END AS "is_popular",
"jobs_appellation"."updated_at",
Expand Down

0 comments on commit 0af211c

Please sign in to comment.