From e9783ab5c646425813009e2e7174fb4f53d9d881 Mon Sep 17 00:00:00 2001 From: Yasin Date: Tue, 27 Aug 2013 18:43:19 +0200 Subject: [PATCH] My Account: Class view created [querying manifold DB] --- portal/templates/my_account.html | 2 +- portal/templates/slice_request.html | 14 +++++-- portal/urls.py | 4 +- portal/views.py | 63 +++++++++++++++++++++++++---- 4 files changed, 69 insertions(+), 14 deletions(-) diff --git a/portal/templates/my_account.html b/portal/templates/my_account.html index 9b9a2a38..3284fdb4 100644 --- a/portal/templates/my_account.html +++ b/portal/templates/my_account.html @@ -64,7 +64,7 @@ Full Name - Yasin Rahman + {{ users }} diff --git a/portal/templates/slice_request.html b/portal/templates/slice_request.html index e60e8810..acaf2df2 100644 --- a/portal/templates/slice_request.html +++ b/portal/templates/slice_request.html @@ -7,12 +7,18 @@ {% block unfold1_main %} -

Request a Slice

+ + +
{% csrf_token %} + +
+

Request a Slice

+
- -{% csrf_token %} {{ form.as_p }} - +

+ +

{% endblock %} diff --git a/portal/urls.py b/portal/urls.py index 2d870d53..fc5df319 100644 --- a/portal/urls.py +++ b/portal/urls.py @@ -22,7 +22,7 @@ from django.conf.urls import patterns, include, url from portal import views -from portal.views import DashboardView, PresViewView, PlatformsView, PlatformView, ValidatePendingView # UserRegisterView, UserValidateView +from portal.views import DashboardView, PresViewView, PlatformsView, PlatformView, ValidatePendingView, AccountView # UserRegisterView, UserValidateView from portal.util import TemplateView # DEPRECATED #named_register_forms = ( @@ -43,7 +43,7 @@ urlpatterns = patterns('', #url(r'^user/validate/?$', UserValidateView.as_view(), name='user_validate'), url(r'^dashboard/?$', DashboardView.as_view(), name='dashboard'), #url(r'^my_account/?$', MyAccountView.as_view(), name='my_account'), - url(r'^account/?$', views.my_account), + url(r'^account/?$', AccountView.as_view(), name='account'), url(r'^platforms/?$', PlatformsView.as_view(), name='platforms'), #url(r'^portal/platform/?$', PlatformView.platform_view(), name='platform'), url(r'^platform/(?P[\w\.]+)/?$', PlatformView.as_view(), name='platform'), diff --git a/portal/views.py b/portal/views.py index 9699f0a5..7f96de71 100644 --- a/portal/views.py +++ b/portal/views.py @@ -592,14 +592,62 @@ class PlatformView(TemplateView): return context + +#class for my_account +class AccountView(TemplateView): + template_name = "my_account.html" + + #This view requires login + @method_decorator(login_required) + def dispatch(self, *args, **kwargs): + return super(AccountView, self).dispatch(*args, **kwargs) + + + def get_context_data(self, **kwargs): + page = Page(self.request) + + #network_query = Query().get('local:platform').filter_by('disabled', '==', '0').select('platform','platform_longname','gateway_type') + network_query = Query().get('local:user').select('user_id','email','config') + page.enqueue_query(network_query) + + page.expose_js_metadata() + page.expose_queries() + + userlist = SimpleList( + title = None, + page = page, + key = 'user_id', + query = network_query, + ) + + context = super(AccountView, self).get_context_data(**kwargs) + context['person'] = self.request.user + context['users'] = userlist.render(self.request) + + # XXX This is repeated in all pages + # more general variables expected in the template + context['title'] = 'Platforms connected to MySlice' + # the menu items on the top + context['topmenu_items'] = topmenu_items('My Account', self.request) + # so we can sho who is logged + context['username'] = the_user(self.request) + + context.update(page.prelude_env()) + return context + + + + + + @login_required # View for my_account form -def my_account(request): - return render(request, 'my_account.html', { - #'form': form, - 'topmenu_items': topmenu_items('My Account', request), - 'username': the_user (request) - }) +#def my_account(request): +# return render(request, 'my_account.html', { +# #'form': form, +# 'topmenu_items': topmenu_items('My Account', request), +# 'username': the_user (request) +# }) @login_required @@ -607,6 +655,7 @@ def my_account(request): def acc_process(request): # getting the user_id from the session [now hardcoded] get_user = PendingUser.objects.get(id='1') # here we will get the id/email from session e.g., person.email + # getting user info from manifold if 'submit_name' in request.POST: edited_first_name = request.POST['fname'] edited_last_name = request.POST['lname'] @@ -630,7 +679,7 @@ def acc_process(request): get_user.last_name = edited_last_name get_user.save() - return HttpResponse('Success: Name Updated!!') + return HttpResponse('Sucess: First Name and Last Name Updated!') elif 'submit_pass' in request.POST: edited_password = request.POST['password'] # select the logged in user [for the moment hard coded] -- 2.43.0