python-2.7
  • openerp
  • odoo-8
  • 2016-10-27 2 views 0 likes 
    0

    Я пытаюсь скрыть кнопку редактирования и больше в форме пользователя, если подключенный пользователь не является администратором. Вот мой кодOdoo hide edit and more buttons if not admin

    <xpath expr='//form[@string="Users"]' position='attributes'> 
          <attribute name="edit" >{'false':[('id', '!=', '1')]}</attribute> 
           <attribute name="more">{'false':[('id', '!=', '1')]}</attribute> 
          </xpath> 
    

    я получаю следующее сообщение об ошибке:

    SyntaxError: JSON.parse: expected property name or '}' at line 1 column 2 of the JSON data 
    
    +0

    Если вы действительно хотите такое правило жесткого доступа, вы можете изменить клиента odoo и просто скрыть эти две «кнопки», используя j-query. Но я не знаю, почему у кого-то есть такие требования к программному обеспечению erp. Нет смысла в том, что «admin - единственный, кто редактирует записи». – CZoellner

    +1

    В odoo вы можете создать пользователя (менеджера) с администрацией: Acces Rights. Затем этот пользователь может редактировать информацию администратора, такую ​​как пароль, администрирование ... Вот почему я хочу скрыть эту кнопку для пользователей, кроме администратора. –

    +0

    Извините, я просто неправильно прочитал вашу первую часть. Это явно имеет смысл. – CZoellner

    ответ

    0

    К сожалению, то, что вы пытаетесь achive не представляется возможным, используя выражение, а я бы посоветовал пользователь «Настраиваемый вид»

    1. Измените форму пользователя edit = "false", это сделает кнопку редактирования для всех пользователей (res.users.form).
    2. Теперь перейдите к Customized Views под Settings/Technical/User Interface/Customized Views, вам нужно быть в режиме debug, чтобы увидеть это меню.
    3. Под Customized Views создать новую запись и выберите User: Admin и в первоначальном виде выбрать: res.users.form и в View Architecture копии и обрежет первоначальный вид Вид архитектуры и просто удалить редактирование = «ложных»

    Это должно помочь, я верить.

    Bests

    +0

    Привет @shodowsjedi, у меня нет правки = 'false' в исходном представлении. Даже когда я добавляю его, просто для тестирования. кнопка всегда есть. –

    +0

    @OumarDiarra: он отобразит кнопку, если ваши правила безопасности позволят другому пользователю редактировать запись. –

    0

    Расширение @ ответ shodowsjedi, в Чтобы достичь того, чего вы хотите, вы должны создать две точки зрения (Они по существу то же самое только что один прикреплен к определенной группе и будет отображаться для пользователя, который принадлежит к этой группе)

    Это макет того, как файл должен выглядеть xml

    <!--original form view--> 
    <record id="model_form_view" model="ir.ui.view"> 
    <field name="name">your.model</field> 
    <field name="model">your.model</field> 
    <field name="arch" type="xml"> 
    <form string="Users"> 
        <!--whatever is in your form --> 
    </field> 
    </record> 
    
    <!--inherited formview to hide edit option --> 
    <record id="model_form_view_noedit" model="ir.ui.view"> 
    <field name="name">your.model</field> 
    <field name="model">your.model</field> 
    <field name="inherit_id" ref="model_form_view"/> 
    <field name="groups_id" eval="[(6, 0, [ref('base.group_user') ])]"/> 
    <field name="arch" type="xml"> 
        <xpath expr='//form[@string="Users"]' position='attributes'> 
         <attribute name="edit">false</attribute> 
        </xpath> 
    </field> 
    </record> 
    

    Это всегда лучше знать, как работают вещи из бэкэнда в Odoo

     Смежные вопросы

    • Нет связанных вопросов^_^