diff --git a/app/human_resources/models/__init__.py b/app/human_resources/models/__init__.py index e69de29b..f7b5da31 100644 --- a/app/human_resources/models/__init__.py +++ b/app/human_resources/models/__init__.py @@ -0,0 +1 @@ +from . import employee diff --git a/app/human_resources/models/employee.py b/app/human_resources/models/employee.py new file mode 100644 index 00000000..90a64b32 --- /dev/null +++ b/app/human_resources/models/employee.py @@ -0,0 +1,109 @@ +from django.db import models + +from access.models.contact import Contact + + + +class Employee( + Contact +): + + + class Meta: + + ordering = [ + 'email', + ] + + verbose_name = 'Employee' + + verbose_name_plural = 'Employees' + + + employee_number = models.IntegerField( + blank = False, + help_text = 'Employees identification number.', + null = False, + unique = True, + verbose_name = 'Employee Number' + ) + + + def __str__(self) -> str: + + return self.f_name + ' ' + self.l_name + + documentation = '' + + page_layout: list = [ + { + "name": "Details", + "slug": "details", + "sections": [ + { + "layout": "double", + "left": [ + 'organization', + 'created', + 'modified', + ], + "right": [ + 'model_notes', + 'directory', + ] + }, + { + "name": "Personal Details", + "layout": "double", + "left": [ + 'employee_number', + 'display_name', + 'dob', + ], + "right": [ + 'f_name', + 'm_name', + 'l_name', + ] + }, + { + "name": "", + "layout": "double", + "left": [ + 'email', + ], + "right": [ + '', + ] + } + ] + }, + { + "name": "Knowledge Base", + "slug": "kb_articles", + "sections": [ + { + "layout": "table", + "field": "knowledge_base", + } + ] + }, + { + "name": "Notes", + "slug": "notes", + "sections": [] + }, + ] + + table_fields: list = [ + { + "field": "employee_number", + "type": "link", + "key": "_self" + }, + 'f_name', + 'l_name', + 'email', + 'organization', + 'created', + ] diff --git a/docs/projects/centurion_erp/index.md b/docs/projects/centurion_erp/index.md index 0bc4cd36..d9f0eedb 100644 --- a/docs/projects/centurion_erp/index.md +++ b/docs/projects/centurion_erp/index.md @@ -53,10 +53,25 @@ Centurion ERP contains the following modules: - [Single Sign-On {SSO}](./user/configuration.md#single-sign-on) +- [Corporate Directory (contacts)](./user/access/contact.md) + + !!! info + This feature is still under active development _[see #705](https://github.com/nofusscomputing/centurion_erp/issues/705)_ for more details. + - [Development Operations (DevOps)](./user/devops/index.md) - [Feature Flags](./user/devops/feature_flags.md) + - [Repository Management](./user/devops/git_repository.md) + + !!! info + This feature is still under active development _[see #115](https://github.com/nofusscomputing/centurion_erp/issues/115)_ for more details. + +- [Human Resource Management](./user/human_resources/index.md) + + !!! info + This feature is still under active development _[see #92](https://github.com/nofusscomputing/centurion_erp/issues/92)_ for more details. + - Incident Management - [IT Asset Management (ITAM)](./user/itam/index.md) @@ -111,18 +126,12 @@ Below is a list of modules/features we intend to add to Centurion. To find out w - Location Management (Regions, Sites and Locations) _[see #62](https://github.com/nofusscomputing/centurion_erp/issues/62)_ - - Corporate Directory (contacts) _[see #705](https://github.com/nofusscomputing/centurion_erp/issues/705)_ - - Customer Relationship Management (CRM) _[see #91](https://github.com/nofusscomputing/centurion_erp/issues/91)_ - Database Management _[see #72](https://github.com/nofusscomputing/centurion_erp/issues/72)_ - Development Operations (DevOPS) _[see #68](https://github.com/nofusscomputing/centurion_erp/issues/58)_ - - Repository Management _[see #115](https://github.com/nofusscomputing/centurion_erp/issues/115)_ - - - Human Resource Management _[see #92](https://github.com/nofusscomputing/centurion_erp/issues/92)_ - - IT Asset Management (ITAM) - Licence Management _[see #4](https://github.com/nofusscomputing/centurion_erp/issues/4)_ diff --git a/docs/projects/centurion_erp/user/human_resources/employee.md b/docs/projects/centurion_erp/user/human_resources/employee.md new file mode 100644 index 00000000..6de4f1d7 --- /dev/null +++ b/docs/projects/centurion_erp/user/human_resources/employee.md @@ -0,0 +1,14 @@ +--- +title: Employee +description: Employee as part of Human Resources User Documentation for Centurion ERP by No Fuss Computing +date: 2025-04-15 +template: project.html +about: https://github.com/nofusscomputing/centurion_erp +--- + +This component within HR is for the management of an organizations employee(s). + + +## Fields + +- employee number _An internal number to reference the employee_ diff --git a/docs/projects/centurion_erp/user/human_resources/index.md b/docs/projects/centurion_erp/user/human_resources/index.md new file mode 100644 index 00000000..c889acd2 --- /dev/null +++ b/docs/projects/centurion_erp/user/human_resources/index.md @@ -0,0 +1,14 @@ +--- +title: Human Resources +description: Human Resources (HR) Module User Documentation for Centurion ERP by No Fuss Computing +date: 2025-04-15 +template: project.html +about: https://github.com/nofusscomputing/centurion_erp +--- + +Human Resources (HR) is a crucial area of of management for an organization. HR covers all areas related to the most crucial resource, an employee. + + +## HR Components + +- [Employees](./employee.md) diff --git a/mkdocs.yml b/mkdocs.yml index 99c84a93..c7bce158 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -201,6 +201,12 @@ nav: - projects/centurion_erp/user/devops/git_repository.md + - Human Resources: + + - projects/centurion_erp/user/human_resources/index.md + + - projects/centurion_erp/user/human_resources/employee.md + - ITAM: - projects/centurion_erp/user/itam/index.md