33
44# Third Party Stuff
55from django .contrib .auth .decorators import login_required
6- from django .shortcuts import render
6+ from django .shortcuts import render , get_object_or_404 , redirect
77from django .views .decorators .http import require_http_methods
88from django .http import HttpResponseRedirect
9+ from django .core .urlresolvers import reverse
10+ from django .contrib .auth .models import User
911
1012# Junction Stuff
1113from junction .conferences .models import Conference
@@ -31,15 +33,22 @@ def dashboard(request):
3133
3234@login_required
3335def profile (request ):
34- form = ProfileForm ()
35- user = request .user
36- if request .method == "POST" :
37- form = ProfileForm (request .POST )
38- if form .is_valid ():
39- form = form .save (commit = False )
40- form .user = user
41- form .save ()
42- print "form saved"
43- return HttpResponseRedirect ("/profiles" )
36+ username = request .user
37+ detail = None
38+
39+ if request .method == "POST" and username == request .user :
40+ user = get_object_or_404 (User , pk = username .id )
41+ detail = get_object_or_404 (Profile , user = user )
42+ detail_form = ProfileForm (request .POST , instance = detail )
43+
44+ if detail_form .is_valid ():
45+ detail = detail_form .save ()
46+ return HttpResponseRedirect (reverse ('profiles:dashboard' ))
47+
4448 elif request .method == "GET" :
45- return render (request , 'profiles/userprofile.html' )
49+ user = get_object_or_404 (User , pk = username .id )
50+ detail = get_object_or_404 (Profile , user = user )
51+ if detail :
52+ return render (request , 'profiles/userprofile.html' , {'detail' :detail })
53+ else :
54+ return render (request , 'profiles/userprofile.html' )
0 commit comments