equal
deleted
inserted
replaced
33 from google.appengine.api import users |
33 from google.appengine.api import users |
34 |
34 |
35 from django.utils.translation import ugettext_lazy |
35 from django.utils.translation import ugettext_lazy |
36 |
36 |
37 from soc.logic import accounts |
37 from soc.logic import accounts |
38 from soc.logic import models |
38 from soc.logic.models import user as user_logic |
|
39 from soc.logic.models import request as request_logic |
39 from soc.views import helper |
40 from soc.views import helper |
40 from soc.views.simple import requestLogin |
41 from soc.views.simple import requestLogin |
41 |
42 |
42 import soc.views.out_of_band |
43 import soc.views.out_of_band |
43 |
44 |
127 should be returned by the calling view. |
128 should be returned by the calling view. |
128 """ |
129 """ |
129 |
130 |
130 checkIsLoggedIn(request) |
131 checkIsLoggedIn(request) |
131 |
132 |
132 user = models.user.logic.getForFields( |
133 user = user_logic.logic.getForFields( |
133 {'account': users.get_current_user()}, unique=True) |
134 {'account': users.get_current_user()}, unique=True) |
134 |
135 |
135 if user: |
136 if user: |
136 return |
137 return |
137 |
138 |
169 login_message_fmt=login_message_fmt) |
170 login_message_fmt=login_message_fmt) |
170 |
171 |
171 raise soc.views.out_of_band.AccessViolationResponse(login_response) |
172 raise soc.views.out_of_band.AccessViolationResponse(login_response) |
172 |
173 |
173 |
174 |
174 def checkIsHost(request, program): |
175 def checkIsInvited(request, role): |
175 """Returns an alternate HTTP response if Google Account has no Host entity |
176 """Returns an alternate HTTP response if Google Account has no Host entity |
176 for the specified program. |
177 for the specified program. |
177 |
178 |
178 Args: |
179 Args: |
179 request: A Django HTTP request |
180 request: A Django HTTP request |
187 should be returned by the calling view. |
188 should be returned by the calling view. |
188 """ |
189 """ |
189 |
190 |
190 checkIsUser(request) |
191 checkIsUser(request) |
191 |
192 |
192 # TODO(alturin): the soc.logic.host module does not seem to exist... |
193 user = user_logic.logic.getForFields( |
193 host = soc.logic.host.getHostFromProgram( |
194 {'account': users.get_current_user()}, unique=True) |
194 users.get_current_user(), program) |
195 |
195 |
196 properties = { |
196 if host: |
197 'requester': user, |
|
198 'role': role, |
|
199 'accepted': True, |
|
200 } |
|
201 |
|
202 request = request_logic.logic.getForFields(properties, unique=True) |
|
203 |
|
204 if request: |
197 return |
205 return |
198 |
206 |
199 login_message_fmt = DEF_DEV_LOGOUT_LOGIN_MSG_FMT % { |
207 login_message_fmt = DEF_DEV_LOGOUT_LOGIN_MSG_FMT % { |
200 'role' : 'a host for this program', |
208 'role' : 'a host for this program', |
201 } |
209 } |