Juan Carlos 5 gadi atpakaļ
vecāks
revīzija
e03e9185ff

+ 2 - 3
marktplatz/models.py

@@ -329,8 +329,8 @@ class Wohnprojekt(Product):
     wohnbaufoerderung = CharField    ( 'Wohnbauförderung',    max_length = 1024,   choices=WOHNBAUFOERDERUNG, help_text="Wohnbauförderung", null = True, blank=True )
     artmodell         = TextField    ( 'Art der Modells',    max_length = 2048,   help_text="Art der Modells", null = True, blank=True )
     bautraeger        = TextField    ( 'Bauträger',    max_length = 2048, help_text="Bauträger", null = True, blank=True )
-    aerwachsene       = IntegerField( 'Anzahl an Erwachsenen', help_text="Anzahl an Erwachsenen", validators=[MinValueValidator(0), MaxValueValidator(9999)], default = 0, null = True, blank=False )
-    akinder           = IntegerField( 'Anzahl an Kinder', help_text="Anzahl an Kinder", validators=[MinValueValidator(0), MaxValueValidator(9999)], default = 0,  null = True, blank=False )
+    aerwachsene       = IntegerField ( 'Anzahl an Erwachsenen', help_text="Anzahl an Erwachsenen", validators=[MinValueValidator(0), MaxValueValidator(9999)], default = 0, null = True, blank=False )
+    akinder           = IntegerField ( 'Anzahl an Kinder', help_text="Anzahl an Kinder", validators=[MinValueValidator(0), MaxValueValidator(9999)], default = 0,  null = True, blank=False )
     @property
     def amitglieder(self):
             return self.aerwachsene + self.akinder
@@ -357,7 +357,6 @@ class Wohnprojekt(Product):
     freiraumangebote   = CharField         ( 'Freiraumangebote',  max_length = 64, choices=FREIANGEBOT, help_text="Freiraumangebote", null = True, blank=True )
     gaestwohnungen     = IntegerField      ( 'Anzahl an Gästewohnungen', help_text="Anzahl an Gästewohnungen", validators=[MinValueValidator(0)], default = 0 )
 
-    
 
 
 class Link(models.Model):

+ 14 - 20
marktplatz/templates/marktplatz/product_overview.html

@@ -317,6 +317,9 @@ $(document).ready(function(){
 <div class="container-fluid tag-container">
 
 
+
+
+
 <nav class="navbar-expand-sm tag" style="margin-left: 0px">
 
 
@@ -335,11 +338,11 @@ $(document).ready(function(){
       <button id='{{elem.0}}' data-toggler='{{elem.0}}' class="border-thin mybtn btn-toggle elem.0" style="margin-bottom: 2px; ">#{{elem.1}}</button>
       {% endfor %}
 
-      {% for key, value in ort_dict.items %}
+      {% for key, value in raum_agebote_dict.items %}
       <button class="border-thin mybtn btn-toggle {{key}}" data-toggler='{{key}}' style="margin-bottom: 2px; ">#{{value}}</button>
       {% endfor %}
 
-      {% for key, value in raum_agebote_dict.items %}
+      {% for key, value in ort_dict.items %}
       <button class="border-thin mybtn btn-toggle {{key}}" data-toggler='{{key}}' style="margin-bottom: 2px; ">#{{value}}</button>
       {% endfor %}
 
@@ -436,8 +439,9 @@ $(document).ready(function(){
       </div>-->
 
           <p class="mab-card-text card-text" style="">
-
+            {% if request.user_agent.browser.family != 'Safari'  %}
             <button id='product_{{product.pk}}_flipper' onclick="" class="border-thin mybtn flipper" data-flip-card="product_{{product.pk}}_card" style=""><i class="fas fa-sync-alt"></i> Steckbrief</button>
+            {% endif %}
             <!-- <button id='product_{{product.pk}}_teilen' onclick="location.href = '{% url 'product-detail-card-embed' pk=product.pk %}'" class="border-thin mybtn" style=""><i class="fas fa-share"></i> Teilen</button> -->
             <button id='product_{{product.pk}}_{{product.frei}}' data-toggler='{{product.frei}}' class="border-thin mybtn btn-toggle {{product.frei}}" style="">#{{product.get_frei_display}}</button>
             <button id='product_{{product.pk}}_{{product.status}}' data-toggler='{{product.status}}' class="border-thin mybtn btn-toggle {{product.status}}" style="">#{{product.get_status_display}}</button>
@@ -467,6 +471,7 @@ $(document).ready(function(){
 
      <!-- BACKFACE BACKFACE BACKFACE BACKFACE BACKFACE BACKFACE BACKFACE -->
 
+     {% if request.user_agent.browser.family != 'Safari'  %}
 
     <div class="mab-card-face mab-card-face--back">
       <div class="mab-card  {% if product.frei == 'JAJA' %} {% endif %}">
@@ -488,7 +493,6 @@ $(document).ready(function(){
             </div>
         </div>
 
-
         <a href="{% url 'product-detail' product.pk %}">
           <div style="position: relative;text-align: center;">
 
@@ -500,11 +504,11 @@ $(document).ready(function(){
           &nbsp;
         </div>
 
+      </div>
+    </div>  <!-- BACKFACE -->
 
+    {% endif %}
 
-
-      </div>
-    </div>
   </div>
   </div>
 
@@ -516,21 +520,9 @@ $(document).ready(function(){
   {{sponsor_cards|safe}}
 
 
+{% if request.user_agent.browser.family != 'Safari'  %}
 <script>
 
-/*
-  var card = document.querySelector('.card');
-  card.addEventListener( 'click', function() {
-    card.classList.toggle('is-flipped');
-  });
-*/
-/*
-  cards = $(".flipcard");
-  cards.on( 'click', function(e) {
-    $(this).toggleClass('is-flipped');
-  });
-*/
-
   $(".flipper").click (function(elem){
 
      let toggler = this.getAttribute("data-flip-card");
@@ -551,6 +543,8 @@ $(document).ready(function(){
 
 </script>
 
+{% endif %}
+
 </div>
 
 <!-- End Cards -->

+ 2 - 24
marktplatz/templatetags/tags.py

@@ -8,32 +8,10 @@ from django.conf import settings
 from django.db.models import Avg
 
 from ..models import Product, User, Vote, Media, Contact
-register = template.Library()
-
-
-
-# @register.simple_tag
-# def model_name(obj):
-#     '''
-#     Django template filter which returns the verbose name of a model.
-#     '''
-#     if hasattr(obj, 'model'):
-#         obj = obj.model
-#
-#     return obj._meta.verbose_name.title()
-#
-#
-# @register.simple_tag
-# def model_name_plural(obj):
-#     '''
-#     Django template filter which returns the plural verbose name of a model.
-#     '''
-#     if hasattr(obj, 'model'):
-#         obj = obj.model
-#
-#     return obj._meta.verbose_name_plural.title()
 
+# from django_user_agents.utils import get_user_agent,get_and_set_user_agent
 
+register = template.Library()
 
 
 @register.simple_tag

+ 5 - 22
marktplatz/views.py

@@ -249,7 +249,6 @@ class ProductDelete(LoginRequiredMixin, DeleteView):
 class ProductsView(generic.ListView):
     model = Wohnprojekt
     #context_object_name = 'Products'
-    # show the best 4 website finish
 
     def get_queryset(self):
         # original qs
@@ -277,25 +276,11 @@ class ProductsView(generic.ListView):
             context['user'] = user
             used_countries = []
             orts = {}
-            raum_agebote = {}
-
             years = {''}
-            for product in context['wohnprojekt_list']:
-                print ( type (product.raumangebot) )
-                print (  repr(product.raumangebot)  )
-                # print (  dir(product.raumangebot)  )
-                print (  "----"  )
-                print (  product.raumangebot.__dict__  )
-                print (  "xxxx"  )
-                dir(MultiSelectField)
-
-                print (  dir(product.raumangebot.choices )  )
-                # print (  product.get_raumangebot_display  )
+            raum_agebote = {}
 
-                # print ( product.raumangebot.max_length )
-                #
-                # print ( product.raumangebot.to_python() )
 
+            for product in context['wohnprojekt_list']:
 
                 if not years.__contains__(product.year):
                     years.add(product.year)
@@ -307,9 +292,6 @@ class ProductsView(generic.ListView):
                     orts[product.ort] = product.get_ort_display()
                 # print (product.raumangebot.get_list() )
                 for raum in product.raumangebot:
-                    print(raum)
-                    # print(raum.get_display() )
-
                     if not (raum in raum_agebote):
                         raum_agebote[raum] = product.raumangebot.choices[raum]
 
@@ -325,7 +307,6 @@ class ProductsView(generic.ListView):
 
             context['altneu_list'] = Wohnprojekt.ALTNEU
 
-
             context['sponsor_cards'] =  Template( config.SPONSOR_CARDS ).render( Context(context) )
             context['main_card'] =      Template( config.MAIN_CARD ).render( Context(context) )
 
@@ -336,7 +317,8 @@ class ProductsView(generic.ListView):
             return context
 
     # def get(self, request, *args, **kwargs):
-    #     print ("")
+    #     print(request.user_agent)
+    #     return super().get(self, request, *args, **kwargs)
 
     template_name = 'marktplatz/product_overview.html'
 
@@ -510,6 +492,7 @@ class ProductsListView(generic.ListView):
 
 
 
+
 class lightboximg(LoginRequiredMixin, TemplateView):
 
     template_name = "marktplatz/importold.html"

+ 16 - 0
project_base/settings.py

@@ -234,6 +234,7 @@ INSTALLED_APPS = [
     'captcha',
     'debug_toolbar',
     'fullurl',
+    'django_user_agents',
      'email_obfuscator',
 
     'project_base.apps.PostOfficeBase',
@@ -269,14 +270,29 @@ INTERNAL_IPS = [
     # ...
 ]
 
+#
+#
+#
+# CACHES = {
+#     'default': {
+#         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
+#         'LOCATION': '127.0.0.1:11211',
+#     }
+# }
+#
+# USER_AGENTS_CACHE = 'default'
+
 MIDDLEWARE = [
     'debug_toolbar.middleware.DebugToolbarMiddleware',
+
     'django.middleware.security.SecurityMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
     'django.middleware.common.CommonMiddleware',
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
+
+    'django_user_agents.middleware.UserAgentMiddleware',
     'htmlmin.middleware.HtmlMinifyMiddleware',
     'htmlmin.middleware.MarkRequestMiddleware',
     # 'django.middleware.clickjacking.XFrameOptionsMiddleware',

+ 4 - 0
requirements.txt

@@ -19,3 +19,7 @@ django-newsletter==0.9.1
 django-tinymce==3.1.0
 django-email-obfuscator==0.1.5
 django_crontab==0.7.1
+pyyaml==5.3.1
+ua-parser==0.10
+user-agents==2.2.0
+django-user-agents==0.4