2016-08-22 3 views
0

Ich möchte für das hr_attendance Addon in odoo 9.Wie lege ich ein Menü Icon in odoo 9?

Ich werde erklären, die Schritte ein Menü-Symbol setzen, die ich getan habe:

  1. eine Put es in addon_extra

    erstellen hr_attendance_extend
  2. Importieren Sie das ursprüngliche Addon. Das ist "init Py":

    import hr_attendance 
    
  3. die CSS erstellen und auf das Symbol setzen. Dies ist ein Teil der Datei "static/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. Verknüpfen Sie die Datei mit dem Add-on. Dies ist die Datei '' views/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. Setzen Sie die neuen Dateien in dem neuen Add-on Dieser Teil der Datei ist." 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. den Behälter für das Menü Setzen Dies ist die Datei '' static/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> 
    

Im Original-Addon (hr_attendance) gibt es eine Funktion, die das Icon ins Menü bringt (glaube ich).

Es gibt in der Datei statisch/src/js/attendance.js und das ist die Linie in Frage:

SystrayMenu.Items.push(AttendanceSlider); 

Das ist alles.

Ich weiß nicht, ob mir etwas fehlt. Der Code des Symbols erscheint im html, aber es ist mit ‚style =‚display: none‘‘

bearbeiten: Wenn ich die CSS-Datei ändern, um die Eigenschaft setzen „display: Block wichtig“, dann erscheint das Symbol im Menü, aber diese Korrektur ist nicht die richtige Lösung.

Antwort

0

Ich fand die Lösung für ein anderes Problem, das die gleiche Lösung wie hier teilt.

Dies sind die Schritte für einen neuen Benutzer:

  1. Melden Sie sich als Administrator

  2. Mitarbeiter> Mitarbeiter> Schaltfläche Erstellen (Füllen der Name)

  3. die „HR-Einstellungen auswählen "tab> Related User -> Erstellen und bearbeiten (Namen und E-Mail ausfüllen).

  4. Speichern Sie den Benutzer und speichern Sie den Mitarbeiter.

  5. Zum Entwicklermodus (Benutzermenü> Über> Aktivieren der Entwickler-Modus)

  6. Einstellungen> Benutzer> Wählen Sie den neu erstellten Benutzer> Bearbeiten> Markieren Sie die Option „Anwesenheiten“

  7. Speichern, um die Benutzer.

Jetzt erscheint das Symbol.