@@ -30,7 +30,17 @@ def get_success_url(self):
3030 else :
3131 self .success_url = self .get_back_uri ()
3232
33- return self .success_url
33+ return self .success_url
34+
35+ def get_unauthenticated_response (self , format = 'json' ):
36+ go_to = settings .LOGIN_URL
37+
38+ if 'json' == format :
39+ return HttpResponse (json .dumps (dict (signin_uri = go_to )),
40+ status = 401 ,
41+ content_type = 'application/json' )
42+ else :
43+ return HttpResponseRedirect (go_to )
3444
3545class IndexV (gv .TemplateView ):
3646 '''Render index'''
@@ -89,8 +99,11 @@ def dispatch(self, request, *args, **kwargs):
8999 if not request .is_ajax ():
90100 self .template_name = 'nemo/create.html'
91101 # else use default wish_form.html
92-
93- return super (CreateV , self ).dispatch (request , * args , ** kwargs )
102+
103+ if request .user .is_authenticated ():
104+ return super (CreateV , self ).dispatch (request , * args , ** kwargs )
105+ else :
106+ return self .get_unauthenticated_response ()
94107
95108 def form_valid (self , form ):
96109 '''override to set author'''
@@ -115,6 +128,9 @@ class VoteV(RedirectMixin, gv.View):
115128 '''TODO'''
116129 def post (self , request , pk , * args , ** kwargs ):
117130 '''TODO'''
131+ if not request .user .is_authenticated ():
132+ return self .get_unauthenticated_response ()
133+
118134 user = nemo .UserProfile .objects .get_by_user (request .user )
119135 wish = nemo .Wish .objects .get (pk = pk )
120136 try :
@@ -136,7 +152,7 @@ def dispatch(self, request, *args, **kwargs):
136152 if not request .is_ajax ():
137153 self .template_name = 'nemo/create.html'
138154 # else use default wish_form.html
139-
155+
140156 return super (UpdateV , self ).dispatch (request , * args , ** kwargs )
141157
142158 def form_invalid (self , form ):
0 commit comments