app/soc/views/models/role.py
changeset 616 580b1c21b808
parent 572 1b3e7280743a
child 620 e74e0b74625f
equal deleted inserted replaced
615:1d09147de51f 616:580b1c21b808
    32 from soc.logic import dicts
    32 from soc.logic import dicts
    33 from soc.logic.models import request as request_logic
    33 from soc.logic.models import request as request_logic
    34 from soc.logic.models import user as user_logic
    34 from soc.logic.models import user as user_logic
    35 from soc.views import helper
    35 from soc.views import helper
    36 from soc.views import out_of_band
    36 from soc.views import out_of_band
       
    37 from soc.views.helper import access
    37 from soc.views.models import base
    38 from soc.views.models import base
    38 from soc.views.models import user as user_view
    39 from soc.views.models import user as user_view
    39 
    40 
    40 import soc.models.request
    41 import soc.models.request
    41 import soc.views.helper.widgets
    42 import soc.views.helper.widgets
    71   """
    72   """
    72   
    73   
    73   DEF_INVITE_INSTRUCTION_MSG_FMT = ugettext_lazy(
    74   DEF_INVITE_INSTRUCTION_MSG_FMT = ugettext_lazy(
    74       'Please use this form to invite someone to become a %(name)s.')
    75       'Please use this form to invite someone to become a %(name)s.')
    75 
    76 
    76   def __init__(self, original_params=None):
    77   def __init__(self, params=None):
    77     """
    78     """
    78 
    79 
    79     Args:
    80     Args:
    80       original_params: This dictionary should be filled with the parameters
    81       original_params: This dictionary should be filled with the parameters
    81     """
    82     """
    82 
       
    83     params = {}
       
    84     params = dicts.merge(original_params, params)
       
    85 
    83 
    86     base.View.__init__(self, params=params)
    84     base.View.__init__(self, params=params)
    87 
    85 
    88   def invite(self, request, page_name=None, params=None, **kwargs):
    86   def invite(self, request, page_name=None, params=None, **kwargs):
    89     """Displays the request promotion to Role page.
    87     """Displays the request promotion to Role page.
   100 
    98 
   101     params = dicts.merge(new_params, params)
    99     params = dicts.merge(new_params, params)
   102     params = dicts.merge(new_params, user_view.view._params)
   100     params = dicts.merge(new_params, user_view.view._params)
   103 
   101 
   104     try:
   102     try:
   105       self.checkAccess('invite', request)
   103       access.checkAccess('invite', request, rights=params['rights'])
   106     except out_of_band.Error, error:
   104     except out_of_band.Error, error:
   107       return error.response(request)
   105       return error.response(request)
   108 
   106 
   109     content = helper.lists.getListContent(request, params, user_logic.logic)
   107     content = helper.lists.getListContent(request, params, user_logic.logic)
   110     contents = [content]
   108     contents = [content]
   121 
   119 
   122   def getDjangoURLPatterns(self):
   120   def getDjangoURLPatterns(self):
   123     """See base.View.getDjangoURLPatterns().
   121     """See base.View.getDjangoURLPatterns().
   124     """
   122     """
   125 
   123 
   126     params = {}
       
   127     default_patterns = self._params['django_patterns_defaults']
   124     default_patterns = self._params['django_patterns_defaults']
   128     default_patterns += [
   125     default_patterns += [
   129         (r'^%(url_name)s/invite/%(lnp)s$',
   126         (r'^%(url_name)s/invite/%(lnp)s$',
   130             'soc.views.models.%s.invite', 'Invite %(name_short)s')]
   127             'soc.views.models.%s.invite', 'Invite %(name_short)s')]
   131 
   128 
       
   129     params = {}
   132     params['django_patterns_defaults'] = default_patterns
   130     params['django_patterns_defaults'] = default_patterns
       
   131 
       
   132     params = dicts.merge(params, self._params)
   133     patterns = super(RoleView, self).getDjangoURLPatterns(params)
   133     patterns = super(RoleView, self).getDjangoURLPatterns(params)
   134 
   134 
   135     return patterns
   135     return patterns
   136 
   136