26 from django import forms |
26 from django import forms |
27 from django.utils.translation import ugettext |
27 from django.utils.translation import ugettext |
28 |
28 |
29 from soc.logic import dicts |
29 from soc.logic import dicts |
30 from soc.logic.helper import timeline as timeline_helper |
30 from soc.logic.helper import timeline as timeline_helper |
|
31 from soc.logic.models.document import logic as document_logic |
|
32 from soc.logic.models import host as host_logic |
31 from soc.logic.models import program as program_logic |
33 from soc.logic.models import program as program_logic |
32 from soc.logic.models import host as host_logic |
|
33 from soc.views import helper |
34 from soc.views import helper |
34 from soc.views import out_of_band |
35 from soc.views import out_of_band |
35 from soc.views.helper import access |
36 from soc.views.helper import access |
36 from soc.views.helper import decorators |
37 from soc.views.helper import decorators |
37 from soc.views.helper import redirects |
38 from soc.views.helper import redirects |
88 |
89 |
89 new_params['edit_extra_dynafields'] = { |
90 new_params['edit_extra_dynafields'] = { |
90 'workflow': forms.CharField(widget=widgets.ReadOnlyInput(), |
91 'workflow': forms.CharField(widget=widgets.ReadOnlyInput(), |
91 required=True), |
92 required=True), |
92 'org_admin_agreement_link_id': widgets.ReferenceField( |
93 'org_admin_agreement_link_id': widgets.ReferenceField( |
93 reference_url='document', filter=['scope_path'], |
94 reference_url='document', filter=['__scoped__'], |
|
95 field_name='org_admin_agreement', |
94 required=False, label=ugettext( |
96 required=False, label=ugettext( |
95 'Organization Admin Agreement Document link ID'), |
97 'Organization Admin Agreement Document link ID'), |
96 help_text=soc.models.work.Work.link_id.help_text), |
98 help_text=soc.models.work.Work.link_id.help_text), |
97 'mentor_agreement_link_id': widgets.ReferenceField( |
99 'mentor_agreement_link_id': widgets.ReferenceField( |
98 reference_url='document', filter=['scope_path'], |
100 reference_url='document', filter=['__scoped__'], |
99 required=False, label=ugettext('Mentor Agreement Document link ID'), |
101 required=False, label=ugettext('Mentor Agreement Document link ID'), |
100 help_text=soc.models.work.Work.link_id.help_text), |
102 help_text=soc.models.work.Work.link_id.help_text), |
101 'student_agreement_link_id': widgets.ReferenceField( |
103 'student_agreement_link_id': widgets.ReferenceField( |
102 reference_url='document', filter=['scope_path'], |
104 reference_url='document', filter=['__scoped__'], |
103 required=False, label=ugettext('Student Agreement Document link ID'), |
105 required=False, label=ugettext('Student Agreement Document link ID'), |
104 help_text=soc.models.work.Work.link_id.help_text), |
106 help_text=soc.models.work.Work.link_id.help_text), |
105 } |
107 } |
|
108 |
|
109 references = [ |
|
110 ('org_admin_agreement_link_id', 'org_admin_agreement', document_logic, |
|
111 lambda x: x.org_admin_agreement), |
|
112 ('mentor_agreement_link_id', 'mentor_agreement', document_logic, |
|
113 lambda x: x.mentor_agreement), |
|
114 ('student_agreement_link_id', 'student_agreement', document_logic, |
|
115 lambda x: x.student_agreement), |
|
116 ] |
|
117 |
|
118 new_params['references'] = references |
106 |
119 |
107 params = dicts.merge(params, new_params, sub_merge=True) |
120 params = dicts.merge(params, new_params, sub_merge=True) |
108 |
121 |
109 super(View, self).__init__(params=params) |
122 super(View, self).__init__(params=params) |
110 |
123 |