diff --git a/hosting/templates/hosting/dashboard.html b/hosting/templates/hosting/dashboard.html index d0204820..35ee9b6e 100644 --- a/hosting/templates/hosting/dashboard.html +++ b/hosting/templates/hosting/dashboard.html @@ -26,7 +26,7 @@ <img class="svg-img" src="{% static 'hosting/img/key.svg' %}"> </div> </a> - <a href="{% url 'hosting:invoices' %}" class="hosting-dashboard-item"> + <a href="{% if has_invoices %}{% url 'hosting:invoices' %}{% else %}{% url 'hosting:orders' %}{% endif %}" class="hosting-dashboard-item"> <h2>{% trans "My Bills" %}</h2> <div class="hosting-dashboard-image"> <img class="svg-img" src="{% static 'hosting/img/billing.svg' %}"> diff --git a/hosting/views.py b/hosting/views.py index af01ae86..6cdabecf 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -83,6 +83,14 @@ class DashboardView(LoginRequiredMixin, View): @method_decorator(decorators) def get(self, request, *args, **kwargs): context = self.get_context_data() + try: + MonthlyHostingBill.objects.get(email=self.request.user.email) + context['has_invoices'] = True + except MonthlyHostingBill.DoesNotExist as dne: + logger.error("{}'s monthly hosting bill not imported ?".format( + self.request.user.email + )) + context['has_invoices'] = False return render(request, self.template_name, context)