Skip to content

Commit

Permalink
Merge PR #605 into 15.0
Browse files Browse the repository at this point in the history
Signed-off-by dreispt
  • Loading branch information
OCA-git-bot committed Apr 15, 2024
2 parents b9195e7 + 51a3ea3 commit 4928e85
Show file tree
Hide file tree
Showing 24 changed files with 1,692 additions and 0 deletions.
115 changes: 115 additions & 0 deletions hr_timesheet_sheet_attendance/README.rst
@@ -0,0 +1,115 @@
=============================
HR Timesheet Sheet Attendance
=============================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:4f73fa862b36263a6f51e2d31ad34be1ddf306ee40934ee3f55f9facc3f2056c
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Ftimesheet-lightgray.png?logo=github
:target: https://github.com/OCA/timesheet/tree/15.0/hr_timesheet_sheet_attendance
:alt: OCA/timesheet
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/timesheet-15-0/timesheet-15-0-hr_timesheet_sheet_attendance
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/timesheet&target_branch=15.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module extends the functionality of hr_timesheet_sheet
and help employees to manage their attendance according to timesheet period.
It provide functionality to checkin/checkout directly from timesheet-sheet.
It also help you/management in performace evaluation by displaing
total attendance time and difference of total attendance time and total working time.

**Table of contents**

.. contents::
:local:

Installation
============

This module relies on:

* The OCA module 'HR Timesheet Sheet', and can be downloaded from
Github: https://github.com/OCA/hr-timesheet/tree/15.0/hr_timesheet_sheet

Usage
=====

* Goto Timesheets > My Timesheet Sheets and create a timesheet
* Goto tab Attendances on timesheet form
- You can see there your current status checkin/checkout
- You also can create attendance by clicking on button Check In/Check Out on right side
- You can see your attendance that belongs to current timesheet on left side in same tab
* 'Total Attendance' is total working time based on your attendance
* 'Difference' is the difference betwwen total attandance time and working time (sum(attendace-time) - sum(unit amount in timessheet lines))
* Two smart buttons are present on top-right corner of timesheet form
- First one(with time icon) will take you list of your timesheets (by default filter timesheets related to current timesheet-sheet)
- Second one(labeled as Attendances) will take you to list of your attendances (by default filter ateendances related to current timesheet-sheet)
* It prevents to change in any attendance related to timesheet-sheet that already has submitted
* It also prevents to submit such a timesheet-sheet not having equal number of checkin and checkout

Known issues / Roadmap
======================

By having Check-in/out button in the timesheet, there could perhaps be a case where the user does two clicks in a fast way, then the check-in and check-out times are the same and the attendance gets blocked as there is an Odoo standard check which verifies that the attendance check-in time is strictly minor than the check-out time

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/timesheet/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/timesheet/issues/new?body=module:%20hr_timesheet_sheet_attendance%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* BizzAppDev

Contributors
~~~~~~~~~~~~

* Ruchir Shukla <ruchir@bizzappdev.com>
* Shruti Singh <shruti.singh@bizzappdev.com>
* Chirag Parmar <chirag.parmar@bizzappdev.com>
* Naglis Jonaitis <naglis@versada.eu>
* `Tecnativa <https://www.tecnativa.com>`_:

* Ernesto Tejeda

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/timesheet <https://github.com/OCA/timesheet/tree/15.0/hr_timesheet_sheet_attendance>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions hr_timesheet_sheet_attendance/__init__.py
@@ -0,0 +1 @@
from . import models
15 changes: 15 additions & 0 deletions hr_timesheet_sheet_attendance/__manifest__.py
@@ -0,0 +1,15 @@
{
"name": "HR Timesheet Sheet Attendance",
"version": "15.0.1.0.0",
"category": "Human Resources",
"sequence": 80,
"license": "AGPL-3",
"author": "BizzAppDev, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/timesheet",
"depends": ["hr_attendance", "hr_timesheet_sheet"],
"data": [
"views/hr_timesheet_sheet_view.xml",
"views/hr_attendance_view.xml",
],
"installable": True,
}
123 changes: 123 additions & 0 deletions hr_timesheet_sheet_attendance/i18n/hr_timesheet_sheet_attendance.pot
@@ -0,0 +1,123 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_timesheet_sheet_attendance
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: hr_timesheet_sheet_attendance
#: model:ir.model,name:hr_timesheet_sheet_attendance.model_hr_attendance
msgid "Attendance"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__attendance_count
msgid "Attendance Count"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model:ir.actions.act_window,name:hr_timesheet_sheet_attendance.hr_timesheet_sheet_action_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__attendances_ids
#: model_terms:ir.ui.view,arch_db:hr_timesheet_sheet_attendance.hr_timesheet_sheet_form
msgid "Attendances"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model_terms:ir.ui.view,arch_db:hr_timesheet_sheet_attendance.hr_timesheet_sheet_form
msgid "Check In"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model_terms:ir.ui.view,arch_db:hr_timesheet_sheet_attendance.hr_timesheet_sheet_form
msgid "Check Out"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__attendance_state
msgid "Current Status"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__total_difference
msgid "Difference"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_attendance__display_name
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__display_name
msgid "Display Name"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_attendance__id
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__id
msgid "ID"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_attendance____last_update
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet____last_update
msgid "Last Modified on"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_attendance__sheet_id
msgid "Sheet"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: code:addons/hr_timesheet_sheet_attendance/models/hr_timesheet_sheet.py:0
#, python-format
msgid ""
"The timesheet cannot be validated as it does not contain an equal number of "
"sign ins and sign outs."
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model_terms:ir.ui.view,arch_db:hr_timesheet_sheet_attendance.hr_timesheet_sheet_form
msgid "Timesheet"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model:ir.actions.act_window,name:hr_timesheet_sheet_attendance.hr_timesheet_sheet_action_sheet_activities
msgid "Timesheet Activities"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model:ir.model,name:hr_timesheet_sheet_attendance.model_hr_timesheet_sheet
msgid "Timesheet Sheet"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__total_attendance
msgid "Total Attendance"
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: code:addons/hr_timesheet_sheet_attendance/models/hr_attendance.py:0
#, python-format
msgid ""
"You can not enter an attendance date outside the current timesheet dates."
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: code:addons/hr_timesheet_sheet_attendance/models/hr_attendance.py:0
#, python-format
msgid ""
"You can not enter an attendance in a submitted timesheet. Ask your manager "
"to reset it before adding attendance."
msgstr ""

#. module: hr_timesheet_sheet_attendance
#: code:addons/hr_timesheet_sheet_attendance/models/hr_attendance.py:0
#, python-format
msgid "You cannot modify an entry in a confirmed timesheet"
msgstr ""
132 changes: 132 additions & 0 deletions hr_timesheet_sheet_attendance/i18n/it.po
@@ -0,0 +1,132 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_timesheet_sheet_attendance
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-06-22 14:08+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: hr_timesheet_sheet_attendance
#: model:ir.model,name:hr_timesheet_sheet_attendance.model_hr_attendance
msgid "Attendance"
msgstr "Presenza"

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__attendance_count
msgid "Attendance Count"
msgstr "Conteggio presenze"

#. module: hr_timesheet_sheet_attendance
#: model:ir.actions.act_window,name:hr_timesheet_sheet_attendance.hr_timesheet_sheet_action_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__attendances_ids
#: model_terms:ir.ui.view,arch_db:hr_timesheet_sheet_attendance.hr_timesheet_sheet_form
msgid "Attendances"
msgstr "Presenti"

#. module: hr_timesheet_sheet_attendance
#: model_terms:ir.ui.view,arch_db:hr_timesheet_sheet_attendance.hr_timesheet_sheet_form
msgid "Check In"
msgstr "Check-in"

#. module: hr_timesheet_sheet_attendance
#: model_terms:ir.ui.view,arch_db:hr_timesheet_sheet_attendance.hr_timesheet_sheet_form
msgid "Check Out"
msgstr "Check-out"

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__attendance_state
msgid "Current Status"
msgstr "Stato attuale"

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__total_difference
msgid "Difference"
msgstr "Differenza"

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_attendance__display_name
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__display_name
msgid "Display Name"
msgstr "Nome visualizzato"

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_attendance__id
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__id
msgid "ID"
msgstr "ID"

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_attendance____last_update
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet____last_update
msgid "Last Modified on"
msgstr "Ultima modifica il"

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_attendance__sheet_id
msgid "Sheet"
msgstr "Prospetto"

#. module: hr_timesheet_sheet_attendance
#: code:addons/hr_timesheet_sheet_attendance/models/hr_timesheet_sheet.py:0
#, python-format
msgid ""
"The timesheet cannot be validated as it does not contain an equal number of "
"sign ins and sign outs."
msgstr ""
"Il fogli ore non può essere validato perché non contiene un numero uguale di "
"entrate e uscite."

#. module: hr_timesheet_sheet_attendance
#: model_terms:ir.ui.view,arch_db:hr_timesheet_sheet_attendance.hr_timesheet_sheet_form
msgid "Timesheet"
msgstr "Foglio ore"

#. module: hr_timesheet_sheet_attendance
#: model:ir.actions.act_window,name:hr_timesheet_sheet_attendance.hr_timesheet_sheet_action_sheet_activities
msgid "Timesheet Activities"
msgstr "Attività fogli oore"

#. module: hr_timesheet_sheet_attendance
#: model:ir.model,name:hr_timesheet_sheet_attendance.model_hr_timesheet_sheet
msgid "Timesheet Sheet"
msgstr "Scheda foglio ore"

#. module: hr_timesheet_sheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_sheet_attendance.field_hr_timesheet_sheet__total_attendance
msgid "Total Attendance"
msgstr "Totale presenze"

#. module: hr_timesheet_sheet_attendance
#: code:addons/hr_timesheet_sheet_attendance/models/hr_attendance.py:0
#, python-format
msgid ""
"You can not enter an attendance date outside the current timesheet dates."
msgstr ""
"Non si può inserire una presenza con una data al di fuori delle date del "
"fogli ore attuale."

#. module: hr_timesheet_sheet_attendance
#: code:addons/hr_timesheet_sheet_attendance/models/hr_attendance.py:0
#, python-format
msgid ""
"You can not enter an attendance in a submitted timesheet. Ask your manager "
"to reset it before adding attendance."
msgstr ""
"Non si può inserire una presenza in un foglio ore inviato. Richiedere al "
"responsabile di resettarlo prima di aggiungere la presenza."

#. module: hr_timesheet_sheet_attendance
#: code:addons/hr_timesheet_sheet_attendance/models/hr_attendance.py:0
#, python-format
msgid "You cannot modify an entry in a confirmed timesheet"
msgstr "Non si può modificare una registrazione in un fogli ore confermato"

0 comments on commit 4928e85

Please sign in to comment.