--- a/app/soc/views/models/role.py Sat Nov 22 18:16:42 2008 +0000
+++ b/app/soc/views/models/role.py Sat Nov 22 18:22:36 2008 +0000
@@ -89,99 +89,35 @@
"""Displays the request promotion to Role page.
"""
+ if not params:
+ params = {}
new_params = {}
+ link_id = kwargs['link_id']
- new_params['list_template'] = 'soc/models/list.html'
- new_params['list_redirect_action'] = '/request/create/%s/%s' % (
- self._params['url_name'], kwargs['link_id'])
- new_params['name'] = self._params['name']
- new_params['name_short'] = self._params['name_short']
- new_params['name_plural'] = self._params['name_plural']
+ new_params['list_action'] = (self.getCreateRequestRedirect, link_id)
new_params['instruction_text'] = \
self.DEF_INVITE_INSTRUCTION_MSG_FMT % self._params
- params = dicts.merge(params, new_params)
+ params = dicts.merge(new_params, params)
+ params = dicts.merge(new_params, user_view.view._params)
try:
self.checkAccess('invite', request)
except out_of_band.Error, error:
return error.response(request)
- return user_view.list(request, page_name=page_name, params=params)
-
- def promote(self, request, page_name=None, **kwargs):
- """Displays the promote to Role page.
-
- Args:
- request: the standard Django HTTP request object
- page_name: the page name displayed in templates as page and header title
- kwargs: the Key Fields for the specified entity
- """
+ content = helper.lists.getListContent(request, params, user_logic.logic, None)
+ contents = [content]
- properties = {
- 'accepted': True,
- }
-
- entity = request_logic.logic.updateOrCreateFromFields(properties, **kwargs)
-
- # TODO(SRabbelier) finish this
+ return self._list(request, params, contents, page_name)
- def accept(self, request, page_name=None, params=None, **kwargs):
- """Displays the accept a Role request page.
-
- Args:
- request: the standard Django HTTP request object
- page_name: the page name displayed in templates as page and header title
- kwargs: the Key Fields for the specified entity
+ def getCreateRequestRedirect(self, entity, group_scope):
+ """Returns the edit redirect for the specified entity
"""
- entity = request_logic.logic.getFromFields(**kwargs)
-
- if entity.declined:
- properties = {
- 'declined': False,
- }
-
- request_logic.logic.updateModelProperties(entity, **properties)
-
- if not entity.accepted:
- raise Error("The request has not yet been accepted")
-
- id = users.get_current_user()
- user = models.user.logic.getFromFields(email=id.email())
-
- if entity.user != user:
- raise Error("The request is being accepted by the wrong person")
-
- if entity.role != params['name'].lower():
- raise Error("The wrong module is handling the request")
-
- redirect = params['accept_redirect']
- suffix = self._logic.getKeySuffix(entity)
-
- return helper.responses.redirectToChangedSuffix(
- request, suffix, suffix)
-
- def decline(self, request, page_name=None, **kwargs):
- """Displays the decline a Role request page.
-
- Args:
- request: the standard Django HTTP request object
- page_name: the page name displayed in templates as page and header title
- kwargs: the Key Fields for the specified entity
- """
-
- properties = {
- 'declined': True,
- }
-
- request_logic.logic.updateOrCreateFromFields(properties, **kwargs)
-
- redirect = self._params['decline_redirect']
- suffix = self._logic.getKeySuffix(entity)
-
- return helper.responses.redirectToChangedSuffix(
- request, suffix, suffix)
+ result ='/request/create/%s/%s/%s' % (
+ self._params['url_name'], group_scope, entity.link_id)
+ return result
def getDjangoURLPatterns(self):
"""See base.View.getDjangoURLPatterns().