Skip to Content
Menu

Geolocation in HR Attendance

by
Odoo
v 16.0 Third Party 1115
Download for v 16.0 Deploy on Odoo.sh
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Attendances (hr_attendance)
Employees (hr)
Discuss (mail)
Lines of code 388
Technical Name odoo_attendance_user_location
LicenseAGPL-3
Websitehttps://www.cybrosys.com
Versions 15.0 16.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Attendances (hr_attendance)
Employees (hr)
Discuss (mail)
Lines of code 388
Technical Name odoo_attendance_user_location
LicenseAGPL-3
Websitehttps://www.cybrosys.com
Versions 15.0 16.0
Community
Enterprise
Odoo.sh

Geo Location in HR Attendance

Get the employees attendance check-in/check-out location details

Explore This Module

Warning! This module will only works when your odoo instance is in https mode.
If you are using chrome you can solve by copy and paste this link "chrome://flags/#unsafely-treat-insecure-origin-as-secure" and go to Insecure origins treated as secure.
Add your odoo instance URL here and enable this feature. Then you can use this module without https. But for better accurate result you need to configure https.

Overview

This module helps to find the employees attendance location details with a google map link.

CONFIGURATION

Install python library geopy for using this module. Geopy helps to locate the coordinates of addresses.

Installation

pip install geopy

Features

Available in Odoo 16.0 Community and Enterprise.
Works in both normal and kiosk mode
Find the nearby address of check-in/check-out location.
Save the address in attendance form
Save the latitude and longitude of the location
Create a Google map link to redirect to the specific location.

Screenshots

Check in / Checkout

Go to Attendance -> Check in / Checkout

Checkin Successfully

After checkin you can see the details of employee nearby location details

After checkout, the checkout location details also will be stored

Checkout details

Click the link to redirect to the google map

After Click on the map you will redirect to the google map

Related Products

Our Services

Odoo Customization
Odoo Implementation
Odoo Support
Hire Odoo Developer
Odoo Integration
Odoo Migration
Odoo Consultancy
Odoo Implementation
Odoo Licensing Consultancy

Our Industries

Trading

Easily procure and sell your products

POS

Easy configuration and convivial experience

Education

A platform for educational management

Manufacturing

Plan, track and schedule your operations

E-commerce & Website

Mobile friendly, awe-inspiring product pages

Service Management

Keep track of services and invoice

Restaurant

Run your bar or restaurant methodically

Hotel Management

An all-inclusive hotel management application

Support

Need Help?

Got questions or need help? Get in touch.

odoo@cybrosys.com

WhatsApp

Say hi to us on WhatsApp!

+91 86068 27707

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
There are no ratings yet!
fail when attendance with pin
by
david
on 1/7/25, 7:50 AM

Hi, I installed addon and work well both attendance normal and kiosk mode but when do I enable pin, the addon show this error. Is normal this error?


Traceback (most recent call last):
  File "/home/odoo/.local/lib/python3.10/site-packages/geopy/geocoders/nominatim.py", line 350, in reverse
    lat, lon = self._coerce_point_to_string(query).split(',')
  File "/home/odoo/.local/lib/python3.10/site-packages/geopy/geocoders/base.py", line 300, in _coerce_point_to_string
    point = Point(point)
  File "/home/odoo/.local/lib/python3.10/site-packages/geopy/point.py", line 166, in __new__
    return cls.from_string(arg)
  File "/home/odoo/.local/lib/python3.10/site-packages/geopy/point.py", line 457, in from_string
    raise ValueError(
ValueError: Failed to create Point instance from string: unknown format.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/http.py", line 1653, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File "/home/odoo/src/odoo/odoo/service/model.py", line 133, in retrying
    result = func()
  File "/home/odoo/src/odoo/odoo/http.py", line 1680, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "/home/odoo/src/odoo/odoo/http.py", line 1884, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
    result = endpoint(**request.params)
  File "/home/odoo/src/odoo/odoo/http.py", line 734, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "/home/odoo/src/odoo/addons/web/controllers/dataset.py", line 42, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/home/odoo/src/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/home/odoo/src/odoo/odoo/api.py", line 468, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/home/odoo/src/odoo/odoo/api.py", line 453, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/home/odoo/src/user/odoo_attendance_user_location/models/hr_employee.py", line 42, in attendance_manual
    return self._attendance_action(latitudes, longitudes,
  File "/home/odoo/src/user/odoo_attendance_user_location/models/hr_employee.py", line 76, in _attendance_action
    modified_attendance = employee._attendance_action_change(longitudes,
  File "/home/odoo/src/user/odoo_attendance_user_location/models/hr_employee.py", line 99, in _attendance_action_change
    location = geolocator.reverse(str(latitudes) + ', ' + str(longitudes))
  File "/home/odoo/.local/lib/python3.10/site-packages/geopy/geocoders/nominatim.py", line 352, in reverse
    raise ValueError("Must be a coordinate pair or Point")
ValueError: Must be a coordinate pair or Point

The above server error caused the following client error:


version 13
by
sara.khaled90.sk@gmail.com
on 8/27/24, 6:44 AM

Hi, Can I get this module for version 13 community?

Re: version 13
by
Cybrosys Technologies
on 8/28/24, 6:14 AM Author

Sorry. This is not available for v13


Facing Error: Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/geopy/geocoders/nominatim.py", line 350, in reverse lat, lon = self._coerce_point_to_string(query).split(',') File "/usr/local/lib/python3.8/dist-packages/geopy/geocoders/base.py", line 300, in _coerce_point_to_string point = Point(point) File "/usr/local/lib/python3.8/dist-packages/geopy/point.py", line 166, in __new__ return cls.from_string(arg) File "/usr/local/lib/python3.8/dist-packages/geopy/point.py", line 457, in from_string raise ValueError( ValueError: Failed to create Point instance from string: unknown format. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/odoo/odoo-server/odoo/addons/base/models/ir_http.py", line 237, in _dispatch result = request.dispatch() File "/odoo/odoo-server/odoo/http.py", line 698, in dispatch result = self._call_function(**self.params) File "/odoo/odoo-server/odoo/http.py", line 368, in _call_function return checked_call(self.db, *args, **kwargs) File "/odoo/odoo-server/odoo/service/model.py", line 94, in wrapper return f(dbname, *args, **kwargs) File "/odoo/odoo-server/odoo/http.py", line 357, in checked_call result = self.endpoint(*a, **kw) File "/odoo/odoo-server/odoo/http.py", line 921, in __call__ return self.method(*args, **kw) File "/odoo/odoo-server/odoo/http.py", line 546, in response_wrap response = f(*args, **kw) File "/odoo/odoo-server/addons/web/controllers/main.py", line 1324, in call_kw return self._call_kw(model, method, args, kwargs) File "/odoo/odoo-server/addons/web/controllers/main.py", line 1316, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/odoo/odoo-server/odoo/api.py", line 469, in call_kw result = _call_kw_multi(method, model, args, kwargs) File "/odoo/odoo-server/odoo/api.py", line 456, in _call_kw_multi result = method(recs, *args, **kwargs) File "/odoo/odoo-server/odoo-custom-addons/odoo_attendance_user_location/models/hr_employee.py", line 43, in attendance_manual return self._attendance_action(latitudes, longitudes, File "/odoo/odoo-server/odoo-custom-addons/odoo_attendance_user_location/models/hr_employee.py", line 73, in _attendance_action modified_attendance = employee.with_user( File "/odoo/odoo-server/odoo-custom-addons/odoo_attendance_user_location/models/hr_employee.py", line 99, in _attendance_action_change location = geolocator.reverse(str(latitudes) + ', ' + str(longitudes)) File "/usr/local/lib/python3.8/dist-packages/geopy/geocoders/nominatim.py", line 352, in reverse raise ValueError("Must be a coordinate pair or Point") Exception The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/odoo/odoo-server/odoo/http.py", line 654, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/odoo/odoo-server/odoo/http.py", line 301, in _handle_exception raise exception.with_traceback(None) from new_cause ValueError: Must be a coordinate pair or Point
by
TRIBHUWAN PHULERA
on 1/4/24, 12:48 AM



Odoo 15
by
Elder Id
on 9/10/23, 5:09 AM

Hi, any chance you could do this for Odoo 15?

Re: Odoo 15
by
Cybrosys Technologies
on 9/14/23, 1:51 AM Author

Please write to odoo@cybrosys.com


Error in Odoo 15 Enterprise edition
by
Azhar Saleem
on 7/31/23, 7:54 AM

Hi, I'm using this module in Odoo 15 enterprise edition and getting this error. 

AttributeError: 'res.company' object has no attribute 'attendance_kiosk_delay'

Can you please help me to solve this error?

thanks