Go to file
Rucha Mahabal f208903250
feat: Scheduling Multiple shifts and Auto Attendance (#29955)
* refactor: overlapping shifts validation

- convert raw query to frappe.qb

- check for overlapping timings if dates overlap

- translation friendly error messages with link to overlapping doc

* refactor: consider timeslots in `get_employee_shift`

* fix: handle shift grace overlap while finding current shift

* refactor: handle shifts spanning over 2 different days

* fix: fetching shift on timing boundaries

* refactor: rewrite docstrings and add type hints for functions

* refactor: Allow multiple attendance records creation for different shifts

* feat: auto attendance marking for multiple shifts on the same day

* refactor: mark absent for employees with no attendance

- break down into smaller functions

- make it work with multiple shifts

- this will mark employee as absent per shift, meaning employee can be present for one shift and absent for another on the same day

* chore: sort imports, remove unused imports

* refactor: Monthly Attendance Sheet

- split into smaller functions

- add type hints

- get rid of unnecessary db calls and loops

- add docstrings for functions

* feat: add colors for attendance status to lessen the cognitive load

- legend with colors and full form for status abbreviations

* feat: show shift-wise attendance in monthly attendance sheet

* test: monthly attendance sheet

* style: format code with black

* chore: ignore formatting changes in blame

* test: fetching shifts in Employee Checkins

* fix(test): make holiday list for shift and checkin tests

* fix: tests

* test: shift assignment creation

* fix: attendance fixes

- check half day attendance threshold before absent threshold to avoid half day getting marked as absent

- round working hours to 2 digits for better accuracy

- start and end dates for absent attendance marking

* test: Shift Type with Auto Attendance setup and working

fix test setups

* refactor: Overlapping validation for Shift Request

- commonify time overlap function between request and assignment

- add tests for shift request overlap

* chore: remove unused import

* fix: add validation for overlapping shift attendance

- skip auto attendance in case of overlapping shift attendance record

- this case won't occur in case of shift assignment, since it will not allow overlapping shifts to be assigned

- can happen if manual attendance records are created

* test: validations for duplicate and overlapping shift attendance records

* test: skip auto attendance

* fix: skip validation for overlapping shift attendance if no shift is linked

* test: add holiday related shift and attendance tests

* test: add attendance sheet tests for employee filter, half days

* fix: sider
2022-04-06 10:56:47 +05:30
.github chore: remove ui test config 2022-03-30 12:50:37 +05:30
cypress feat: Bulk Transaction Processing (#28580) 2022-02-08 01:00:37 +05:30
erpnext feat: Scheduling Multiple shifts and Auto Attendance (#29955) 2022-04-06 10:56:47 +05:30
.editorconfig feat: Introducing telephony module (#24032) 2020-12-01 13:04:53 +05:30
.eslintrc feat: add html2canvas for easily exporting html to images using canvas 2021-08-10 18:01:52 +05:30
.flake8 chore: skip style checks in sider 2022-03-30 12:36:09 +05:30
.git-blame-ignore-revs feat: Scheduling Multiple shifts and Auto Attendance (#29955) 2022-04-06 10:56:47 +05:30
.gitignore chore: add .backportrc to gitignore (#26403) 2021-07-09 21:55:37 +05:30
.mergify.yml ci: allow stable branch merge for release 2022-03-14 18:25:13 +05:30
.pre-commit-config.yaml ci: pin click for black (#30464) 2022-03-29 11:47:28 +05:30
attributions.md [minor] frappe 2018-07-19 17:47:04 +05:30
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-07-01 21:35:10 +05:30
codecov.yml chore: bump coverage requirements 2021-12-14 19:41:09 +05:30
CODEOWNERS chore: update CODEOWNERS 2022-01-09 20:11:19 +05:30
cypress.json fix: UI tests 2021-07-19 15:47:31 +05:30
dev-requirements.txt test: hypothesis tests for FIFO queue 2021-12-20 13:20:03 +05:30
license.txt Rename schools to Education (#11524) 2017-11-23 15:22:10 +05:30
package.json chore: remove snyk from devdependencies 2021-09-09 12:52:45 +05:30
pyproject.toml chore: Clean up imports (#27302) 2021-09-02 16:44:59 +05:30
README.md chore: add ui test badge 2022-04-04 16:24:09 +05:30
requirements.txt chore: loosen pandas dependency and bump redisearch (#30249) 2022-04-04 16:58:25 +05:30
SECURITY.md chore(docs): Added contribution templates, SECURITY policy 2019-10-22 13:14:57 +05:30
setup.py style: format code with black 2022-03-28 18:52:46 +05:30
sider.yml chore: add sider config (#24892) 2021-03-17 20:06:35 +05:30
sponsors.md [enhancement] bulk edit in bank reconciliation, #4356 2015-11-27 11:37:18 +05:30
yarn.lock chore: remove snyk from devdependencies 2021-09-09 12:52:45 +05:30

ERPNext

ERP made simple

CI UI Open Source Helpers codecov docker pulls

https://erpnext.com

ERPNext as a monolith includes the following areas for managing businesses:

  1. Accounting
  2. Warehouse Management
  3. CRM
  4. Sales
  5. Purchase
  6. HRMS
  7. Project Management
  8. Support
  9. Asset Management
  10. Quality Management
  11. Manufacturing
  12. Website Management
  13. Customize ERPNext
  14. And More

ERPNext requires MariaDB.

ERPNext is built on the Frappe Framework, a full-stack web app framework built with Python & JavaScript.


Containerized Installation

Use docker to deploy ERPNext in production or for development of Frappe apps. See https://github.com/frappe/frappe_docker for more details.

Full Install

The Easy Way: our install script for bench will install all dependencies (e.g. MariaDB). See https://github.com/frappe/bench for more details.

New passwords will be created for the ERPNext "Administrator" user, the MariaDB root user, and the frappe user (the script displays the passwords and saves them to ~/frappe_passwords.txt).


License

GNU/General Public License (see license.txt)

The ERPNext code is licensed as GNU General Public License (v3) and the Documentation is licensed as Creative Commons (CC-BY-SA-3.0) and the copyright is owned by Frappe Technologies Pvt Ltd (Frappe) and Contributors.


Contributing

  1. Issue Guidelines
  2. Report Security Vulnerabilities
  3. Pull Request Requirements
  4. Translations
  5. Chart of Accounts

Learning

  1. Frappe School - Learn Frappe Framework and ERPNext from the various courses by the maintainers or from the community.

Logo and Trademark

The brand name ERPNext and the logo are trademarks of Frappe Technologies Pvt. Ltd.

Introduction

Frappe Technologies Pvt. Ltd. (Frappe) owns and oversees the trademarks for the ERPNext name and logos. We have developed this trademark usage policy with the following goals in mind:

  • Wed like to make it easy for anyone to use the ERPNext name or logo for community-oriented efforts that help spread and improve ERPNext.
  • Wed like to make it clear how ERPNext-related businesses and projects can (and cannot) use the ERPNext name and logo.
  • Wed like to make it hard for anyone to use the ERPNext name and logo to unfairly profit from, trick or confuse people who are looking for official ERPNext resources.

Frappe Trademark Usage Policy

Permission from Frappe is required to use the ERPNext name or logo as part of any project, product, service, domain or company name.

We will grant permission to use the ERPNext name and logo for projects that meet the following criteria:

  • The primary purpose of your project is to promote the spread and improvement of the ERPNext software.
  • Your project is non-commercial in nature (it can make money to cover its costs or contribute to non-profit entities, but it cannot be run as a for-profit project or business). Your project neither promotes nor is associated with entities that currently fail to comply with the GPL license under which ERPNext is distributed.
  • If your project meets these criteria, you will be permitted to use the ERPNext name and logo to promote your project in any way you see fit with one exception: Please do not use ERPNext as part of a domain name.

Use of the ERPNext name and logo is additionally allowed in the following situations:

All other ERPNext-related businesses or projects can use the ERPNext name and logo to refer to and explain their services, but they cannot use them as part of a product, project, service, domain, or company name and they cannot use them in any way that suggests an affiliation with or endorsement by ERPNext or Frappe Technologies or the ERPNext open source project. For example, a consulting company can describe its business as “123 Web Services, offering ERPNext consulting for small businesses,” but cannot call its business “The ERPNext Consulting Company.”

Similarly, its OK to use the ERPNext logo as part of a page that describes your products or services, but it is not OK to use it as part of your company or product logo or branding itself. Under no circumstances is it permitted to use ERPNext as part of a top-level domain name.

We do not allow the use of the trademark in advertising, including AdSense/AdWords.

Please note that it is not the goal of this policy to limit commercial activity around ERPNext. We encourage ERPNext-based businesses, and we would love to see hundreds of them.

When in doubt about your use of the ERPNext name or logo, please contact Frappe Technologies for clarification.

(inspired by WordPress)