add aggregator app
This commit is contained in:
@@ -15,6 +15,12 @@
|
||||
<span>Feeds</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="{% if sidebar_section == 'aggregator' %}nav-active{% endif %}">
|
||||
<a href="{% url 'cabinet:aggregator:index' %}">
|
||||
<i class="fas fa-copy" aria-hidden="true"></i>
|
||||
<span>Aggregator</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -24,14 +30,16 @@
|
||||
<div class="nav-subtitle">Admin</div>
|
||||
<nav class="nav-main" role="navigation">
|
||||
<ul class="nav nav-main">
|
||||
<li class="nav-parent {% if sidebar_section %}nav-active{% endif %}">
|
||||
<li class="nav-parent {% if sidebar_section|slice:':6' == 'admin_' %}nav-expanded nav-active{% endif %}">
|
||||
<a href="#">
|
||||
<i class="fas fa-cog" aria-hidden="true"></i>
|
||||
<span>Configs</span>
|
||||
</a>
|
||||
<ul class="nav nav-children">
|
||||
{% for slug, title in admin_configs.items %}
|
||||
<li><a href="{% url 'cabinet:admin_config' slug=slug %}" class="nav-link">{{ title }}</a></li>
|
||||
<li class="{% if sidebar_section == 'admin_'|add:slug %}nav-active{% endif %}">
|
||||
<a href="{% url 'cabinet:admin_config' slug=slug %}" class="nav-link">{{ title }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
|
@@ -8,7 +8,7 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<form action="" method="post" class="card">
|
||||
<form action="" method="post" enctype="multipart/form-data" class="card">
|
||||
{% csrf_token %}
|
||||
<header class="card-header">
|
||||
<h2 class="card-title">Config</h2>
|
||||
|
@@ -9,5 +9,6 @@ urlpatterns = [
|
||||
path('login/', LoginView.as_view(), name='login'),
|
||||
path('logout/', LogoutView.as_view(), name='logout'),
|
||||
path('feeds/', include('feeds.urls', namespace='feeds')),
|
||||
path('aggregator/', include('aggregator.urls', namespace='aggregator')),
|
||||
path('admin/config/<slug>/', AdminConfigView.as_view(), name='admin_config'),
|
||||
]
|
||||
|
@@ -6,13 +6,16 @@ class CabinetViewMixin(LoginRequiredMixin):
|
||||
title = 'No title'
|
||||
sidebar_section = None
|
||||
|
||||
def get_sidebar_section(self):
|
||||
return self.sidebar_section
|
||||
|
||||
def get_title(self):
|
||||
return self.title
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
ctx = super(CabinetViewMixin, self).get_context_data(**kwargs)
|
||||
ctx['title'] = self.get_title()
|
||||
ctx['sidebar_section'] = self.sidebar_section
|
||||
ctx['sidebar_section'] = self.get_sidebar_section()
|
||||
return ctx
|
||||
|
||||
|
||||
|
@@ -30,6 +30,9 @@ class LoginView(BaseLoginView):
|
||||
class AdminConfigView(CabinetViewMixin, FormView):
|
||||
template_name = 'cabinet/admin_config.html'
|
||||
|
||||
def get_sidebar_section(self):
|
||||
return 'admin_{}'.format(self.get_form_class().slug)
|
||||
|
||||
def get_success_url(self):
|
||||
return ''
|
||||
|
||||
|
Reference in New Issue
Block a user