equal
deleted
inserted
replaced
213 'role': 'a site developer '} |
213 'role': 'a site developer '} |
214 |
214 |
215 raise out_of_band.LoginRequest(message_fmt=login_message_fmt) |
215 raise out_of_band.LoginRequest(message_fmt=login_message_fmt) |
216 |
216 |
217 |
217 |
218 def checkIsInvited(request, role): |
218 def checkIsInvited(request): |
219 """Returns an alternate HTTP response if Google Account has no Host entity |
219 """Returns an alternate HTTP response if Google Account has no Host entity |
220 for the specified program. |
220 for the specified program. |
221 |
221 |
222 Args: |
222 Args: |
223 request: A Django HTTP request |
223 request: A Django HTTP request |
231 should be returned by the calling view. |
231 should be returned by the calling view. |
232 """ |
232 """ |
233 |
233 |
234 checkIsUser(request) |
234 checkIsUser(request) |
235 |
235 |
|
236 login_message_fmt = DEF_DEV_LOGOUT_LOGIN_MSG_FMT % { |
|
237 'role': 'a host for this program'} |
|
238 |
|
239 splitpath = request.path.split('/') |
|
240 |
|
241 if len(splitpath) < 4: |
|
242 # TODO: perhaps this needs a better explanation? |
|
243 deny(request) |
|
244 |
|
245 role = splitpath[1] |
|
246 group_id = splitpath[3] |
|
247 user_id = splitpath[4] |
|
248 |
236 user = user_logic.logic.getForFields( |
249 user = user_logic.logic.getForFields( |
237 {'account': users.get_current_user()}, unique=True) |
250 {'account': users.get_current_user()}, unique=True) |
238 |
251 |
|
252 if user_id != user.link_id: |
|
253 # TODO: perhaps this needs a better explanation? |
|
254 deny(request) |
|
255 |
239 properties = { |
256 properties = { |
240 'requester': user, |
257 'link_id': user_id, |
241 'role': role, |
258 'role': role, |
242 'accepted': True, |
259 'scope_path': group_id, |
|
260 'group_accepted': True, |
243 } |
261 } |
244 |
262 |
245 request = request_logic.logic.getForFields(properties, unique=True) |
263 request = request_logic.logic.getForFields(properties, unique=True) |
246 |
264 |
247 if request: |
265 if request: |
248 return |
266 return |
249 |
267 |
250 login_message_fmt = DEF_DEV_LOGOUT_LOGIN_MSG_FMT % { |
|
251 'role': 'a host for this program'} |
|
252 |
|
253 raise out_of_band.LoginRequest(message_fmt=login_message_fmt) |
268 raise out_of_band.LoginRequest(message_fmt=login_message_fmt) |