72 new_params['scope_view'] = sponsor_view |
72 new_params['scope_view'] = sponsor_view |
73 new_params['scope_redirect'] = redirects.getCreateRedirect |
73 new_params['scope_redirect'] = redirects.getCreateRedirect |
74 |
74 |
75 new_params['name'] = "Program" |
75 new_params['name'] = "Program" |
76 new_params['sidebar_grouping'] = 'Programs' |
76 new_params['sidebar_grouping'] = 'Programs' |
|
77 new_params['document_prefix'] = "program" |
|
78 |
77 |
79 |
78 new_params['extra_dynaexclude'] = ['timeline', 'org_admin_agreement', |
80 new_params['extra_dynaexclude'] = ['timeline', 'org_admin_agreement', |
79 'mentor_agreement', 'student_agreement'] |
81 'mentor_agreement', 'student_agreement'] |
80 |
82 |
81 # TODO add clean field to check for uniqueness in link_id and scope_path |
83 # TODO add clean field to check for uniqueness in link_id and scope_path |
85 'scope_path': forms.CharField(widget=forms.HiddenInput, required=True), |
87 'scope_path': forms.CharField(widget=forms.HiddenInput, required=True), |
86 'workflow': forms.ChoiceField(choices=[('gsoc','Project-based'), |
88 'workflow': forms.ChoiceField(choices=[('gsoc','Project-based'), |
87 ('ghop','Task-based')], required=True), |
89 ('ghop','Task-based')], required=True), |
88 } |
90 } |
89 |
91 |
90 new_params['edit_extra_dynafields'] = { |
92 reference_fields = [ |
91 'workflow': forms.CharField(widget=widgets.ReadOnlyInput(), |
93 ('org_admin_agreement_link_id', soc.models.work.Work.link_id.help_text, |
92 required=True), |
94 ugettext('Organization Admin Agreement Document link ID')), |
93 'org_admin_agreement_link_id': widgets.ReferenceField( |
95 ('mentor_agreement_link_id', soc.models.work.Work.link_id.help_text, |
94 reference_url='document', filter=['__scoped__'], |
96 ugettext('Mentor Agreement Document link ID')), |
95 required=False, label=ugettext( |
97 ('student_agreement_link_id', soc.models.work.Work.link_id.help_text, |
96 'Organization Admin Agreement Document link ID'), |
98 ugettext('Student Agreement Document link ID')), |
97 help_text=soc.models.work.Work.link_id.help_text), |
99 ('home_link_id', soc.models.work.Work.link_id.help_text, |
98 'mentor_agreement_link_id': widgets.ReferenceField( |
100 ugettext('Home page Document link ID')), |
99 reference_url='document', filter=['__scoped__'], |
101 ('tos_link_id', soc.models.work.Work.link_id.help_text, |
100 required=False, label=ugettext('Mentor Agreement Document link ID'), |
102 ugettext('Terms of Service Document link ID')) |
101 help_text=soc.models.work.Work.link_id.help_text), |
103 ] |
102 'student_agreement_link_id': widgets.ReferenceField( |
104 |
103 reference_url='document', filter=['__scoped__'], |
105 result = {} |
104 required=False, label=ugettext('Student Agreement Document link ID'), |
106 |
105 help_text=soc.models.work.Work.link_id.help_text), |
107 for key, help_text, label in reference_fields: |
106 'home_link_id': widgets.ReferenceField( |
108 result[key] = widgets.ReferenceField( |
107 reference_url='document', filter=['__scoped__'], |
109 reference_url='document', filter=['__scoped__'], |
108 required=False, label=ugettext('Home page Document link ID'), |
110 filter_fields={'prefix': new_params['document_prefix']}, |
109 help_text=soc.models.work.Work.link_id.help_text), |
111 required=False, label=label, help_text=help_text) |
110 'tos_link_id': widgets.ReferenceField( |
112 |
111 reference_url='document', filter=['__scoped__'], |
113 result['workflow'] = forms.CharField(widget=widgets.ReadOnlyInput(), |
112 required=False, label=ugettext('Terms of Service Document link ID'), |
114 required=True) |
113 help_text=soc.models.work.Work.link_id.help_text), |
115 |
114 } |
116 new_params['edit_extra_dynafields'] = result |
|
117 |
115 |
118 |
116 references = [ |
119 references = [ |
117 ('org_admin_agreement_link_id', 'org_admin_agreement', document_logic, |
120 ('org_admin_agreement_link_id', 'org_admin_agreement', document_logic, |
118 lambda x: x.org_admin_agreement), |
121 lambda x: x.org_admin_agreement), |
119 ('mentor_agreement_link_id', 'mentor_agreement', document_logic, |
122 ('mentor_agreement_link_id', 'mentor_agreement', document_logic, |