14. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 FUNZIONA!
8. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 COME SVILUPPIAMO IL NOSTRO SCRIPT Abbiamo creato il nostro template estendendo HrAttendanceKioskMode
1. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 UN LETTORE BARCODE PER LE PRESENZE Implementare QuaggaJS in Odoo
6. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 COME INTEGRIAMO QuaggaJS IN UN MODULO ODOO Aggiungiamo i file della libreria nel nostro modulo e carichiamo lo script negli assets backend di Odoo.
7. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 DOVE ANDIAMO A INSERIRE IL NOSTRO SCRIPT Il punto in cui dobbiamo implementare il nostro script è la kiosk view delle presenze. Dobbiamo quindi estendere il modulo javascript hr_attendance.kiosk_mode
10. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 COME SVILUPPIAMO IL NOSTRO SCRIPT Richiamiamo il modulo kiosk_mode Estendiamo il modulo Originale di Odoo aggiungendo due eventi che richiamano lo start e lo stop di Quagga.
13. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 COME PROCESSIAMO IL BARCODE LATO SERVER Cerchiamo il dipendente con quel barcode e controlliamo che non ci siano entrate o uscite nell’arco di 60 secondi. Se tutto è ok chiamiamo la funzione attendance_action originale di Odoo.
9. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 COME SVILUPPIAMO IL NOSTRO SCRIPT Abbiamo aggiunto nel nostro modulo javascript un array che serve per prevenire i duplicati e permettere la “lettura” di un barcode ogni X secondi e una funzione che controlla se il barcode appena letto è già stato processato nell’intervallo di tempo scelto.
15. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 GRAZIE PER L’ATTENZIONE www.netfarm.it Tel. +39 050 09815176 Fax: +39 050 8665172 Mail: info@netfarm.it
4. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 È uno scanner-barcode interamente scritto in Javascript che supporta l’identificazione e la decodifica in tempo reale di vari tipi di barcode. Può essere usato sia su file immagini che tramite la fotocamera del proprio dispositivo. Cosa è QuaggaJS ? https://serratus.github.io/quaggaJS/
11. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 COME SVILUPPIAMO IL NOSTRO SCRIPT Si inizializza Quagga con una certa configurazione. Abbiamo impostato il type in Livestream, in quale elemento html deve essere caricato lo script, le misure della finestra della webcam e i tipi di barcode che vogliamo leggere. Alla fine dell’iniziazione facciamo lo start.
3. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 Avevamo la necessità di scansionare i nostri badge per le presenze senza dover usare un lettore barcode esterno. PROBLEMA SOLUZIONE TEORICA Nel nostro reparto tecnico si usa già QuaggaJS per altri progetti ed è nata l’idea di implementare la libreria all’interno delle presenze di Odoo.
5. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 IMPLEMENTAZIONE • Come integriamo QuaggaJS in un modulo Odoo? • Dove andiamo ad inserire il nostro script, quale modulo javascript di Odoo estendere? • Come sviluppiamo lo script? • Come processiamo il barcode lato server? Per prima cosa ci siamo posti alcune domande
12. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 COME SVILUPPIAMO IL NOSTRO SCRIPT Una volta identificato il barcode controlliamo che non sia già stato scansionato nell’intervallo di tempo scelto. In alternativa ritorniamo un messaggio di errore. Facciamo suonare l’audio di lettura barcode. Chiamiamo la funzione attendance scan (creata nel nostro modello) e attendiamo la risposta. Se positiva allora stoppiamo Quagga e processiamo l’action che torna dalla funzione python, altrimenti ritorniamo un messaggio di errore.
2. ODOO DAYS ITALIA odoo-italia.org Firenze, 14 e 15 novembre 2019 Titolo: UN LETTORE BARCODE PER LE PRESENZE Quando: Venerdì 14/11/2019 11:30 – 12:00 Autore: Matteo Piciucchi Sviluppatore Odoo - Netfarm S.r.l. In altre parole: software per passione Riferimenti: https://www.netfarm.it