|
@@ -11,7 +11,16 @@ from django.urls import reverse
|
|
|
from django.contrib.auth.models import User
|
|
|
|
|
|
import vyos
|
|
|
+from perms import is_authenticated
|
|
|
+import perms
|
|
|
+import vycontrol_vyos_api as vapi
|
|
|
+from libs.vycontrol_validators import *
|
|
|
+import vycontrol_messages as vmsg
|
|
|
|
|
|
+from config.models import Instance
|
|
|
+
|
|
|
+import pprint
|
|
|
+import validators
|
|
|
|
|
|
|
|
|
|
|
@@ -36,3 +45,45 @@ def index(request):
|
|
|
'users_admin': users_admin.all()
|
|
|
}
|
|
|
return HttpResponse(template.render(context, request))
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+@is_authenticated
|
|
|
+def profile(request):
|
|
|
+ all_instances = vyos.instance_getall()
|
|
|
+ is_superuser = perms.get_is_superuser(request.user)
|
|
|
+ hostname_default = vyos.get_hostname_prefered(request)
|
|
|
+ msg = vmsg.msg()
|
|
|
+
|
|
|
+ user = User.objects.get(
|
|
|
+ username=request.user,
|
|
|
+ is_active=True
|
|
|
+ )
|
|
|
+
|
|
|
+ if request.POST.get('email', None) != None:
|
|
|
+ email_new = request.POST.get('email').strip()
|
|
|
+ if validators.email(email_new):
|
|
|
+ user.email = email_new
|
|
|
+ user.save()
|
|
|
+
|
|
|
+ if request.POST.get('pass1', None) != None and request.POST.get('pass2', None) != None:
|
|
|
+ if request.POST.get('pass1') == request.POST.get('pass2'):
|
|
|
+ pass_new = request.POST.get('pass1').strip()
|
|
|
+ if pass_new != '':
|
|
|
+ user.set_password(pass_new)
|
|
|
+ user.save()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ template = loader.get_template('accounts/profile.html')
|
|
|
+ context = {
|
|
|
+ 'instances': all_instances,
|
|
|
+ 'hostname_default': hostname_default,
|
|
|
+ 'username': request.user,
|
|
|
+ 'is_superuser': is_superuser,
|
|
|
+ 'msg': msg.get_all(),
|
|
|
+ 'user': user,
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ return HttpResponse(template.render(context, request))
|