app/soc/views/models/program.py
changeset 663 c2dcae606699
parent 662 0e89b027b140
child 666 b9b0506efe8d
equal deleted inserted replaced
662:0e89b027b140 663:c2dcae606699
    73 
    73 
    74     new_params['extra_django_patterns'] = [
    74     new_params['extra_django_patterns'] = [
    75         (r'^%(url_name)s/create/(?P<scope_path>%(ulnp)s)$',
    75         (r'^%(url_name)s/create/(?P<scope_path>%(ulnp)s)$',
    76             'soc.views.models.%(module_name)s.create', 'Create %(name_short)s')]
    76             'soc.views.models.%(module_name)s.create', 'Create %(name_short)s')]
    77 
    77 
       
    78     new_params['scope_redirect'] = redirects.getCreateRedirect
       
    79 
    78     params = dicts.merge(params, new_params)
    80     params = dicts.merge(params, new_params)
    79 
    81 
    80     super(View, self).__init__(params=params)
    82     super(View, self).__init__(params=params)
    81 
       
    82   def create(self, request, **kwargs):
       
    83     """Specialized create view to enforce needing a scope_path
       
    84 
       
    85     This view simply gives control to the base.View.create if the
       
    86     scope_path is specified in kwargs. If it is not present, it
       
    87     instead displays the result of self.select. Refer to the
       
    88     respective docstrings on what they do.
       
    89 
       
    90     Args: 
       
    91       see base.View.create
       
    92     """
       
    93 
       
    94     if 'scope_path' in kwargs:
       
    95       return super(View, self).create(request, **kwargs)
       
    96 
       
    97     view = sponsor_view.view
       
    98     redirect = redirects.getCreateRedirect
       
    99     return self.select(request, view, redirect, **kwargs)
       
   100 
    83 
   101 
    84 
   102 view = View()
    85 view = View()
   103 
    86 
   104 create = view.create
    87 create = view.create