Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions apps/sponsors/models/benefits.py
Original file line number Diff line number Diff line change
Expand Up @@ -313,9 +313,9 @@ def user_edit_url(self):

@property
def user_view_url(self):
"""Return the URL for sponsors to view this provided asset."""
url = reverse("users:view_provided_sponsorship_assets", args=[self.sponsor_benefit.sponsorship.pk])
return url + f"?provided_asset={self.pk}"
"""Return the URL for sponsors to view the sponsorship's provided assets section."""
url = reverse("users:sponsorship_application_detail", args=[self.sponsor_benefit.sponsorship.pk])
return url + f"#provided-assets-info"


class RequiredAssetMixin(AssetMixin):
Expand Down
21 changes: 21 additions & 0 deletions apps/sponsors/tests/test_asset_mixin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from django.test import TestCase
from django.urls import reverse
from model_bakery import baker

from apps.sponsors.models import SponsorBenefit, Sponsorship
from apps.sponsors.models.benefits import ProvidedTextAsset


class AssetMixinTests(TestCase):
def setUp(self):
self.sponsorship = baker.make(Sponsorship)
self.sponsor_benefit = baker.make(SponsorBenefit, sponsorship=self.sponsorship)
# ProvidedTextAsset inherits from ProvidedAssetMixin which inherits from AssetMixin
self.asset = baker.make(ProvidedTextAsset, sponsor_benefit=self.sponsor_benefit, internal_name="test_asset")

def test_user_view_url_includes_anchor(self):
expected_url = reverse("users:sponsorship_application_detail", args=[self.sponsorship.pk])
expected_url += "#provided-assets-info"

self.assertEqual(self.asset.user_view_url, expected_url)
self.assertIn("#provided-assets-info", self.asset.user_view_url)
35 changes: 0 additions & 35 deletions apps/users/templates/users/sponsorship_assets_view.html

This file was deleted.

2 changes: 0 additions & 2 deletions apps/users/templates/users/sponsorship_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,6 @@ <h3>Provided Assets</h3>
<br><br>
{% endfor %}
</ul>
<small><a href="{% url 'users:view_provided_sponsorship_assets' sponsorship.pk %}">View all
assets</a></small>
</div>
{% endif %}

Expand Down
6 changes: 1 addition & 5 deletions apps/users/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,7 @@
views.UpdateSponsorshipAssetsView.as_view(),
name="update_sponsorship_assets",
),
path(
"sponsorships/<int:pk>/provided-assets/",
views.ProvidedSponsorshipAssetsView.as_view(),
name="view_provided_sponsorship_assets",
),

path(
"sponsorships/<int:pk>/",
views.SponsorshipDetailView.as_view(),
Expand Down
21 changes: 0 additions & 21 deletions apps/users/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -370,24 +370,3 @@ def form_valid(self, form):
return redirect(self.get_success_url())


@method_decorator(login_required(login_url=settings.LOGIN_URL), name="dispatch")
class ProvidedSponsorshipAssetsView(DetailView):
"""TODO: Deprecate this view now that everything lives in the SponsorshipDetailView."""

object_name = "sponsorship"
template_name = "users/sponsorship_assets_view.html"

def get_queryset(self):
"""Return all sponsorships for superusers, user-visible ones otherwise."""
if self.request.user.is_superuser:
return Sponsorship.objects.select_related("sponsor").all()
return self.request.user.sponsorships.select_related("sponsor")

def get_context_data(self, **kwargs):
"""Add provided assets with values to the context."""
context = super().get_context_data(**kwargs)
provided_assets = BenefitFeature.objects.provided_assets().from_sponsorship(context["sponsorship"])
provided = [asset for asset in provided_assets if bool(asset.value)]
context["provided_assets"] = provided
context["provided_asset_id"] = self.request.GET.get("provided_asset", None)
return context
Loading