def report_layout_edit(): data = request_data() provider = ReportLayoutProvider(_write_session) layout = provider.by_name(data['name']) layout.last_modified = now() if 'content' in data and data['content'] is not None: data_loaded = yaml_load(data['content']) ReportLayoutInfo(data_loaded) layout.content = data['content'] if 'new_name' in data and data['new_name'] is not None: layout.name = data['new_name'] provider.commit()
def upgrade(migrate_engine): folder = os.path.dirname(__file__) session = Session.create_session(connection_string=migrate_engine.url) provider = ReportLayoutProvider(session) try: files = os.path.join(folder, '002', 'report_layout', '*.yml') for path in glob(files): name = str(os.path.basename(path).split('.')[0]) text = open(path).read() provider.add(ReportLayout(name=name, content=text, last_modified=now()), commit=False) provider.commit() except Exception: provider.rollback() raise