Source code for partners.sitemaps

from django.contrib import sitemaps
from django.urls import reverse

from . import models


[docs]class StaticViewSitemap(sitemaps.Sitemap): """Sitemap generator for static partner views.""" changefreq = "daily"
[docs] def items(self): """Return static partner view names.""" return ["partners:index", "partners:vacancies"]
[docs] def location(self, item): """Return view url.""" return reverse(item)
[docs]class PartnerSitemap(sitemaps.Sitemap): """Sitemap generator for partners."""
[docs] def items(self): """Return all active partners.""" return models.Partner.objects.filter(is_active=True)
[docs] def location(self, item): """Return the partner url.""" return item.get_absolute_url()
[docs]class VacancySitemap(sitemaps.Sitemap): """Sitemap generator for vacancies."""
[docs] def items(self): """Return all vacancies.""" return models.Vacancy.objects.all()
[docs] def location(self, item): """Return the vacancy url.""" return item.get_absolute_url()
sitemap = { "partners-static": StaticViewSitemap, "partners-partners": PartnerSitemap, "partners-vacancies": VacancySitemap, }