Return a list of all modules, profile questions and risks in a survey. Each entry is represented by a dict with a zodb_path and type key.
Build and return a list of all survey tree nodes (as Node instances) for the current session.
Determine a list of changes in a survey for an existing session. The list of changes is returned as a list of tuples listing the ZODB path, the object type (one of profile, module or risk) and the change type (one of add, remove or ‘modified’).
Check if a survey was updated (ie republished) after the last modification in a session. If the survey was updated but no changes were made in its structure, for example if there were only textual changes, this method updates the timestap on the survey session and pretends there was no update.
Utility method for views to check if a survey has been updated, and if so redirect the user to the update confirmation page is generated. The return value is True if an update is required and False otherwise.
Utility class to store information for a survey tree node. This is a subset of the data in euphorie.client.model.SurveyTreeItem and is hashable so it can be stored in a set.