@ -47,13 +47,14 @@ from django.http import HttpResponse
from django . http import HttpResponseRedirect
from django . http import HttpResponseRedirect
from django . views . decorators . csrf import csrf_exempt
from django . views . decorators . csrf import csrf_exempt
from django . utils . translation import ugettext as _
from django . utils . translation import ugettext as _
from django . core . exceptions import PermissionDenied
from rest_framework . renderers import JSONRenderer
from rest_framework . renderers import JSONRenderer
from reversion import revisions as reversion
from reversion import revisions as reversion
from cotisations . models import Facture , Paiement
from cotisations . models import Facture , Paiement
from machines . models import Machine
from machines . models import Machine
from preferences . models import OptionalUser , GeneralOption , AssoOption
from preferences . models import OptionalUser , OptionalMachine , GeneralOption , AssoOption
from re2o . views import form
from re2o . views import form
from re2o . utils import (
from re2o . utils import (
all_has_access ,
all_has_access ,
@ -71,6 +72,8 @@ from re2o.acl import (
)
)
from cotisations . utils import find_payment_method
from cotisations . utils import find_payment_method
from netaddr import IPAddress , IPNetwork
from . serializers import MailingSerializer , MailingMemberSerializer
from . serializers import MailingSerializer , MailingMemberSerializer
from . models import (
from . models import (
User ,
User ,
@ -1084,6 +1087,8 @@ def process_passwd(request, req):
@login_required
@login_required
def initial_register ( request ) :
def initial_register ( request ) :
options , created = OptionalMachine . objects . get_or_create ( )
if any ( IPAddress ( request . META [ ' REMOTE_ADDR ' ] ) in t . ip_set for t in options . autocapture_iprange . all ( ) ) or any ( IPAddress ( request . META [ ' REMOTE_ADDR ' ] ) in IPNetwork ( t . complete_prefixv6 ) for t in options . autocapture_iprange . all ( ) if t . complete_prefixv6 ) :
u_form = InitialRegisterForm ( request . POST or None , user = request . user , switch_ip = request . GET . get ( ' switch_ip ' , None ) , switch_port = request . GET . get ( ' switch_port ' , None ) , client_mac = request . GET . get ( ' client_mac ' , None ) )
u_form = InitialRegisterForm ( request . POST or None , user = request . user , switch_ip = request . GET . get ( ' switch_ip ' , None ) , switch_port = request . GET . get ( ' switch_port ' , None ) , client_mac = request . GET . get ( ' client_mac ' , None ) )
if not u_form . fields :
if not u_form . fields :
messages . error ( request , _ ( " Incorrect URL, or already registered device " ) )
messages . error ( request , _ ( " Incorrect URL, or already registered device " ) )
@ -1105,6 +1110,8 @@ def initial_register(request):
' users/user.html ' ,
' users/user.html ' ,
request
request
)
)
else :
raise PermissionDenied
class JSONResponse ( HttpResponse ) :
class JSONResponse ( HttpResponse ) :