equal
deleted
inserted
replaced
25 |
25 |
26 from django import forms |
26 from django import forms |
27 |
27 |
28 from soc.logic import cleaning |
28 from soc.logic import cleaning |
29 from soc.logic import dicts |
29 from soc.logic import dicts |
|
30 from soc.logic.models import org_app as org_app_logic |
30 from soc.views.helper import access |
31 from soc.views.helper import access |
|
32 from soc.views.helper import dynaform |
31 from soc.views.helper import redirects |
33 from soc.views.helper import redirects |
|
34 from soc.views.helper import widgets |
32 from soc.views.models import group |
35 from soc.views.models import group |
33 from soc.views.models import program as program_view |
36 from soc.views.models import program as program_view |
34 |
37 |
35 import soc.models.organization |
38 import soc.models.organization |
36 import soc.logic.models.organization |
39 import soc.logic.models.organization |
55 rights['delete'] = ['checkIsDeveloper'] |
58 rights['delete'] = ['checkIsDeveloper'] |
56 rights['home'] = ['allow'] |
59 rights['home'] = ['allow'] |
57 rights['list'] = ['checkIsDeveloper'] |
60 rights['list'] = ['checkIsDeveloper'] |
58 rights['list_requests'] = ['checkIsDeveloper'] |
61 rights['list_requests'] = ['checkIsDeveloper'] |
59 rights['list_roles'] = ['checkIsDeveloper'] |
62 rights['list_roles'] = ['checkIsDeveloper'] |
60 # TODO(ljvderijk) implement Org application process |
63 rights['applicant'] = ['checkIsDeveloper'] |
61 #rights['applicant'] = ['checkIsDeveloper'] |
|
62 |
64 |
63 new_params = {} |
65 new_params = {} |
64 new_params['logic'] = soc.logic.models.organization.logic |
66 new_params['logic'] = soc.logic.models.organization.logic |
65 |
67 |
66 new_params['scope_view'] = program_view |
68 new_params['scope_view'] = program_view |
72 |
74 |
73 new_params['public_template'] = 'soc/organization/public.html' |
75 new_params['public_template'] = 'soc/organization/public.html' |
74 new_params['list_row'] = 'soc/organization/list/row.html' |
76 new_params['list_row'] = 'soc/organization/list/row.html' |
75 new_params['list_heading'] = 'soc/organization/list/heading.html' |
77 new_params['list_heading'] = 'soc/organization/list/heading.html' |
76 |
78 |
|
79 new_params['application_logic'] = org_app_logic |
|
80 new_params['group_applicant_url'] = True |
|
81 |
77 #TODO(ljvderijk) add cleaning methods to not overwrite existing orgs |
82 #TODO(ljvderijk) add cleaning methods to not overwrite existing orgs |
78 new_params['create_extra_dynafields'] = { |
83 new_params['create_extra_dynafields'] = { |
79 'scope_path': forms.CharField(widget=forms.HiddenInput, |
84 'scope_path': forms.CharField(widget=forms.HiddenInput, |
80 required=True), |
85 required=True), |
81 'clean_link_id': cleaning.clean_link_id('link_id'), |
86 'clean_link_id': cleaning.clean_link_id('link_id'), |
83 |
88 |
84 params = dicts.merge(params, new_params) |
89 params = dicts.merge(params, new_params) |
85 |
90 |
86 super(View, self).__init__(params=params) |
91 super(View, self).__init__(params=params) |
87 |
92 |
|
93 # create and store the special form for applicants |
|
94 updated_fields = { |
|
95 'link_id': forms.CharField(widget=widgets.ReadOnlyInput(), |
|
96 required=False), |
|
97 'clean_link_id': cleaning.clean_link_id('link_id')} |
|
98 |
|
99 applicant_create_form = dynaform.extendDynaForm( |
|
100 dynaform = self._params['create_form'], |
|
101 dynafields = updated_fields) |
|
102 |
|
103 params['applicant_create_form'] = applicant_create_form |
|
104 |
|
105 |
88 # TODO(ljvderijk) define several menu items for organizations |
106 # TODO(ljvderijk) define several menu items for organizations |
89 #def _getExtraMenuItems(self, role_description, params=None): |
107 #def _getExtraMenuItems(self, role_description, params=None): |
90 |
108 |
91 |
109 |
92 view = View() |
110 view = View() |
93 |
111 |
|
112 applicant = view.applicant |
94 create = view.create |
113 create = view.create |
95 delete = view.delete |
114 delete = view.delete |
96 edit = view.edit |
115 edit = view.edit |
97 home = view.home |
116 home = view.home |
98 list = view.list |
117 list = view.list |