generateFile static method

String generateFile(
  1. List<OdooView> views, {
  2. String? moduleName,
})

Generate a complete views.xml file containing one or more views.

Implementation

static String generateFile(List<OdooView> views, {String? moduleName}) {
  final buf = StringBuffer();
  buf.writeln('<?xml version="1.0" encoding="utf-8"?>');
  buf.writeln('<!-- Generated by Odoo View Builder -->');
  if (moduleName != null) {
    buf.writeln('<!-- Module: $moduleName -->');
  }
  buf.writeln('<!-- Generated on: ${DateTime.now().toUtc()} -->');
  buf.writeln();
  buf.writeln('<odoo>');
  buf.writeln('    <data>');

  for (int i = 0; i < views.length; i++) {
    if (i > 0) buf.writeln();
    buf.writeln('        <!-- View: ${views[i].name} (${views[i].model}) -->');
    buf.write(_generateRecord(views[i]));
  }

  buf.writeln();
  buf.writeln('    </data>');
  buf.write('</odoo>');
  return buf.toString();
}