Ejemplo n.º 1
0
        def record_version(*args, **kwargs):

            func(*args, **kwargs)

            session_objects = []

            for version_option in version_options:
                tmp_session_objects = [
                    (session_object, version_option.history_class)
                    for session_object in itertools.chain(
                        db.session.new, db.session.dirty)
                    if isinstance(session_object, version_option.model_class)
                ]

                if tmp_session_objects == [] and version_option.must_write_history:
                    raise RuntimeError(
                        ('Can\'t record history for {} '
                         '(something in your code has casued the database to '
                         'flush the session early so there\'s nothing to '
                         'copy into the history table)').format(
                             version_option.model_class.__name__))

                session_objects += tmp_session_objects

            for session_object, history_class in session_objects:
                db.session.add(
                    create_history(session_object, history_cls=history_class))
Ejemplo n.º 2
0
def create_custom_template(service, user, template_config_name, template_type, content='', subject=None):
    template = Template.query.get(current_app.config[template_config_name])
    if not template:
        data = {
            'id': current_app.config[template_config_name],
            'name': template_config_name,
            'template_type': template_type,
            'content': content,
            'service': service,
            'created_by': user,
            'subject': subject,
            'archived': False
        }
        template = Template(**data)
        db.session.add(template)
        db.session.add(create_history(template, TemplateHistory))
        db.session.commit()
    return template
Ejemplo n.º 3
0
def create_custom_template(service, user, template_config_name, template_type, content="", subject=None):
    template = Template.query.get(current_app.config[template_config_name])
    if not template:
        data = {
            "id": current_app.config[template_config_name],
            "name": template_config_name,
            "template_type": template_type,
            "content": content,
            "service": service,
            "created_by": user,
            "subject": subject,
            "archived": False,
        }
        template = Template(**data)
        db.session.add(template)
        db.session.add(create_history(template, TemplateHistory))
        db.session.commit()
    return template