equal
deleted
inserted
replaced
88 """ |
88 """ |
89 |
89 |
90 rights = access.Checker(params) |
90 rights = access.Checker(params) |
91 rights['any_access'] = ['allow'] |
91 rights['any_access'] = ['allow'] |
92 rights['show'] = ['allow'] |
92 rights['show'] = ['allow'] |
93 rights['create'] = [('checkSeeded', ['checkHasActiveRoleForScope', |
93 rights['create'] = [('checkSeeded', ['checkHasActiveRoleForScope', |
94 host_logic.logic])] |
94 host_logic.logic])] |
95 rights['edit'] = ['checkIsHostForProgram'] |
95 rights['edit'] = ['checkIsHostForProgram'] |
96 rights['delete'] = ['checkIsDeveloper'] |
96 rights['delete'] = ['checkIsDeveloper'] |
97 rights['assign_slots'] = ['checkIsHostForProgram'] |
97 rights['assign_slots'] = ['checkIsHostForProgram'] |
98 rights['slots'] = ['checkIsHostForProgram'] |
98 rights['slots'] = ['checkIsHostForProgram'] |
100 rights['assigned_proposals'] = ['checkIsHostForProgram'] |
100 rights['assigned_proposals'] = ['checkIsHostForProgram'] |
101 rights['accepted_orgs'] = [('checkIsAfterEvent', |
101 rights['accepted_orgs'] = [('checkIsAfterEvent', |
102 ['accepted_organization_announced_deadline', |
102 ['accepted_organization_announced_deadline', |
103 '__all__', program_logic.logic])] |
103 '__all__', program_logic.logic])] |
104 rights['list_projects'] = [('checkIsAfterEvent', |
104 rights['list_projects'] = [('checkIsAfterEvent', |
105 ['accepted_students_announced_deadline', |
105 ['accepted_students_announced_deadline', |
106 '__all__', program_logic.logic])] |
106 '__all__', program_logic.logic])] |
107 |
107 |
108 new_params = {} |
108 new_params = {} |
109 new_params['logic'] = soc.logic.models.program.logic |
109 new_params['logic'] = soc.logic.models.program.logic |
110 new_params['rights'] = rights |
110 new_params['rights'] = rights |
270 |
270 |
271 filter['status'] = ['new', 'active'] |
271 filter['status'] = ['new', 'active'] |
272 |
272 |
273 from soc.views.models.organization import view as org_view |
273 from soc.views.models.organization import view as org_view |
274 ao_params = org_view.getParams().copy() # active orgs |
274 ao_params = org_view.getParams().copy() # active orgs |
275 ao_list = self._getAcceptedOrgsList(description, ao_params, |
275 ao_list = self._getAcceptedOrgsList(description, ao_params, |
276 filter, use_cache) |
276 filter, use_cache) |
277 |
277 |
278 contents.append(ao_list) |
278 contents.append(ao_list) |
279 |
279 |
280 params = params.copy() |
280 params = params.copy() |
320 request: the standard Django HTTP request object |
320 request: the standard Django HTTP request object |
321 access_type : the name of the access type which should be checked |
321 access_type : the name of the access type which should be checked |
322 page_name: the page name displayed in templates as page and header title |
322 page_name: the page name displayed in templates as page and header title |
323 params: a dict with params for this View, not used |
323 params: a dict with params for this View, not used |
324 """ |
324 """ |
325 |
325 |
326 from django.utils import simplejson |
326 from django.utils import simplejson |
327 |
327 |
328 program = program_logic.logic.getFromKeyFieldsOr404(kwargs) |
328 program = program_logic.logic.getFromKeyFieldsOr404(kwargs) |
329 program_slots = program.slots |
329 program_slots = program.slots |
330 |
330 |
432 |
432 |
433 @decorators.merge_params |
433 @decorators.merge_params |
434 @decorators.check_access |
434 @decorators.check_access |
435 def showDuplicates(self, request, access_type, page_name=None, |
435 def showDuplicates(self, request, access_type, page_name=None, |
436 params=None, **kwargs): |
436 params=None, **kwargs): |
437 """View in which a host can see which students have been assigned |
437 """View in which a host can see which students have been assigned |
438 multiple slots. |
438 multiple slots. |
439 |
439 |
440 For params see base.view.Public(). |
440 For params see base.view.Public(). |
441 """ |
441 """ |
442 |
442 |
527 |
527 |
528 fields = {'scope': program_entity, |
528 fields = {'scope': program_entity, |
529 'slots >': 0, |
529 'slots >': 0, |
530 'status': 'active'} |
530 'status': 'active'} |
531 |
531 |
532 org_entities = org_logic.logic.getForFields(fields, |
532 org_entities = org_logic.logic.getForFields(fields, |
533 limit=limit, offset=offset) |
533 limit=limit, offset=offset) |
534 |
534 |
535 orgs_data = {} |
535 orgs_data = {} |
536 proposals_data = [] |
536 proposals_data = [] |
537 |
537 |
741 # add the organization signup link |
741 # add the organization signup link |
742 items += [ |
742 items += [ |
743 (redirects.getApplyRedirect(program_entity, {'url_name': 'org_app'}), |
743 (redirects.getApplyRedirect(program_entity, {'url_name': 'org_app'}), |
744 "Apply to become an Organization", 'any_access')] |
744 "Apply to become an Organization", 'any_access')] |
745 |
745 |
746 if user and timeline_helper.isAfterEvent(timeline_entity, |
746 if user and timeline_helper.isAfterEvent(timeline_entity, |
747 'org_signup_start'): |
747 'org_signup_start'): |
748 filter = { |
748 filter = { |
749 'applicant': user, |
749 'applicant': user, |
750 'scope': program_entity, |
750 'scope': program_entity, |
751 } |
751 } |
803 {'url_name':'program'}), |
803 {'url_name':'program'}), |
804 "List all student projects", 'any_access')] |
804 "List all student projects", 'any_access')] |
805 |
805 |
806 return items |
806 return items |
807 |
807 |
808 def _getStudentEntries(self, program_entity, student_entity, |
808 def _getStudentEntries(self, program_entity, student_entity, |
809 params, id, user): |
809 params, id, user): |
810 """Returns a list with menu items for students in a specific program. |
810 """Returns a list with menu items for students in a specific program. |
811 """ |
811 """ |
812 |
812 |
813 items = [] |
813 items = [] |
822 if timeline_helper.isAfterEvent(timeline_entity, 'student_signup_start'): |
822 if timeline_helper.isAfterEvent(timeline_entity, 'student_signup_start'): |
823 items += [(redirects.getListSelfRedirect(student_entity, |
823 items += [(redirects.getListSelfRedirect(student_entity, |
824 {'url_name':'student_proposal'}), |
824 {'url_name':'student_proposal'}), |
825 "List my Student Proposals", 'any_access')] |
825 "List my Student Proposals", 'any_access')] |
826 |
826 |
827 items += [(redirects.getEditRedirect(student_entity, |
827 items += [(redirects.getEditRedirect(student_entity, |
828 {'url_name': 'student'}), |
828 {'url_name': 'student'}), |
829 "Edit my Student Profile", 'any_access')] |
829 "Edit my Student Profile", 'any_access')] |
830 |
830 |
831 if timeline_helper.isAfterEvent(timeline_entity, |
831 if timeline_helper.isAfterEvent(timeline_entity, |
832 'accepted_students_announced_deadline'): |
832 'accepted_students_announced_deadline'): |