3
3
4
4
# Third Party Stuff
5
5
from django .contrib .auth .decorators import login_required
6
- from django .shortcuts import render
6
+ from django .shortcuts import render , get_object_or_404 , redirect
7
7
from django .views .decorators .http import require_http_methods
8
8
from django .http import HttpResponseRedirect
9
+ from django .core .urlresolvers import reverse
10
+ from django .contrib .auth .models import User
9
11
10
12
# Junction Stuff
11
13
from junction .conferences .models import Conference
@@ -31,15 +33,22 @@ def dashboard(request):
31
33
32
34
@login_required
33
35
def 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
+
44
48
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