Odoo Help


How to disable CSV import for certain users?

Alejandro Santana
on 4/5/15, 10:35 PM 3,313 views

I need to make CSV import option (for all models) only available to certain security groups in Odoo v8.

How to do that? Any hint?

--- UPDATE ---

So far:

I have created a specific security group and category for CSV import.

A) No security rules

I cannot create security rules over TransientModels (Why? Whyyyy?), therefore I cannot use this over base_import.import model. (Damn! That would have been easy for once!)

B) No xml "groups" allowed for non-visual elements

In addons/base_import/views/base_import.xml there are these lines:

<template id="assets_backend" name="base_import assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/base_import/static/src/css/import.css"/>
<script type="text/javascript" src="/base_import/static/lib/javascript-state-machine/state-machine.js"></script>
<script type="text/javascript" src="/base_import/static/src/js/import.js"></script>

But, even I can modify that xpaths and avoid those link and 2 scripts, I cannot make it group-based optional using "groups" attribute, as it is completely ignored (Does "groups" only apply to visual elements like fields, divs, groups and so?)

C) Is it even possible to check groups with t-if? No clue how.

In addons/base_import/static/src/xml/import.xml there are these lines:

    <t t-extend="ListView.buttons">
    <t t-jquery="span.oe_alternative">
        this.attr('t-if', 'widget.options.import_enabled');
    <t t-jquery="span.oe_alternative" t-operation="append">
        <a href="#" class="oe_bold oe_list_button_import">Import</a>

But once again, I have no clue how to add a t-if for that "a href" checking if current user belongs to a specific group I have created for csv import.

Documentation says nothing about hot to check it in QWeb views.

D) JS? Really?

Haven't even tried it. Should be easier.


did you try to override functionlike def do, in base_import module, file models.py, by testing if the user is in your group and if not, do a raise ?

Cyril Gaspard (GEM)
on 4/6/15, 4:46 PM

I would like to directly disable any possibility of accesing import by hiding/removing the button. But if everything else fails, I would go there.

Anubía, soluciones en la nube, S.L., Alejandro Santana
on 4/7/15, 3:40 AM
Alejandro Santana
On 4/21/15, 10:54 PM

I solved it with javascript. I made a pull request in github with a new module called "import_csv_restrict": https://github.com/OCA/server-tools/pull/154

how can i get this module ?

Aslam Up
on 4/10/17, 8:13 AM
On 6/22/17, 8:17 AM

the best solution for this is simple, just a configuration trick :

  1. go to Configuration (make sure your admin user have access to Technical settings)

  2. go to user interface / views

  3. search for base_import assets

  4. go to Group page, then add the admin group.     
    then refresh the user then the import button is gone (y)
    PS : i tried this using odoo V8

On v10, I get a Validation Error when trying to Save after adding the group.

"Qweb view cannot have 'Groups' define on the record. Use 'groups' attributes inside the view definition"

Shawn L Yates
on 7/3/17, 10:43 PM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)


Asked: 4/5/15, 10:35 PM
Seen: 3313 times
Last updated: 6/22/17, 8:17 AM