2016-08-22 18 views
0

Я хочу поставить значок меню для hr_attendance аддон в odoo 9.Как добавить значок меню в оду 9?

поясню шаги, которые я сделал:

  1. Создать hr_attendance_extend в положить его в addon_extra

  2. Импортируйте оригинальный аддон. Это "INIT .py":

    import hr_attendance 
    
  3. Создание CSS и поставить иконку. Это часть файла "статический/SRC/CSS/slider.css":

    ...  
    .oe_systray .oe_attendance_signout {   
        float:right;   
        height: 32px;  
        width: 32px;   
        background: url(/hr_attendance_extend/static/src/img/emp-in32.png);  
        cursor: pointer;   
    }  
    ... 
    
  4. Link файл с аддоном. Это файл '' просмотров/hr_attendance.xml ":

    <?xml version="1.0" encoding="utf-8"?> 
        <openerp> 
         <data> 
          <template id="assets_backend" name="hr_attendance assets" inherit_id="web.assets_backend"> 
           <xpath expr="." position="inside"> 
            <link rel="stylesheet" href="/hr_attendance_extend/static/src/css/slider.css"/> 
           </xpath> 
          </template> 
         </data> 
        </openerp> 
    
  5. Поместите новые файлы в новом аддоне Это часть файла." OpenERP .py ":

    { 
    ... 
    'depends': ['hr_attendance'], 
        'data': [ 
         'hr_attendance.xml', 
         'views/hr_attendance.xml', 
        ], 
        'demo': [], 
        'test': [], 
        'installable': True, 
        'auto_install': False, 
        #web 
        'qweb' : ["static/src/xml/attendance.xml"], 
    } 
    
  6. .
  7. Поместите контейнер для меню Это файл '' статический/SRC/XML/attendance.xml ":

    <template> 
        <t t-name="AttendanceSlider"> 
        <li class="oe_attendance_status oe_attendance_nosigned" data-toggle="tooltip"> 
           <div class="oe_attendance_signout"></div> 
         </li> 
        </t> 
    </template> 
    

В исходном аддоне (hr_attendance) есть функция, которая помещает значок в меню (я думаю).

Существует в файле статической/SRC/JS/attendance.js и что линия в вопросе:

SystrayMenu.Items.push(AttendanceSlider); 

Это все.

Я не знаю, не хватает ли я чего-то. Код значка отображается в HTML, но есть с «стиль =„дисплей: нет“»

Edit: Если изменить файл CSS кладя свойство «дисплей: блок важно», то , значок появляется в меню, но это исправление не является правильным решением.

ответ

0

Я нашел решение для другой проблемы, которая имеет то же решение, что и здесь.

Эти шаги для нового пользователя:

  1. Войдите в систему как администратор

  2. Сотрудники> Сотрудники> кнопку Создать (Fill название)

  3. Выберите «HR Настройки "вкладка> Связанный пользователь -> Создать и редактировать (введите имя и адрес электронной почты).

  4. Сохраните пользователя и сохраните сотрудника.

  5. Перейти в режим разработчика (меню пользователя> О программе> Активировать режим разработчика)

  6. Настройки> Пользователь> Выберите новый созданный пользователь> Edit> Пометьте опцию «Посещаемость»

  7. Сохранит пользователь.

Теперь появляется значок.

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