def applyMember(self, request, access_type, page_name=None, params=None, **kwargs): """Shows a list of all clubs and you can choose one to apply to become a member. Args: request: the standard Django HTTP request object access_type : the name of the access type which should be checked page_name: the page name displayed in templates as page and header title params: a dict with params for this View kwargs: the Key Fields for the specified entity """ list_params = params.copy() list_params['public_row_extra'] = lambda entity: { 'link': redirects.getRequestRedirectForRole(entity, 'club_member') } list_params['list_description'] = ugettext( 'Choose a club to ' 'apply to become a Club Member.') return self.list(request, access_type, page_name, params=list_params, filter=None)
def applyMember(self, request, access_type, page_name=None, params=None, **kwargs): """Shows a list of all clubs and you can choose one to apply to become a member. Args: request: the standard Django HTTP request object access_type : the name of the access type which should be checked page_name: the page name displayed in templates as page and header title params: a dict with params for this View kwargs: the Key Fields for the specified entity """ list_params = params.copy() list_params['public_row_extra'] = lambda entity: { 'link': redirects.getRequestRedirectForRole(entity, 'club_member') } list_params['list_description'] = ugettext('Choose a club to ' 'apply to become a Club Member.') return self.list(request, 'allow', page_name, params=list_params, filter=None)
def __init__(self, params=None): """Defines the fields and methods required for the base View class to provide the user with list, public, create, edit and delete views. Params: original_params: a dict with params for this View """ from soc.views.models import program as program_view rights = access.Checker(params) rights['any_access'] = ['allow'] rights['show'] = ['allow'] rights['create'] = ['checkIsDeveloper'] rights['edit'] = [('checkHasRoleForKeyFieldsAsScope', org_admin_logic.logic,), ('checkGroupIsActiveForLinkId', org_logic.logic)] rights['delete'] = ['checkIsDeveloper'] rights['home'] = ['allow'] rights['public_list'] = ['allow'] rights['apply_mentor'] = ['checkIsUser'] rights['list_requests'] = [('checkHasRoleForKeyFieldsAsScope', org_admin_logic.logic)] rights['list_roles'] = [('checkHasRoleForKeyFieldsAsScope', org_admin_logic.logic)] new_params = {} new_params['logic'] = soc.logic.models.organization.logic new_params['rights'] = rights new_params['scope_view'] = program_view new_params['scope_redirect'] = redirects.getCreateRedirect new_params['name'] = "Organization" new_params['url_name'] = "org" new_params['document_prefix'] = "org" new_params['sidebar_grouping'] = 'Organizations' new_params['public_template'] = 'soc/organization/public.html' new_params['home_template'] = 'soc/organization/home.html' new_params['sans_link_id_public_list'] = True patterns = [] patterns += [ (r'^%(url_name)s/(?P<access_type>apply_mentor)/%(scope)s$', '%(module_package)s.%(module_name)s.apply_mentor', "List of all %(name_plural)s you can apply to"), (r'^%(url_name)s/(?P<access_type>list_proposals)/%(key_fields)s$', '%(module_package)s.%(module_name)s.list_proposals', "List of all Student Proposals for "), (r'^%(url_name)s/(?P<access_type>applicant)/%(scope)s$', '%(module_package)s.%(module_name)s.applicant', "%(name)s Creation via Accepted Application"), ] new_params['extra_django_patterns'] = patterns new_params['create_dynafields'] = [ {'name': 'link_id', 'base': forms.fields.CharField, 'label': 'Organization Link ID', }, ] new_params['create_extra_dynaproperties'] = { 'scope_path': forms.CharField(widget=forms.HiddenInput, required=True), 'description': forms.fields.CharField( widget=helper.widgets.FullTinyMCE( attrs={'rows': 25, 'cols': 100})), 'clean_description': cleaning.clean_html_content('description'), 'clean_ideas': cleaning.clean_url('ideas'), 'clean': cleaning.validate_new_group('link_id', 'scope_path', soc.logic.models.organization), } new_params['edit_extra_dynaproperties'] = { 'clean': cleaning.clean_refs(params if params else new_params, ['home_link_id']) } new_params['public_field_extra'] = lambda entity: { 'ideas': lists.urlize(entity.ideas, 'Click Here'), } params = dicts.merge(params, new_params, sub_merge=True) super(View, self).__init__(params=params) self._params['public_field_keys'] = self._params['select_field_keys'] = [ "name", "link_id", "short_name", "ideas" ] self._params['public_field_names'] = self._params['select_field_names'] = [ "Name", "Link ID", "Short Name", "Ideas Page" ] self._params['select_field_extra'] = self._params['public_field_extra'] self._params['select_row_action'] = { "type": "redirect_custom", "parameters": dict(new_window=True), } self._params['select_row_extra'] = lambda entity: { "link": redirects.getRequestRedirectForRole( entity, params['mentor_url_name']) }