diff --git a/.gitignore b/.gitignore index e0e8c990..215b3843 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ __pycache__ .DS_Store +.env \ No newline at end of file diff --git a/README.md b/README.md index be19b7fd..4154a3ff 100644 --- a/README.md +++ b/README.md @@ -21,19 +21,38 @@ docker-compose up -d Create a database and install modules. ```bash -export MODULES=base,project,hr,hr_timesheet,timesheets_by_employee -docker exec -it odoo-development_web_1 bin/bash -c "odoo -i $MODULES -c /etc/odoo/odoo.conf -d odoo --stop-after-init --db_host \$HOST -r \$USER -w \$PASSWORD --dev all" +export MODULES=base,project,hr_timesheet,timesheets_by_employee +docker exec -it odoo-development_web_1 bin/bash -c "odoo -i $MODULES -c /etc/odoo/odoo.conf -d odoo --db_host \$HOST -r \$USER -w \$PASSWORD --dev all --stop-after-init" docker restart odoo-development_web_1 ``` Open browser to [http://localhost:8069](http://localhost:8069) and login with `admin:admin`. +### Configure SMTP + +Create a `.env` file in the project root. + +```bash +SMTP_PASSWORD=... +SMTP_PORT=... +SMTP_SERVER=... +SMTP_USER=... +``` + +Install Odoo with the smtp params. + +```bash +export MODULES=base,project,hr_timesheet,timesheets_by_employee +docker exec -it odoo-development_web_1 bin/bash -c "odoo -i $MODULES -c /etc/odoo/odoo.conf -d odoo --db_host \$HOST -r \$USER -w \$PASSWORD --dev all --stop-after-init --smtp=\$SMTP_SERVER --smtp-port=\$SMTP_PORT --smtp-ssl --smtp-user=\$SMTP_USER --smtp-password=\$SMTP_PASSWORD" +docker restart odoo-development_web_1 +``` + ### Enable developer mode Navigate to the [settings page]( http://localhost:8069/web?debug=1#id=&action=85&model=res.config.settings&view_type=form&cids=&menu_id=4) and click on *Activate the developer mode (with assets)*. -### Create module +### Create new module Scaffold a new module. @@ -41,7 +60,7 @@ Scaffold a new module. docker exec -it odoo-development_web_1 bin/bash -c 'odoo scaffold qm_data_system /mnt/extra-addons' ``` -Restart doo. +Restart Odoo. ```bash docker restart odoo-development_web_1 @@ -49,11 +68,11 @@ docker restart odoo-development_web_1 ### Manage database -Open database manager [http://localhost:8000/](http://localhost:8000/) and login with `admin@admin.com:admin`. +Open database manager [http://localhost:8000/](http://localhost:8000/) and login with `admin:admin`. Add a new database connection with these credentials: -``` +```conf Name: odoo Host: db Username: odoo @@ -67,3 +86,14 @@ Kill docker containers. ```bash docker-compose down -v ``` + +### Install custom module + +```bash +docker exec -it odoo-development_web_1 bin/bash -c "odoo -i employee_documents_expiry -c /etc/odoo/odoo.conf -d odoo --db_host \$HOST -r \$USER -w \$PASSWORD --stop-after-init" +docker restart odoo-development_web_1 +```` + +### Create new db + +[http://localhost:8069/?db=Test](http://localhost:8069/?db=Test) diff --git a/addons/employee_documents_expiry/README.md b/addons/employee_documents_expiry/README.md new file mode 100644 index 00000000..9604d929 --- /dev/null +++ b/addons/employee_documents_expiry/README.md @@ -0,0 +1,40 @@ +Employee Documents +------------------ +Supporting Addon for HR, Manages Employee Related Documents + + +Configuration +============= +* No additional configurations needed + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +* Developer: Nimisha (odoo@cybrosys.com) + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ + + diff --git a/addons/employee_documents_expiry/__init__.py b/addons/employee_documents_expiry/__init__.py new file mode 100644 index 00000000..e48f2d89 --- /dev/null +++ b/addons/employee_documents_expiry/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2019-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from . import models diff --git a/addons/employee_documents_expiry/__manifest__.py b/addons/employee_documents_expiry/__manifest__.py new file mode 100644 index 00000000..7aee63e1 --- /dev/null +++ b/addons/employee_documents_expiry/__manifest__.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2019-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# + +{ + 'name': 'Employee Documents', + 'version': '13.0.1.0.0', + 'summary': """Manages Employee Documents With Expiry Notifications.""", + 'description': """Manages Employee Related Documents with Expiry Notifications.""", + 'category': 'Generic Modules/Human Resources', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['base', 'hr'], + 'data': [ + 'security/ir.model.access.csv', + 'views/employee_check_list_view.xml', + 'views/employee_document_view.xml', + ], + 'demo': ['data/data.xml'], + 'images': ['static/description/banner.png'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/addons/employee_documents_expiry/data/data.xml b/addons/employee_documents_expiry/data/data.xml new file mode 100644 index 00000000..0583e0bb --- /dev/null +++ b/addons/employee_documents_expiry/data/data.xml @@ -0,0 +1,27 @@ + + + + + + Education Certificate + entry + + + Salary Certificate + entry + + + Experience Certificate + entry + + + Experience Certificate + exit + + + Salary Certificate + exit + + + + \ No newline at end of file diff --git a/addons/employee_documents_expiry/doc/RELEASE_NOTES.md b/addons/employee_documents_expiry/doc/RELEASE_NOTES.md new file mode 100644 index 00000000..0141c406 --- /dev/null +++ b/addons/employee_documents_expiry/doc/RELEASE_NOTES.md @@ -0,0 +1,9 @@ +## Module + +#### 19.10.2019 +#### Version 13.0.1.0.0 +#### ADD +Initial commit for Employee Documents Expiry + + + diff --git a/addons/employee_documents_expiry/models/__init__.py b/addons/employee_documents_expiry/models/__init__.py new file mode 100644 index 00000000..745c3e7f --- /dev/null +++ b/addons/employee_documents_expiry/models/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2019-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from . import employee_documents +from . import employee_entry_exit_check_list diff --git a/addons/employee_documents_expiry/models/employee_documents.py b/addons/employee_documents_expiry/models/employee_documents.py new file mode 100644 index 00000000..93b87b67 --- /dev/null +++ b/addons/employee_documents_expiry/models/employee_documents.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2019-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from datetime import datetime, date, timedelta +from odoo import models, fields, api, _ +from odoo.exceptions import Warning + + +class HrEmployeeDocument(models.Model): + _name = 'hr.employee.document' + _description = 'HR Employee Documents' + + def mail_reminder(self): + now = datetime.now() + timedelta(days=1) + date_now = now.date() + match = self.search([]) + for i in match: + if i.expiry_date: + exp_date = i.expiry_date - timedelta(days=7) + if date_now >= exp_date: + mail_content = " Hello " + i.employee_ref.name + ",
Your Document " + i.name + "is going to expire on " + \ + str(i.expiry_date) + ". Please renew it before expiry date" + main_content = { + 'subject': _('Document-%s Expired On %s') % (i.name, i.expiry_date), + 'author_id': self.env.user.partner_id.id, + 'body_html': mail_content, + 'email_to': i.employee_ref.work_email, + } + self.env['mail.mail'].create(main_content).send() + + @api.constrains('expiry_date') + def check_expr_date(self): + for each in self: + exp_date = each.expiry_date + if exp_date < date.today(): + raise Warning('Your Document Is Already Expired.') + + name = fields.Char(string='Document Number', required=True, copy=False) + document_name = fields.Many2one('employee.checklist', string='Document', required=True) + description = fields.Text(string='Description', copy=False) + expiry_date = fields.Date(string='Expiry Date', copy=False) + employee_ref = fields.Many2one('hr.employee', invisible=1, copy=False) + doc_attachment_id = fields.Many2many('ir.attachment', 'doc_attach_rel', 'doc_id', 'attach_id3', string="Attachment", + help='You can attach the copy of your document', copy=False) + issue_date = fields.Date(string='Issue Date', default=fields.Date.context_today, copy=False) + + +class HrEmployee(models.Model): + _inherit = 'hr.employee' + + + def _document_count(self): + for each in self: + document_ids = self.env['hr.employee.document'].search([('employee_ref', '=', each.id)]) + each.document_count = len(document_ids) + + + def document_view(self): + self.ensure_one() + domain = [ + ('employee_ref', '=', self.id)] + return { + 'name': _('Documents'), + 'domain': domain, + 'res_model': 'hr.employee.document', + 'type': 'ir.actions.act_window', + 'view_id': False, + 'view_mode': 'tree,form', + 'view_type': 'form', + 'help': _('''

+ Click to Create for New Documents +

'''), + 'limit': 80, + 'context': "{'default_employee_ref': '%s'}" % self.id + } + + document_count = fields.Integer(compute='_document_count', string='# Documents') + + +class HrEmployeeAttachment(models.Model): + _inherit = 'ir.attachment' + + doc_attach_rel = fields.Many2many('hr.employee.document', 'doc_attachment_id', 'attach_id3', 'doc_id', + string="Attachment", invisible=1) diff --git a/addons/employee_documents_expiry/models/employee_entry_exit_check_list.py b/addons/employee_documents_expiry/models/employee_entry_exit_check_list.py new file mode 100644 index 00000000..4294443d --- /dev/null +++ b/addons/employee_documents_expiry/models/employee_entry_exit_check_list.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2019-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import models, fields, api + + +class EmployeeEntryDocuments(models.Model): + _name = 'employee.checklist' + _inherit = 'mail.thread' + _description = "Employee Documents" + + def name_get(self): + result = [] + for each in self: + if each.document_type == 'entry': + name = each.name + '_en' + elif each.document_type == 'exit': + name = each.name + '_ex' + elif each.document_type == 'other': + name = each.name + '_ot' + result.append((each.id, name)) + return result + + name = fields.Char(string='Document Name', copy=False, required=1) + document_type = fields.Selection([('entry', 'Entry Process'), + ('exit', 'Exit Process'), + ('other', 'Other')], string='Checklist Type', required=1) + + diff --git a/addons/employee_documents_expiry/models/employee_entry_exit_check_list.py~ b/addons/employee_documents_expiry/models/employee_entry_exit_check_list.py~ new file mode 100644 index 00000000..6fbd2c51 --- /dev/null +++ b/addons/employee_documents_expiry/models/employee_entry_exit_check_list.py~ @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +from odoo import models, fields, api + + +class EmployeeEntryDocuments(models.Model): + _name = 'employee.checklist' + _inherit = ['mail.thread', 'ir.needaction_mixin'] + _description = "Employee Documents" + + @api.multi + def name_get(self): + result = [] + for each in self: + if each.document_type == 'entry': + name = each.name + '_en' + elif each.document_type == 'exit': + name = each.name + '_ex' + elif each.document_type == 'other': + name = each.name + '_ot' + result.append((each.id, name)) + return result + + name = fields.Char(string='Document Name', copy=False, required=1) + document_type = fields.Selection([('entry', 'Entry Documents'), + ('exit', 'Exit Documents'), + ('other', 'Other')], string='Checklist Type', required=1) + diff --git a/addons/employee_documents_expiry/security/ir.model.access.csv b/addons/employee_documents_expiry/security/ir.model.access.csv new file mode 100644 index 00000000..bb52b71f --- /dev/null +++ b/addons/employee_documents_expiry/security/ir.model.access.csv @@ -0,0 +1,7 @@ +id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink +access_hr_employee_checklist_user,employee.checklist.user,model_employee_checklist,hr.group_hr_user,1,1,1,1 +access_hr_employee_checklist_emp,employee.checklist.emp,model_employee_checklist,base.group_user,1,1,1,0 +access_hr_employee_document_employee,hr.employee.document_employee,model_hr_employee_document,base.group_user,1,1,1,0 +access_hr_employee_document_manager,hr.employee.document_manager,model_hr_employee_document,hr.group_hr_manager,1,1,1,1 +access_hr_employee_document_user,hr.employee.document_user,model_hr_employee_document,hr.group_hr_user,1,1,1,0 + diff --git a/addons/employee_documents_expiry/static/description/banner.png b/addons/employee_documents_expiry/static/description/banner.png new file mode 100644 index 00000000..bc39822e Binary files /dev/null and b/addons/employee_documents_expiry/static/description/banner.png differ diff --git a/addons/employee_documents_expiry/static/description/cybro_logo.png b/addons/employee_documents_expiry/static/description/cybro_logo.png new file mode 100644 index 00000000..bb309114 Binary files /dev/null and b/addons/employee_documents_expiry/static/description/cybro_logo.png differ diff --git a/addons/employee_documents_expiry/static/description/document_form.png b/addons/employee_documents_expiry/static/description/document_form.png new file mode 100644 index 00000000..5c570a33 Binary files /dev/null and b/addons/employee_documents_expiry/static/description/document_form.png differ diff --git a/addons/employee_documents_expiry/static/description/documents-expiry-cybrosys-1.png b/addons/employee_documents_expiry/static/description/documents-expiry-cybrosys-1.png new file mode 100644 index 00000000..85d6bbcc Binary files /dev/null and b/addons/employee_documents_expiry/static/description/documents-expiry-cybrosys-1.png differ diff --git a/addons/employee_documents_expiry/static/description/documents-expiry-cybrosys-2.png b/addons/employee_documents_expiry/static/description/documents-expiry-cybrosys-2.png new file mode 100644 index 00000000..1bb8aadb Binary files /dev/null and b/addons/employee_documents_expiry/static/description/documents-expiry-cybrosys-2.png differ diff --git a/addons/employee_documents_expiry/static/description/documents-expiry-cybrosys-3.png b/addons/employee_documents_expiry/static/description/documents-expiry-cybrosys-3.png new file mode 100644 index 00000000..0aa8ebcd Binary files /dev/null and b/addons/employee_documents_expiry/static/description/documents-expiry-cybrosys-3.png differ diff --git a/addons/employee_documents_expiry/static/description/email.png b/addons/employee_documents_expiry/static/description/email.png new file mode 100644 index 00000000..90b70be6 Binary files /dev/null and b/addons/employee_documents_expiry/static/description/email.png differ diff --git a/addons/employee_documents_expiry/static/description/employee_form.png b/addons/employee_documents_expiry/static/description/employee_form.png new file mode 100644 index 00000000..c7ea0e59 Binary files /dev/null and b/addons/employee_documents_expiry/static/description/employee_form.png differ diff --git a/addons/employee_documents_expiry/static/description/icon.png b/addons/employee_documents_expiry/static/description/icon.png new file mode 100644 index 00000000..df105a47 Binary files /dev/null and b/addons/employee_documents_expiry/static/description/icon.png differ diff --git a/addons/employee_documents_expiry/static/description/index.html b/addons/employee_documents_expiry/static/description/index.html new file mode 100644 index 00000000..cf5936e9 --- /dev/null +++ b/addons/employee_documents_expiry/static/description/index.html @@ -0,0 +1,361 @@ +
+
+

+ Employee Documents +

+

+ Manages Employee Related Documents +

+
+ Cybrosys Technologies +
+ +
+ cybrosys technologies +
+
+
+
+
+
+

+ Overview +

+

+ Each and every detail associated with an employee is useful for any organization for better Human resource management. + So the employee documents with such necessary information must be saved and used accordingly. + 'Employee Documents' is a useful tool that can help you to store and manage the employee related + documents like certificates, appraisal reports, passport, license etc. + The application also allows you to set an alert message on reaching the expiration/any other + related dates of a document (like an expiration of passport) +

+
+
+
+
+

+ Features +

+

+ + Managing Documents of Employees +

+

+ + Documents Types +

+

+ + Expiry Date for Documents +

+

+ + Validation for Expiry Date +

+

+ + Mail Notification Based on Expiry Date +

+
+
+
+
+

+ Screenshots +

+

+
+ + Documents Super Button +
+

+
+ +
+

+
+ + Documents Form +
+

+
+ +
+

+
+ Notification Mail for Expiry Doc +
+

+
+ +
+
+
+
+
+ cybrosys technologies +
+
+
+
+

+ Our Services +

+
+ + + +
+ +
+ + + +
+

+ + Odoo Support +

+ +
+ +
+
+
+
+
+

+ Our Industries +

+
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + Trading + +

+

+ Easily procure and sell your products. +

+
+ +
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + Manufacturing +

+

+ Plan, track and schedule your operations. +

+
+ +
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + Restaurant +

+

+ Run your bar or restaurant methodical. +

+
+ +
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + POS +

+

+ Easy configuring and convivial selling. +

+
+ +
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + E-commerce & Website +

+

+ Mobile friendly, awe-inspiring product pages. +

+
+
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + Hotel Management +

+

+ An all-inclusive hotel management application. +

+
+
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + Education +

+

+ A Collaborative platform for educational management. +

+
+
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + Service Management +

+

+ Keep track of services and invoice accordingly. +

+
+
+
+
+
+
+ +
+ + + diff --git a/addons/employee_documents_expiry/views/employee_check_list_view.xml b/addons/employee_documents_expiry/views/employee_check_list_view.xml new file mode 100644 index 00000000..c698be1a --- /dev/null +++ b/addons/employee_documents_expiry/views/employee_check_list_view.xml @@ -0,0 +1,34 @@ + + + + + employee.checklist.form + employee.checklist + +
+ + + + + + +
+ + +
+
+
+
+ + + employee.checklist.tree + employee.checklist + + + + + + + + +
\ No newline at end of file diff --git a/addons/employee_documents_expiry/views/employee_document_view.xml b/addons/employee_documents_expiry/views/employee_document_view.xml new file mode 100644 index 00000000..5b0dc0ce --- /dev/null +++ b/addons/employee_documents_expiry/views/employee_document_view.xml @@ -0,0 +1,67 @@ + + + + + HR Employee Data Expiration + + code + model.mail_reminder() + 1 + days + -1 + + + + hr.employee.document.form + hr.employee.document + +
+ + + + + + + + + + + + + + + + + + + +
+
+
+ + + hr.employee.document.tree + hr.employee.document + + + + + + + + + + + hr.employee.form.view + hr.employee + + +
+ +
+
+
+ +
\ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index dfcaa0fb..71f6d495 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,9 +5,13 @@ services: depends_on: - db environment: - - HOST=db - - USER=odoo - - PASSWORD=odoo + HOST: db + USER: odoo + PASSWORD: odoo + SMTP_PASSWORD: "${SMTP_PASSWORD}" + SMTP_PORT: "${SMTP_PORT}" + SMTP_SERVER: "${SMTP_SERVER}" + SMTP_USER: "${SMTP_USER}" ports: - "8069:8069" volumes: @@ -28,10 +32,10 @@ services: db: image: postgres:10 environment: - - POSTGRES_DB=postgres - - POSTGRES_PASSWORD=odoo - - POSTGRES_USER=odoo - - PGDATA=/var/lib/postgresql/data/pgdata + POSTGRES_DB: postgres + POSTGRES_PASSWORD: odoo + POSTGRES_USER: odoo + PGDATA: /var/lib/postgresql/data/pgdata volumes: - odoo-db-data:/var/lib/postgresql/data/pgdata volumes: