Browse Source

Only show live pages in navbar and listings (#104)

Fixes issue #96
Cory Sutyak 6 years ago
parent
commit
e49d5c9e13

+ 1 - 1
coderedcms/models/page_models.py

@@ -483,7 +483,7 @@ class CoderedPage(Page, metaclass=CoderedPageMeta):
         """
         if self.index_query_pagemodel:
             querymodel = resolve_model_string(self.index_query_pagemodel, self._meta.app_label)
-            return querymodel.objects.child_of(self).order_by(self.index_order_by)
+            return querymodel.objects.child_of(self).live().order_by(self.index_order_by)
 
         return super().get_children().live()
 

+ 3 - 2
coderedcms/templates/coderedcms/blocks/base_link_block.html

@@ -11,7 +11,6 @@
     aria-haspopup="true"
     aria-expanded="false"
     {% endif %}>
-
         {% if value.image %}
             {% image value.image max-200x200 as img %}
             <img src="{{img.url}}" class="w-100" alt="{{img.image.title}}"/>
@@ -36,7 +35,9 @@
         {% endfor %}
         {% if value.show_child_links %}
             {% for child in value.page.get_children %}
-                <li><a class="dropdown-item" href="{% pageurl child %}">{{child.title}}</a></li>
+                {% if child.live %}
+                    <li><a class="dropdown-item" href="{% pageurl child %}">{{child.title}}</a></li>
+                {% endif %}
             {% endfor %}
         {% endif %}
     </ul>

+ 1 - 1
coderedcms/templates/coderedcms/blocks/page_link_block.html

@@ -5,4 +5,4 @@
 	{% if value.page %}
     	{% pageurl value.page %}
     {% endif %}
-{% endblock %}
+{% endblock %}

+ 4 - 2
coderedcms/templates/coderedcms/snippets/navbar.html

@@ -34,8 +34,10 @@
       <ul class="navbar-nav {% if navbar.custom_css_class %}{{navbar.custom_css_class}}{% endif %}"
         {% if navbar.custom_id %}id="{{navbar.custom_id}}"{% endif %} >
         {% for item in navbar.menu_items %}
-        {% is_menu_item_dropdown item.value as has_dropdown %}
-        <li class="nav-item {% if has_dropdown %}dropdown{% endif %}">{% include_block item with aclass="nav-link" %}</li>
+          {% if item.value.page.live %}
+            {% is_menu_item_dropdown item.value as has_dropdown %}
+            <li class="nav-item {% if has_dropdown %}dropdown{% endif %}">{% include_block item with aclass="nav-link" %}</li>
+          {% endif %}
         {% endfor %}
       </ul>
       {% endfor %}