Partner views
This commit is contained in:
parent
dc74a4fc3e
commit
f67b10f558
3 changed files with 29 additions and 10 deletions
|
@ -1,10 +1,12 @@
|
|||
from django.urls import path
|
||||
|
||||
from .views import PartnerRegistrationView, PartnerProfileView
|
||||
from .views import PartnerRegistrationView, PartnerProfileView, BiddingListView, OffersListView
|
||||
|
||||
app_name = "partners"
|
||||
|
||||
urlpatterns = [
|
||||
path('register/', PartnerRegistrationView.as_view(), name="register"),
|
||||
path('profile/', PartnerProfileView.as_view(), name="profile"),
|
||||
path('bidding/<int:id>/', BiddingListView.as_view(), name="bidding"),
|
||||
path('offers/', OffersListView.as_view(), name="offers"),
|
||||
]
|
|
@ -1,9 +1,11 @@
|
|||
from django.views.generic import CreateView, UpdateView
|
||||
from django.views.generic import CreateView, UpdateView, ListView
|
||||
from django.urls import reverse_lazy
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.db.models import F
|
||||
|
||||
from .models import PartnerProfile
|
||||
from .models import PartnerProfile, Establishment
|
||||
|
||||
from auction.models import Inquiry, Offer
|
||||
from public.mixins import InConstructionMixin
|
||||
from localauth.mixins import LoginRequiredMixin
|
||||
|
||||
|
@ -57,3 +59,21 @@ class PartnerProfileView(LoginRequiredMixin, UpdateView):
|
|||
|
||||
def get_object(self, queryset=None):
|
||||
return self.request.user.partnerprofile
|
||||
|
||||
class BiddingListView(LoginRequiredMixin, ListView):
|
||||
model = Inquiry
|
||||
template_name = "partners/bidding_list.html"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.establishment = Establishment.objects.get(id=self.kwargs["id"], owner=self.request.user.partnerprofile)
|
||||
|
||||
def get_queryset(self):
|
||||
return Inquiry.objects.filter(active=True).distance(self.establishment.coords).filter(distance__lte=F("destination_radius"))
|
||||
|
||||
class OffersListView(LoginRequiredMixin, ListView):
|
||||
model = Offer
|
||||
template_name = "partners/offer_list.html"
|
||||
|
||||
def get_queryset(self):
|
||||
return Offer.objects.filter(establishment__in=self.request.user.partnerprofile.establishment_set())
|
|
@ -161,12 +161,9 @@
|
|||
<li class="nav-item dropdown">
|
||||
<a href="#" class="nav-link" data-toggle="dropdown">B2B<span><i class="fa fa-angle-down"></i></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
{% if not request.user.partnerprofile %}
|
||||
<li><a class="dropdown-item" href="/">{% trans "Als Anbieter anmelden" %}</a></li>
|
||||
{% else %}
|
||||
<li><a class="dropdown-item" href="/">{% trans "Bieten" %}</a></li>
|
||||
<li><a class="dropdown-item" href="/">{% trans "Buchungen verwalten" %}</a></li>
|
||||
{% endif %}
|
||||
<li><a class="dropdown-item" href="{% url "partners:profile" %}">{% trans "Mein Profil" %}</a></li>
|
||||
<li><a class="dropdown-item" href="{% url "partners:bidding" %}">{% trans "Bieten" %}</a></li>
|
||||
<li><a class="dropdown-item" href="{% url "partners:offers" %}">{% trans "Angebote verwalten" %}</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
|
Loading…
Reference in a new issue