app/soc/views/models/program.py
changeset 1273 324a1ecc4e88
parent 1260 594c6b500378
child 1277 5c931bd3dc1e
equal deleted inserted replaced
1272:c17e47db4875 1273:324a1ecc4e88
    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