Browse Source

little refactoring

devel
bashmak 8 years ago
parent
commit
9b2fece608
  1. 7
      abonapp/templates/abonapp/buy_tariff.html
  2. 1
      agent/__init__.py
  3. 2
      agent/core.py
  4. 10
      djing/global_base_views.py
  5. 6
      ip_pool/views.py
  6. 1
      searchapp/templates/searchapp/index.html

7
abonapp/templates/abonapp/buy_tariff.html

@ -1,7 +1,7 @@
{% extends request.is_ajax|yesno:'bajax.html,base.html' %}
{% load i18n %}
{% block main %}
{% block breadcrumb %}
<ol class="breadcrumb">
<li><span class="glyphicon glyphicon-home"></span></li>
<li><a href="{% url 'abonapp:group_list' %}">{% trans 'User groups' %}</a></li>
@ -9,8 +9,11 @@
<li><a href="{% url 'abonapp:abon_home' group.pk abon.username %}">{{ abon.fio }}</a></li>
<li class="active">{% trans 'Pick a service' %}</li>
</ol>
{% endblock %}
{% include 'message_block.html' %}
{% block page-header %}{% trans 'Pick a service' %}{% endblock %}
{% block main %}
<div class="panel panel-default">
<div class="panel-heading">

1
agent/__init__.py

@ -6,4 +6,5 @@ from .structs import TariffStruct, AbonStruct
# Transmitter мы будем импортировать в других местах
# Тут надо указать какой у нас будет NAS
# т.е. какой класс будет управлять доступом в интернет
# TODO: Transmitter can be lazy init
Transmitter = MikrotikTransmitter

2
agent/core.py

@ -82,7 +82,7 @@ class BaseTransmitter(metaclass=ABCMeta):
:param users_from_db: QuerySet of all subscribers that can have service
:return: Tuple of 2 lists that contain list to add users and list to remove users
"""
users_struct_list = [ab.build_agent_struct() for ab in users_from_db if ab.is_access()]
users_struct_list = (ab.build_agent_struct() for ab in users_from_db if ab.is_access())
users_struct_set = set([ab for ab in users_struct_list if ab is not None and ab.tariff is not None])
users_from_nas = set(self.read_users())
list_for_del = (users_struct_set ^ users_from_nas) - users_struct_set

10
djing/global_base_views.py

@ -1,3 +1,4 @@
from ipaddress import ip_address, ip_network
from json import dumps
from django.utils.decorators import method_decorator
@ -6,7 +7,6 @@ from django.http.response import HttpResponseForbidden, Http404, HttpResponseRed
from django.utils.translation import gettext_lazy as _
from django.conf import settings
from django.views.generic import ListView
from netaddr import IPNetwork, IPAddress
from django.core.paginator import InvalidPage, EmptyPage
from djing.lib.decorators import hash_auth_view
@ -50,17 +50,17 @@ class AllowedSubnetMixin(object):
Check if user ip in allowed subnet.
Return 403 denied otherwise.
"""
ip = IPAddress(request.META.get('REMOTE_ADDR'))
ip = ip_address(request.META.get('REMOTE_ADDR'))
api_auth_subnet = getattr(settings, 'API_AUTH_SUBNET')
if type(api_auth_subnet) is str:
if ip in IPNetwork(api_auth_subnet):
if ip in ip_network(api_auth_subnet):
return super(AllowedSubnetMixin, self).dispatch(request, *args, **kwargs)
try:
for subnet in api_auth_subnet:
if ip in IPNetwork(subnet):
if ip in ip_network(subnet):
return super(AllowedSubnetMixin, self).dispatch(request, *args, **kwargs)
except TypeError:
if ip in IPNetwork(str(api_auth_subnet)):
if ip in ip_network(str(api_auth_subnet)):
return super(AllowedSubnetMixin, self).dispatch(request, *args, **kwargs)
return HttpResponseForbidden('Access Denied')

6
ip_pool/views.py

@ -39,9 +39,9 @@ class NetworkUpdateView(UpdateView):
@method_decorator(login_required, name='dispatch')
class IpEmployedListView(BaseOrderedFilteringList):
template_name = 'ip_pool/employed_ip_list.html'
model = models.EmployedIpModel
class IpLeasesListView(BaseOrderedFilteringList):
template_name = 'ip_pool/ip_leases_list.html'
model = models.IpLeaseModel
def get_context_data(self, **kwargs):
net_id = self.kwargs.get('net_id')

1
searchapp/templates/searchapp/index.html

@ -8,6 +8,7 @@
</ol>
{% endblock %}
{% block page-header %}{% trans 'Search' %}{% endblock %}
{% block main %}
<div class="panel panel-default">

Loading…
Cancel
Save