def insert_with_session(self, session, questionnaire):
    questionnaire.created = clock.CLOCK.now()
    questionnaire.lastModified = clock.CLOCK.now()
    questionnaire.version = 1
    concepts = list(questionnaire.concepts)
    questions = list(questionnaire.questions)
    questionnaire.concepts = []
    questionnaire.questions = []
    super(QuestionnaireDao, self).insert_with_session(session, questionnaire)
    session.flush()
    resource_json = json.loads(questionnaire.resource)
    resource_json['id'] = str(questionnaire.questionnaireId)
    questionnaire.semanticVersion = resource_json['version']
    questionnaire.resource = json.dumps(resource_json)
    history = self._make_history(questionnaire, concepts, questions)
    history.questionnaireId = questionnaire.questionnaireId
    QuestionnaireHistoryDao().insert_with_session(session, history)
    return questionnaire
def insert_with_session(self, session, questionnaire):
    questionnaire.created = clock.CLOCK.now()
    questionnaire.lastModified = clock.CLOCK.now()
    questionnaire.version = 1
    concepts = list(questionnaire.concepts)
    questions = list(questionnaire.questions)
    questionnaire.concepts = []
    questionnaire.questions = []
    super(QuestionnaireDao, self).insert_with_session(session, questionnaire)
    session.flush()
    resource_json = json.loads(questionnaire.resource)
    resource_json['id'] = str(questionnaire.questionnaireId)
    questionnaire.semanticVersion = resource_json['version']
    questionnaire.resource = json.dumps(resource_json)
    history = self._make_history(questionnaire, concepts, questions)
    history.questionnaireId = questionnaire.questionnaireId
    QuestionnaireHistoryDao().insert_with_session(session, history)
    return questionnaire