Forráskód Böngészése

Updated URLs for detail views. Changed overview query

Juan Carlos 4 éve
szülő
commit
e1af8f3c50

+ 6 - 0
marktplatz/models.py

@@ -147,6 +147,12 @@ class Product(models.Model):
     def type(self):
             return "BASE"
 
+    @property
+    def viewURL(self):
+        return reverse ( 'product-detail-type', kwargs= {'pk': self.pk, 'type': self.type} )
+
+
+
     name            = CharField   ( 'Name', max_length = 128, help_text="Name des Projekts. Beispiel: Seestern", null = True, blank=True )
     claim           = CharField   ( 'Claim / Untertitel', max_length = 256, help_text="Beispiel: Wohnprojekt Seestern Aspern", null = True, blank=True )
     beschreibung    = TextField   ( 'Projektbeschreibung', max_length = 2048, help_text="Beispiel: Das Wohnprojekt Seestern Aspern wurde als eines von fünf Baugruppenprojekten in der Seestadt aspern auf dem Baufeld D13 realisiert. Der Seestern ist ein Projekt für Menschen jeden Alters, die Initiative übernehmen und mit anderen einen gemeinsamen Mehrwert in einem eigenen Wohnhaus schaffen wollen. Gut erreichbar mit der U2 und in der Nähe der Lobau. Ein Wohnprojekt, das von Anfang an von den zukünftigen BewohnerInnen mitgestaltet wurde und mit den Menschen wächst. In der gemeinsam formulierten Vision steht die lebendige Architektur, die Gemeinschaft und Privatsphäre im Vordergrund.", null = True, blank=True )

+ 1 - 1
marktplatz/templates/marktplatz/admin_panel.html

@@ -25,7 +25,7 @@
     {% for product in product_list %}
     <tr class="">
       <td scope="col"><img src="{{product.media_set.first.image_small.url}}" width="50" height="50" alt="{{ product.pk }}"> </td>
-      <td scope="col"> <a href="{% url 'product-detail' product.pk %}"> {{product.name|upper }} </a></td>
+      <td scope="col"> <a href="{% url 'product-detail-type' type=product.type pk=product.pk  %}"> {{product.name|upper }} </a></td>
       <!-- <td scope="col">
         {% for category in product.category.all %}
         {{category.short_name}}{% if not forloop.last %} | {% endif %}

+ 1 - 1
marktplatz/templates/marktplatz/myProducts.html

@@ -39,7 +39,7 @@
         <!-- image -->
         <div class="col-sm-1"><img src="{{product.media_set.first.image_small.url}}"  width="50" height="50" alt="{{ product.pk }}"></div>
         <!-- titel -->
-        <div class="col-sm-4"><a href="{% url 'product-detail' product.pk %}">   {{ product.name }} </a></div>
+        <div class="col-sm-4"><a href="{% url 'product-detail-type' type=product.type pk=product.pk  %}">   {{ product.name }} </a></div>
         <div class="col-sm-3">{% if product.edit %} <a href="{% url 'projekt-bearbeiten-type' type=product.type pk=product.pk %}"> Projekt bearbeiten</a> <br> <a href="{% url 'add-image' product.pk %}"> Media bearbeiten </a> {% else %} Es kann nicht bearbeitet werden {% endif %} </div>
         <div class="col-sm-2"><a href="{% url 'product-delete' pk=product.pk %}" target="" rel="">Löschen</a> </div>
         <div class="col-sm-2"><a href="{% url 'product-publish' pk=product.pk %}" target="" rel="">Freischaltung</a></div>

+ 1 - 1
marktplatz/templates/marktplatz/product_list.html

@@ -37,7 +37,7 @@
 
   <div class="row">
     <div class="col-sm-2"><img src="{{product.media_set.first.image_small.url}}" width="50" height="50" alt="{{ product.pk }}"> </div>
-    <div class="col-sm-2"><a href="{% url 'product-detail' product.pk %}"> {{product.name|upper }} </a></div>
+    <div class="col-sm-2"><a href="{% url 'product-detail-type' type=product.type pk=product.pk  %}"> {{product.name|upper }} </a></div>
     <div class="col-sm-2"> <span>{{product.claim }}</span></div>
     <div class="col-sm-2"> <span>{{product.get_status_display }}</span></div>
     <div class="col-sm-2"> <span>{{product.adresse }}, {{product.plz }} {{product.adresse_zusatz }} </span> </div>

+ 2 - 2
marktplatz/templates/marktplatz/product_overview.html

@@ -349,7 +349,7 @@ $(document).ready(function(){
         <div class="mab-card-face mab-card-face--front toogle-overflow">
           <!--  -->
           <div class="mab-card {{product.ort}} {{product.status}} {{product.frei}} {{product.altneu}}   {% if product.frei == 'JAJA' %} mab-card-highlight {% endif %}" style="">
-            <a href="{% url 'product-detail' product.pk %}">
+            <a href="{% url 'product-detail-type' type=product.type pk=product.pk  %}">
               <div style="position: relative;text-align: center;">
                 <img class="{% for category in product.category.all %} {{category.short_name}} {% endfor %} card-img-top" data-otherclass="rounded-0"
                   src="{{product.media_set.first.image_norm.url}}" alt="image" loading="lazy">
@@ -426,7 +426,7 @@ $(document).ready(function(){
               </div>
             </div>
 
-            <a href="{% url 'product-detail' product.pk %}">
+            <a href="{% url 'product-detail-type' type=product.type pk=product.pk  %}">
               <div style="position: relative;text-align: center;">
 
                 &nbsp;

+ 1 - 1
marktplatz/templates/marktplatz/voteDetail.html

@@ -27,7 +27,7 @@
     {% for Product in Product_list %}
     <tr class="{% get_sucsess Product %}"   >
         <td  scope="col"><img src="{{Product.media_set.first.image_small.url}}"  width="50" height="50" alt="image"> </td>
-        <td  scope="col"> <a href="{% url 'product-detail' Product.pk %}">   {{Product.name|upper }} </a></td>
+        <td  scope="col"> <a href="{% url 'product-detail-type' type=product.type pk=product.pk  %}">   {{Product.name|upper }} </a></td>
          <td scope="col">
         {% for category in Product.category.all %}
         {{category.short_name}}{% if not forloop.last %} | {% endif %}

+ 1 - 1
marktplatz/templates/marktplatz/votes_cid.html

@@ -44,7 +44,7 @@ $('form').submit(function () {
     {% for Product in Product_list %}
     <tr class="{% get_sucsess Product %}"   >
         <td  scope="col"><img src="{{Product.media_set.first.image_small.url}}"  width="50" height="50" alt="{{ Product.pk }}"> </td>
-        <td  scope="col"> <a href="{% url 'product-detail' Product.pk %}">   {{Product.name|upper }} </a></td>
+        <td  scope="col"> <a href="{% url 'product-detail-type' type=product.type pk=product.pk  %}">   {{Product.name|upper }} </a></td>
          <td scope="col">
         {% for category in Product.category.all %}
         {{category.short_name}}{% if not forloop.last %} | {% endif %}

+ 28 - 12
marktplatz/views.py

@@ -301,12 +301,31 @@ class ProductsView(generic.ListView):
 
     def get_queryset(self):
         # original qs
-        qs = super().get_queryset()
+        # qs = super().get_queryset()
+
+        wohnprojekte = Wohnprojekt.objects.all()
+        mobilitaetsprojekte = MobilitaetsProjekt.objects.all()
+        ernaehrungsprojekte = ErnaehrungsProjekt.objects.all()
+        energyprojekte = EnergyProjekt.objects.all()
+
+        # qs = qs.order_by('frei')
+        qs = sorted ( itertools.chain(wohnprojekte, mobilitaetsprojekte, ernaehrungsprojekte, energyprojekte), key= lambda product: product.frei )
 
         self.user = self.request.user
         user = self.user
 
-        qs = qs.order_by('frei')
+        if user.groups.filter(name='submission').exists():
+            contact = Contact.objects.get(user=user)
+
+            # def filter_usr(product):
+            #     print( product.contact.pk, contact.pk,  product.contact.pk == contact.pk )
+            #     return product.contact.pk == contact.pk
+            # qs = list( filter(  filter_usr , qs ) )
+
+            qs = list ( filter(  lambda product: (product.contact.pk == contact.pk) , qs ) )
+
+            return qs
+
 
         if user.groups.filter(name='submission').exists():
             contact = Contact.objects.get(user=user)
@@ -315,30 +334,28 @@ class ProductsView(generic.ListView):
         if user.is_superuser:
             return qs
 
-        qs = qs.filter(public = True)
+        # qs = qs.filter(public = True)
+        qs = list ( filter(  lambda product: (product.public == True) , qs ) )
 
         return qs
 
     def get_context_data(self, **kwargs):
             context = super().get_context_data(**kwargs)
-            user =self.request.user
-            context['user'] = user
-
-            context['textSearchForm'] = textSearchForm()
-
-            context['sponsor_cards'] =  Template( config.SPONSOR_CARDS ).render( Context(context) )
-            context['main_card'] =      Template( config.MAIN_CARD ).render( Context(context) )
 
             orts = {}
             for product in context['product_list']:
 
                 if not product.ort in orts:
                     orts[product.ort] = product.get_ort_display()
-
             context['ort_dict'] = orts
 
+            user =self.request.user
+            context['user'] = user
             context['frei_list'] = Product.FREI
             context['status_list'] = Product.STATUS
+            context['sponsor_cards'] =  Template( config.SPONSOR_CARDS ).render( Context(context) )
+            context['main_card'] =      Template( config.MAIN_CARD ).render( Context(context) )
+            context['textSearchForm'] = textSearchForm()
 
             return context
 
@@ -360,7 +377,6 @@ class WohnprojekteView(ProductsView):
             context['frei_list'][0] =  ('JAJA', 'Platz frei')
             context['altneu_list'] = Wohnprojekt.ALTNEU
 
-
             return context