Example #1
0
def generate_metamodel(options, module):
    with open(options.filename, 'r') as handle:
        reader = csv.DictReader(handle)
        last_model_name = None
        for line in reader:
            line = dict_dot_access(trim_vals(line))
            _logger.debug(line)
            model = None
            if line.model_name == '__openerp__' or (not line.model_name and last_model_name == '__openerp__'):
                module.add_parameter(line.name, line)
                last_model_name = '__openerp__'
                continue
            if line.model_name and line.model_name != last_model_name:
                model = module.add_model(line.model_name)
                last_model_name = line.model_name
                model.data = line.data
            elif last_model_name and not line.model_name:
                model = module.add_model(last_model_name)

            model.view_configuration = line.views
            model.description = line.description
            model.view_description = line.view_description
            model.inherit = line.inherit
            model.inherits = line.inherits
            model.menu = line.menu
            model.overwrite_create = line.overwrite_create
            model.overwrite_write = line.overwrite_write
            field = model.add_field(line.name, line)
Example #2
0
def generate_metamodel_security(options, module):
    with open(options.filename_security, 'r') as handle:
        reader = csv.DictReader(handle)
        last_group_name = None
        for line in reader:
            line = dict_dot_access(trim_vals(line))
            _logger.debug(line)
            group = None
            if line.group:
                group = module.add_group(line.group)
                last_group_name = line.group
            elif last_group_name and not line.group:
                group = module.add_group(last_group_name)
            try:
                group.add_inherits(line.group_inherits)
            except:
                pass
            if line.model_name:
                group.add_acl(
                    line.model_name,
                    line.create,
                    line.read,
                    line.write,
                    line.delete,
                )
Example #3
0
def generate_metamodel_workflow(options, module):
    with open(options.filename_workflow, 'r') as handle:
        reader = csv.DictReader(handle)
        last_model_name = None
        for line in reader:
            line = dict_dot_access(trim_vals(line))
            _logger.debug(line)
            model = None
            if line.model_name:
                model = module.add_model(line.model_name)
                last_model_name = line.model_name
            elif last_model_name and not line.model_name:
                model = module.add_model(last_model_name)
            model.add_transition(line)