Пример #1
0
 def _clone_surveys(self, new_event):
     survey_attrs = get_simple_column_attrs(Survey) - {'uuid', 'start_dt', 'end_dt', '_last_friendly_submission_id'}
     for old_survey in self.old_event.surveys:
         if old_survey.is_deleted:
             continue
         survey = Survey()
         survey.populate_from_attrs(old_survey, survey_attrs)
         item_map = {}
         for old_item in old_survey.items:
             item = self._clone_item(survey, old_item)
             if old_item.parent:
                 assert old_item.parent != old_item
                 try:
                     item.parent = item_map[old_item.parent]
                 except KeyError:
                     item.parent = item_map[old_item.parent] = self._clone_item(survey, old_item.parent)
             item_map[old_item] = item
         new_event.surveys.append(survey)