# HG changeset patch # User paulb # Date 1214004417 0 # Node ID 493870e66b050009d6cf25612a600a9c6680c3da # Parent ce68e5214b0891096b763b0c27b61a34020b8eb9 [project @ 2008-06-20 23:26:57 by paulb] Added support for registering new documents. Improved in-page resource detection. diff -r ce68e5214b08 -r 493870e66b05 XSLForms/Resources/WebResources.py --- a/XSLForms/Resources/WebResources.py Fri Jun 20 23:24:43 2008 +0000 +++ b/XSLForms/Resources/WebResources.py Fri Jun 20 23:26:57 2008 +0000 @@ -3,7 +3,7 @@ """ Resources for use with WebStack. -Copyright (C) 2005, 2006, 2007 Paul Boddie +Copyright (C) 2005, 2006, 2007, 2008 Paul Boddie This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free @@ -254,7 +254,7 @@ paths.append(os.path.abspath(os.path.join(self.resource_dir, filename))) return paths - def get_in_page_resource(self, trans): + def _get_in_page_resource(self, trans): """ Return the in-page resource being referred to in the given transaction @@ -266,6 +266,19 @@ else: return trans.get_path_info().split("/")[-1] + def get_in_page_resource(self, trans): + + """ + Return the in-page resource being referred to in the given transaction + 'trans' or None if no valid in-page resource is being referenced. + """ + + name = self._get_in_page_resource(trans) + if self.in_page_resources.has_key(name): + return name + else: + return None + def respond(self, trans): """ @@ -359,7 +372,8 @@ form.set_document(documents[activity]) return 0 else: - form.set_document(form.new_instance(activity)) + form.new_document(activity) + form.new_documents.add(activity) return 1 def respond_to_input(self, trans, form): @@ -426,7 +440,7 @@ stylesheet_parameters = stylesheet_parameters or {} - if in_page_resource in self.in_page_resources.keys(): + if in_page_resource: trans_xsl = self.prepare_fragment(in_page_resource) stylesheet_parameters.update(self.prepare_parameters(parameters)) else: