mirror of
				https://github.com/retspen/webvirtcloud
				synced 2025-07-31 12:41:08 +00:00 
			
		
		
		
	Added profile page
This commit is contained in:
		
							parent
							
								
									a2b1fc499e
								
							
						
					
					
						commit
						9497eb7c89
					
				
					 4 changed files with 83 additions and 13 deletions
				
			
		| 
						 | 
				
			
			@ -16,6 +16,30 @@ def profile(request):
 | 
			
		|||
    if not request.user.is_authenticated():
 | 
			
		||||
        return HttpResponseRedirect(reverse('index'))
 | 
			
		||||
 | 
			
		||||
    error_messages = []
 | 
			
		||||
    user = User.objects.get(id=request.user.id)
 | 
			
		||||
 | 
			
		||||
    if request.method == 'POST':
 | 
			
		||||
        if 'username' in request.POST:
 | 
			
		||||
            username = request.POST.get('username', '')
 | 
			
		||||
            email = request.POST.get('email', '')
 | 
			
		||||
            user.first_name = username
 | 
			
		||||
            user.email = email
 | 
			
		||||
            user.save()
 | 
			
		||||
            return HttpResponseRedirect(request.get_full_path())
 | 
			
		||||
        if 'oldpasswd' in request.POST:
 | 
			
		||||
            oldpasswd = request.POST.get('oldpasswd', '')
 | 
			
		||||
            password1 = request.POST.get('passwd1', '')
 | 
			
		||||
            password2 = request.POST.get('passwd2', '')
 | 
			
		||||
            if password1 and password2 and password1 != password2:
 | 
			
		||||
                error_messages.append("Passwords don't match")
 | 
			
		||||
            if not user.check_password(oldpasswd):
 | 
			
		||||
                error_messages.append("Old password is wrong!")
 | 
			
		||||
            if not error_messages:
 | 
			
		||||
                user.set_password(password1)
 | 
			
		||||
                user.save()
 | 
			
		||||
                return HttpResponseRedirect(request.get_full_path())
 | 
			
		||||
 | 
			
		||||
    return render(request, 'profile.html', locals())
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -411,7 +411,7 @@ def instance(request, compute_id, vname):
 | 
			
		|||
    return render(request, 'instance.html', locals())
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def inst_status(request, compute_id, vname):
 | 
			
		||||
def inst_status(request, host_id, vname):
 | 
			
		||||
    """
 | 
			
		||||
    :param request:
 | 
			
		||||
    :return:
 | 
			
		||||
| 
						 | 
				
			
			@ -420,7 +420,9 @@ def inst_status(request, compute_id, vname):
 | 
			
		|||
    if not request.user.is_authenticated():
 | 
			
		||||
        return HttpResponseRedirect(reverse('login'))
 | 
			
		||||
 | 
			
		||||
    compute = Compute.objects.get(id=compute_id)
 | 
			
		||||
    compute = Compute.objects.get(id=host_id)
 | 
			
		||||
    response = HttpResponse()
 | 
			
		||||
    response['Content-Type'] = "text/javascript"
 | 
			
		||||
 | 
			
		||||
    try:
 | 
			
		||||
        conn = wvmInstance(compute.hostname,
 | 
			
		||||
| 
						 | 
				
			
			@ -428,14 +430,10 @@ def inst_status(request, compute_id, vname):
 | 
			
		|||
                           compute.password,
 | 
			
		||||
                           compute.type,
 | 
			
		||||
                           vname)
 | 
			
		||||
        status = conn.get_status()
 | 
			
		||||
        data = json.dumps({'status': conn.get_status()})
 | 
			
		||||
        conn.close()
 | 
			
		||||
    except libvirtError:
 | 
			
		||||
        status = None
 | 
			
		||||
 | 
			
		||||
    data = json.dumps({'status': status})
 | 
			
		||||
    response = HttpResponse()
 | 
			
		||||
    response['Content-Type'] = "text/javascript"
 | 
			
		||||
        data = json.dumps({'error': 'Error 500'})
 | 
			
		||||
    response.write(data)
 | 
			
		||||
    return response
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
{% extends "base.html" %}
 | 
			
		||||
{% load i18n %}
 | 
			
		||||
{% block title %}{% trans "Logs" %}{% endblock %}
 | 
			
		||||
{% block title %}{% trans "Profile" %}{% endblock %}
 | 
			
		||||
{% block content %}
 | 
			
		||||
            <!-- Page Heading -->
 | 
			
		||||
            <div class="row">
 | 
			
		||||
| 
						 | 
				
			
			@ -14,7 +14,58 @@
 | 
			
		|||
 | 
			
		||||
            <div class="row">
 | 
			
		||||
                <div class="col-lg-12">
 | 
			
		||||
 | 
			
		||||
                    <h3 class="page-header">{% trans "Edit Profile" %}</h3>
 | 
			
		||||
                    <form class="form-horizontal" method="post" action="" role="form">{% csrf_token %}
 | 
			
		||||
                        <div class="form-group">
 | 
			
		||||
                            <label class="col-sm-2 control-label">{% trans "Login" %}</label>
 | 
			
		||||
                            <div class="col-sm-4">
 | 
			
		||||
                                <input type="text" class="form-control" value="{{ request.user.username }}" disabled>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div class="form-group bridge_name_form_group_dhcp">
 | 
			
		||||
                            <label class="col-sm-2 control-label">{% trans "Username" %}</label>
 | 
			
		||||
                            <div class="col-sm-4">
 | 
			
		||||
                                <input type="text" class="form-control" name="username" value="{{ request.user.first_name }}" pattern="[0-9a-zA-Z]+">
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div class="form-group bridge_name_form_group_dhcp">
 | 
			
		||||
                            <label class="col-sm-2 control-label">{% trans "Email" %}</label>
 | 
			
		||||
                            <div class="col-sm-4">
 | 
			
		||||
                                <input type="email" class="form-control" name="email" value="{{ request.user.email }}">
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div class="form-group">
 | 
			
		||||
                            <div class="col-sm-offset-2 col-sm-10">
 | 
			
		||||
                                <button type="submit" class="btn btn-primary">{% trans "Change" %}</button>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </form>
 | 
			
		||||
                    <h3 class="page-header">{% trans "Edit Password" %}</h3>
 | 
			
		||||
                    <form class="form-horizontal" method="post" action="" role="form">{% csrf_token %}
 | 
			
		||||
                        <div class="form-group">
 | 
			
		||||
                            <label class="col-sm-2 control-label">{% trans "Old password" %}</label>
 | 
			
		||||
                            <div class="col-sm-4">
 | 
			
		||||
                                <input type="password" class="form-control" name="oldpasswd" value="">
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div class="form-group bridge_name_form_group_dhcp">
 | 
			
		||||
                            <label class="col-sm-2 control-label">{% trans "New password" %}</label>
 | 
			
		||||
                            <div class="col-sm-4">
 | 
			
		||||
                                <input type="password" class="form-control" name="passwd1" value="">
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div class="form-group bridge_name_form_group_dhcp">
 | 
			
		||||
                            <label class="col-sm-2 control-label">{% trans "Retry password" %}</label>
 | 
			
		||||
                            <div class="col-sm-4">
 | 
			
		||||
                                <input type="password" class="form-control" name="passwd2" value="">
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div class="form-group">
 | 
			
		||||
                            <div class="col-sm-offset-2 col-sm-10">
 | 
			
		||||
                                <button type="submit" class="btn btn-primary">{% trans "Change" %}</button>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </form>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
| 
						 | 
				
			
			@ -347,9 +347,7 @@ class wvmInstance(wvmConnect):
 | 
			
		|||
            else:
 | 
			
		||||
                rd_diff_usage = 0
 | 
			
		||||
                wr_diff_usage = 0
 | 
			
		||||
 | 
			
		||||
            dev_usage.append({'dev': dev[1], 'rd': rd_diff_usage, 'wr': wr_diff_usage})
 | 
			
		||||
 | 
			
		||||
        return dev_usage
 | 
			
		||||
 | 
			
		||||
    def net_usage(self):
 | 
			
		||||
| 
						 | 
				
			
			@ -371,7 +369,6 @@ class wvmInstance(wvmConnect):
 | 
			
		|||
        else:
 | 
			
		||||
            for i, dev in enumerate(self.get_net_device()):
 | 
			
		||||
                dev_usage.append({'dev': i, 'rx': 0, 'tx': 0})
 | 
			
		||||
 | 
			
		||||
        return dev_usage
 | 
			
		||||
 | 
			
		||||
    def get_telnet_port(self):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue