Hello all,

I am a relatively new user of TG2, and came into the project because 
changes in our campus environment finally created a problem that could not 
be fixed in a TG1/Python 2.4 based web application.

The problem I've encountered is in a controller that does some silent 
processing of a form, checks some values and then forwards the user to a 
sub-form to continue adding additional information.  This worked well under 
TG1, but in TG2, the framework appears to be unable to find the template 
(template_name is set to None).

The code fragment looks like this with the line that triggers the fault 
highlighted in bold in the "add_finish" function:

  @expose(template="echidna.templates.machine_add")
  def add(self, **kw):
    return dict(page='machine_add',
                edit_form=forms.AddMachineFields,
                navigation=Markup(nav(current='add_machine', login=False)),
                action='/machine/add_finish',
                params={},
                defaults={})

  @expose()
  @validate(forms.AddMachineFields, error_handler=add)
  def add_finish(self, number, provider, chartstring):
    if provider=='IST VMware':
      flash('Provider "%s" is supported.'%provider)
      *return self.add_vmware(number, chartstring)*
    else:
      flash('Provider "%s" is not currently supported.'%provider)
      redirect('/machine/add/')


  @expose(template="echidna.templates.machine_add")
  def add_vmware(self, number, chartstring):
    params=dict(repetitions=dict(hosts=int(number)))
    return dict(edit_form=forms.AddMachineVMWare,
                navigation = Markup(nav(current='add_machine', 
login=False)),
                action = '/machine/vmware_finish' 
                params=params,
                defaults={'number':number,
                          'chartstring':chartstring})



I have a work-around that changes the add_finish into a confirmation page, 
but before commiting to adding an extra manual step in the process I am 
asking if there is a proper way to call the add_vmware function from the 
add_finish function within the TG2 framework.

The specific problem report for the code above is:

File "/projects/tg2env/lib/python2.6/site-packages/tg/renderers/genshi.py", 
line *196*, in get_dotted_filename

if not filename.endswith(self.template_extension):

AttributeError: 'NoneType' object has no attribute 'endswith'

Thanks for any information or assistance.

Jeff Makaiwi
UC Berkeley

-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/turbogears.
For more options, visit https://groups.google.com/d/optout.

Reply via email to