app/soc/views/models/timeline.py
changeset 2787 8408741aee63
parent 2784 801eee4eda9a
child 2810 e63b3e0845a9
equal deleted inserted replaced
2786:b06313c87817 2787:8408741aee63
    56     new_params['logic'] = soc.logic.models.timeline.logic
    56     new_params['logic'] = soc.logic.models.timeline.logic
    57     new_params['edit_template'] = 'soc/timeline/edit.html'
    57     new_params['edit_template'] = 'soc/timeline/edit.html'
    58     new_params['name'] = "Timeline"
    58     new_params['name'] = "Timeline"
    59 
    59 
    60     patterns = [(r'^%(url_name)s/(?P<access_type>edit)/%(key_fields)s$',
    60     patterns = [(r'^%(url_name)s/(?P<access_type>edit)/%(key_fields)s$',
    61                   '%(module_package)s.%(module_name)s.edit', 
    61                   'soc.views.models.%(module_name)s.edit', 
    62                   "Edit %(name_short)s")]
    62                   "Edit %(name_short)s")]
    63 
    63 
    64     new_params['create_extra_dynaproperties'] = {
    64     new_params['create_extra_dynaproperties'] = {
    65         'link_id': forms.CharField(widget=forms.HiddenInput)
    65         'link_id': forms.CharField(widget=forms.HiddenInput)
    66         }
    66         }
    70 
    70 
    71     params = dicts.merge(params, new_params)
    71     params = dicts.merge(params, new_params)
    72 
    72 
    73     super(View, self).__init__(params=params)
    73     super(View, self).__init__(params=params)
    74 
    74 
    75     create_form = params_helper.getCreateForm(self._params, 
    75     for name, logic_value in program_logic.logic.TIMELINE_LOGIC.iteritems():
    76         program_logic.logic.timeline_logic.getModel())
    76       create_form = params_helper.getCreateForm(self._params, 
    77     edit_form = dynaform.extendDynaForm(
    77           logic_value.getModel())
    78       dynaform = create_form,
    78       edit_form = dynaform.extendDynaForm(
    79       dynainclude = self._params['edit_dynainclude'],
    79         dynaform = create_form,
    80       dynaexclude = self._params['edit_dynaexclude'],
    80         dynainclude = self._params['edit_dynainclude'],
    81       )
    81         dynaexclude = self._params['edit_dynaexclude'],
       
    82         )
    82 
    83 
    83     self._params['edit_form'] = edit_form
    84       self._params['edit_form_%s' % name] = edit_form
    84 
    85 
    85   def edit(self, request, access_type,
    86   def edit(self, request, access_type,
    86            page_name=None, params=None, seed=None, **kwargs):
    87            page_name=None, params=None, seed=None, **kwargs):
    87     """See base.View.edit.
    88     """See base.View.edit.
    88     """
    89     """
    94 
    95 
    95     key_fields = program_logic.logic.getKeyFieldsFromFields(kwargs)
    96     key_fields = program_logic.logic.getKeyFieldsFromFields(kwargs)
    96 
    97 
    97     program = program_logic.logic.getFromKeyFields(key_fields)
    98     program = program_logic.logic.getFromKeyFields(key_fields)
    98     if program:
    99     if program:
    99       params['logic'] = program_logic.logic.timeline_logic
   100       workflow = program.workflow
       
   101       params['edit_form'] = params["edit_form_%s" % workflow]
       
   102       params['logic'] = program_logic.logic.TIMELINE_LOGIC[workflow]
   100 
   103 
   101     return super(View, self).edit(request, access_type, page_name=page_name,
   104     return super(View, self).edit(request, access_type, page_name=page_name,
   102                                   params=params, seed=seed, **kwargs)
   105                                   params=params, seed=seed, **kwargs)
   103   
   106   
   104   def _editPost(self, request, entity, fields):
   107   def _editPost(self, request, entity, fields):