app/soc/views/models/organization.py
changeset 1126 4fc86db70a76
parent 1079 be1aacb33b0f
child 1154 77276e2c46f7
equal deleted inserted replaced
1125:c6e8e3573fa2 1126:4fc86db70a76
    17 """Views for Organizations.
    17 """Views for Organizations.
    18 """
    18 """
    19 
    19 
    20 __authors__ = [
    20 __authors__ = [
    21     '"Sverre Rabbelier" <sverre@rabbelier.nl>',
    21     '"Sverre Rabbelier" <sverre@rabbelier.nl>',
       
    22     '"Lennard de Rijk" <ljvderijk@gmail.com>',
    22   ]
    23   ]
    23 
    24 
    24 
    25 
    25 from django import forms
    26 from django import forms
    26 
    27 
    27 from soc.logic import cleaning
    28 from soc.logic import cleaning
    28 from soc.logic import dicts
    29 from soc.logic import dicts
       
    30 from soc.views.helper import access
    29 from soc.views.helper import redirects
    31 from soc.views.helper import redirects
    30 from soc.views.models import group
    32 from soc.views.models import group
    31 from soc.views.models import program as program_view
    33 from soc.views.models import program as program_view
    32 
    34 
    33 import soc.models.organization
    35 import soc.models.organization
    44 
    46 
    45     Params:
    47     Params:
    46       original_params: a dict with params for this View
    48       original_params: a dict with params for this View
    47     """
    49     """
    48 
    50 
       
    51     # TODO do the proper access checks
       
    52     rights = access.Checker(params)
       
    53     rights['create'] = ['checkIsDeveloper']
       
    54     rights['edit'] = ['checkIsDeveloper']
       
    55     rights['delete'] = ['checkIsDeveloper']
       
    56     rights['home'] = ['allow']
       
    57     rights['list'] = ['checkIsDeveloper']
       
    58     rights['list_requests'] = ['checkIsDeveloper']
       
    59     rights['list_roles'] = ['checkIsDeveloper']
       
    60     # TODO(ljvderijk) implement Org application process
       
    61     #rights['applicant'] = ['checkIsDeveloper']
       
    62 
    49     new_params = {}
    63     new_params = {}
    50     new_params['logic'] = soc.logic.models.organization.logic
    64     new_params['logic'] = soc.logic.models.organization.logic
    51 
    65 
    52     new_params['scope_view'] = program_view
    66     new_params['scope_view'] = program_view
    53     new_params['scope_redirect'] = redirects.getCreateRedirect
    67     new_params['scope_redirect'] = redirects.getCreateRedirect
    54 
    68 
    55     new_params['name'] = "Organization"
    69     new_params['name'] = "Organization"
    56     new_params['url_name'] = "org"
    70     new_params['url_name'] = "org"
       
    71     new_params['sidebar_grouping'] = 'Organizations'
    57 
    72 
       
    73     new_params['public_template'] = 'soc/organization/public.html'
       
    74     new_params['list_row'] = 'soc/organization/list/row.html'
       
    75     new_params['list_heading'] = 'soc/organization/list/heading.html'
       
    76 
       
    77     #TODO(ljvderijk) add cleaning methods to not overwrite existing orgs
    58     new_params['create_extra_dynafields'] = {
    78     new_params['create_extra_dynafields'] = {
    59         'scope_path': forms.CharField(widget=forms.HiddenInput,
    79         'scope_path': forms.CharField(widget=forms.HiddenInput,
    60                                    required=True),
    80                                    required=True),
    61         'clean_link_id': cleaning.clean_link_id('link_id'),
    81         'clean_link_id': cleaning.clean_link_id('link_id'),
    62         }
    82         }
    63 
    83 
    64     params = dicts.merge(params, new_params)
    84     params = dicts.merge(params, new_params)
    65 
    85 
    66     super(View, self).__init__(params=params)
    86     super(View, self).__init__(params=params)
    67 
    87 
       
    88     # TODO(ljvderijk) define several menu items for organizations
       
    89     #def _getExtraMenuItems(self, role_description, params=None):
       
    90 
    68 
    91 
    69 view = View()
    92 view = View()
    70 
    93 
    71 create = view.create
    94 create = view.create
    72 delete = view.delete
    95 delete = view.delete
    73 edit = view.edit
    96 edit = view.edit
       
    97 home = view.home
    74 list = view.list
    98 list = view.list
       
    99 list_requests = view.listRequests
       
   100 list_roles = view.listRoles
    75 public = view.public
   101 public = view.public
    76 export = view.export
   102 export = view.export
    77 pick = view.pick
   103 pick = view.pick