app/soc/views/models/role.py
changeset 560 a32be584ee04
parent 543 280a1ac6bcc1
child 569 96d9655a7538
--- 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().