Weladee is a service "In The Cloud" to manage employee attendance. It's developed to be simple, fast and cheap to use for any small company (or even big ones). The primary market of this service is Thailand for now (2018), we started to deploy customers in Cambodia too.
Take a look at https://www.weladee.com
Because employee lateness and absenteeism cost a lot of money to your company. Weladee provides a very easy way to reduce it.
See how much lateness costs you with our simulation page: https://www.weladee.com/simulation
Odoo module for Weladee
This Odoo module create the link between Weladee and your Odoo 12.0 instance.
You will be able to synchronize departments, employees and attendance.
gRPC is used to communicate with weladee server. The http2 protocol and stream push between client and server offer excellent performances. The communication between Odoo & Weladee is encrypted with SSL3 and TLS 1.3 certificate.
Sample calls:
# Don't forget to update the image in README.md if you do any change in this file
@startuml
title Weladee/Odoo Sequence Diagram - Samples Cases\n
note right Odoo
All communication is encrypted
by modern TLS 3 certificate.
end note
Odoo -> Weladee: Request list of employees
alt failure
note right Odoo
For each call you provide api-key in meta
API key is private and unique per company
You can get it when you register to **Weladee**
end note
Weladee -> Odoo: Authentication failed
note right Weladee #FFAAAA
The key is incorrect
No data is sent from **Weladee**
end note
note right Odoo #FFAAAA
Got an authentification error
Need to check the api key
end note
end
alt successfull
Weladee --> Odoo: Return each employee in a stream
note right Odoo
**Odoo** can take action as soon the 1st stream is received.
Streaming with http2 is a very big advantage,
it reduces a lot latency between client and server
end note
Odoo -> Weladee: Add a holiday
Odoo <- Weladee: Returns the holiday id for weladee
end
footer
2017 Frontware International ... www.weladee.com
end footer
@enduml
To connect your Odoo instance to weladee server you need an api key. The api key is available when you create an account at https://www.weladee.com/register
Weladee is free to subscribe with 3 months trial period or even 100% free for company with less than 5 employees.
It's ready for Odoo 12. gRPC code is compatible python 2 & 3.
import grpc
import . from weladee_pb2
import . from weladee_pb2_grpc
# Weladee grpc server address is grpc.weladee.com:22443
address = "grpc.weladee.com:22443"
# Define a secure channel with embedded public certificate
creds = grpc.ssl_channel_credentials(certificate)
channel = grpc.secure_channel(address, creds)
This code retrieve the list of departments and add a holiday to Weladee.
# Connect from Odoo
# Place here the token specific to each company. It's called api_key in table company
authorization = [("authorization", "bc7f3c00-bfa4-4ac2-810b-a11dca5ec48e")]
stub = weladee_pb2_grpc.OdooStub(channel)
# List all departments
print("Departments")
for dept in stub.GetDepartments(myrequest, metadata=authorization):
print(dept)
# Add new holiday
newHoliday = weladee_pb2.HolidayOdoo()
newHoliday.Holiday.date = 20170918
newHoliday.Holiday.name_english = "Company holiday"
newHoliday.odoo.odoo_id = 9
try:
result = stub.AddHoliday(newHoliday, metadata=authorization)
print (result.id)
except Exception as e:
print("Add holiday failed",e)
Simple code parsing a stream of log events that need to be synchronized with Odoo.
# List of attendance to sync
print("Attendance to sync")
i=0
for att in stub.GetNewAttendance(weladee_pb2.Empty(), metadata=authorization):
i+=1
logging.log(i,att)
(c) 2020 Frontware International Co,Ltd.