diff --git a/account_restrict_journal/README.rst b/account_restrict_journal/README.rst new file mode 100644 index 000000000..b1b3b8880 --- /dev/null +++ b/account_restrict_journal/README.rst @@ -0,0 +1,49 @@ +.. image:: https://img.shields.io/badge/license-LGPL--3-green.svg + :target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 + +Restrict Journal for Users +========================== +* This module helps to restrict journal for the specific users.Users can access allowed journals only + +Configuration +============= +* No additional configuration required + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +General Public License, Version 3 (LGPL v3). +(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) + +Credits +------- +* Developer: (V17) Ashwin A, + (V16) Sreeshanth V S +* Contact: 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: ``__ \ No newline at end of file diff --git a/account_restrict_journal/__init__.py b/account_restrict_journal/__init__.py new file mode 100644 index 000000000..d4b63604d --- /dev/null +++ b/account_restrict_journal/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import models +from . import wizard diff --git a/account_restrict_journal/__manifest__.py b/account_restrict_journal/__manifest__.py new file mode 100644 index 000000000..7c7ecd167 --- /dev/null +++ b/account_restrict_journal/__manifest__.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': "Restrict Journal for Users", + "version": "17.0.1.0.0", + "category": "Accounting ", + "summary": "User can select only allowed journals", + "description": """ Restrict account journal for the specific users to + access allowed journals only""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['base', 'account'], + 'data': [ + 'security/account_restrict_journal_groups.xml', + 'security/account_move_security.xml', + 'views/res_users_views.xml', + 'views/account_move_views.xml' + ], + 'images': ['static/description/banner.jpg'], + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/account_restrict_journal/doc/RELEASE_NOTES.md b/account_restrict_journal/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..3196d4599 --- /dev/null +++ b/account_restrict_journal/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 11.07.2024 +#### Version 17.0.1.0.0 +##### ADD +- Initial Commit for Restrict Journal for Users diff --git a/account_restrict_journal/models/__init__.py b/account_restrict_journal/models/__init__.py new file mode 100644 index 000000000..fd82b464d --- /dev/null +++ b/account_restrict_journal/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import account_move +from . import res_users diff --git a/account_restrict_journal/models/account_move.py b/account_restrict_journal/models/account_move.py new file mode 100644 index 000000000..b9b977eeb --- /dev/null +++ b/account_restrict_journal/models/account_move.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError + + +class AccountMove(models.Model): + """Inherited model for checking the journal type in account.move.""" + _inherit = 'account.move' + + is_check_journal = fields.Boolean(string="Check Journal", + help="Compute field for check the current " + "record's journal type ", + compute="_compute_journal") + + def _compute_journal(self): + """Compute field for showing validation error for restricted journal's + records""" + self.is_check_journal = True + for rec in self.line_ids: + if rec.full_reconcile_id: + payment = self.env['account.payment.register'].search( + [('id', '=', rec.full_reconcile_id.id)]) + if payment.journal_id.id in self.env.user.journal_ids.ids: + raise ValidationError(_('Restricted journals found.')) + if self.journal_id.id in self.env.user.journal_ids.ids: + raise ValidationError(_('Restricted journals found.')) + + @api.onchange('partner_id') + def _onchange_partner_id(self): + """Function for hiding restricted journals from account.move.""" + if self.journal_id.id in self.env.user.journal_ids.ids: + self.journal_id = False diff --git a/account_restrict_journal/models/res_users.py b/account_restrict_journal/models/res_users.py new file mode 100644 index 000000000..af12b5340 --- /dev/null +++ b/account_restrict_journal/models/res_users.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class ResUsers(models.Model): + """ Adding journal fields where we can select allowed journal """ + _inherit = 'res.users' + + is_check_user = fields.Boolean(string="Check", + compute='_compute_is_check_user', + help="Check the field is true or false") + journal_ids = fields.Many2many( + 'account.journal', + string='Restricted Journals', + help='Only the selected journal will be visible' + ' to the particular user') + + def _compute_is_check_user(self): + """Function for viewing the page for restrict journal users.""" + self.is_check_user = False + if (self.env.ref( + 'account_restrict_journal.account_restrict_journal_group_admin').id in + self.groups_id.mapped('id')): + self.is_check_user = True diff --git a/account_restrict_journal/security/account_move_security.xml b/account_restrict_journal/security/account_move_security.xml new file mode 100644 index 000000000..282324336 --- /dev/null +++ b/account_restrict_journal/security/account_move_security.xml @@ -0,0 +1,30 @@ + + + + + Account Journal Restrict on Users + + [('id','not in', user.journal_ids.ids)] + + + + + + + + + + Account Payment Restrict on Users + + [('journal_id','not in', user.journal_ids.ids)] + + + + + + + + + diff --git a/account_restrict_journal/security/account_restrict_journal_groups.xml b/account_restrict_journal/security/account_restrict_journal_groups.xml new file mode 100644 index 000000000..15d1f8959 --- /dev/null +++ b/account_restrict_journal/security/account_restrict_journal_groups.xml @@ -0,0 +1,8 @@ + + + + + Restrict Journals + + + diff --git a/account_restrict_journal/static/description/assets/icons/capture (1).png b/account_restrict_journal/static/description/assets/icons/capture (1).png new file mode 100644 index 000000000..8824deafc Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/capture (1).png differ diff --git a/account_restrict_journal/static/description/assets/icons/check.png b/account_restrict_journal/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/check.png differ diff --git a/account_restrict_journal/static/description/assets/icons/chevron.png b/account_restrict_journal/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/chevron.png differ diff --git a/account_restrict_journal/static/description/assets/icons/cogs.png b/account_restrict_journal/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/cogs.png differ diff --git a/account_restrict_journal/static/description/assets/icons/consultation.png b/account_restrict_journal/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/consultation.png differ diff --git a/account_restrict_journal/static/description/assets/icons/ecom-black.png b/account_restrict_journal/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/ecom-black.png differ diff --git a/account_restrict_journal/static/description/assets/icons/education-black.png b/account_restrict_journal/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/education-black.png differ diff --git a/account_restrict_journal/static/description/assets/icons/hotel-black.png b/account_restrict_journal/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/hotel-black.png differ diff --git a/account_restrict_journal/static/description/assets/icons/img.png b/account_restrict_journal/static/description/assets/icons/img.png new file mode 100644 index 000000000..70197f477 Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/img.png differ diff --git a/account_restrict_journal/static/description/assets/icons/license.png b/account_restrict_journal/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/license.png differ diff --git a/account_restrict_journal/static/description/assets/icons/lifebuoy.png b/account_restrict_journal/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/lifebuoy.png differ diff --git a/account_restrict_journal/static/description/assets/icons/manufacturing-black.png b/account_restrict_journal/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/manufacturing-black.png differ diff --git a/account_restrict_journal/static/description/assets/icons/photo-capture.png b/account_restrict_journal/static/description/assets/icons/photo-capture.png new file mode 100644 index 000000000..06c111758 Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/photo-capture.png differ diff --git a/account_restrict_journal/static/description/assets/icons/pos-black.png b/account_restrict_journal/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/pos-black.png differ diff --git a/account_restrict_journal/static/description/assets/icons/puzzle.png b/account_restrict_journal/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/puzzle.png differ diff --git a/account_restrict_journal/static/description/assets/icons/restaurant-black.png b/account_restrict_journal/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/restaurant-black.png differ diff --git a/account_restrict_journal/static/description/assets/icons/service-black.png b/account_restrict_journal/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/service-black.png differ diff --git a/account_restrict_journal/static/description/assets/icons/trading-black.png b/account_restrict_journal/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/trading-black.png differ diff --git a/account_restrict_journal/static/description/assets/icons/training.png b/account_restrict_journal/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/training.png differ diff --git a/account_restrict_journal/static/description/assets/icons/update.png b/account_restrict_journal/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/update.png differ diff --git a/account_restrict_journal/static/description/assets/icons/user.png b/account_restrict_journal/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/user.png differ diff --git a/account_restrict_journal/static/description/assets/icons/wrench.png b/account_restrict_journal/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/account_restrict_journal/static/description/assets/icons/wrench.png differ diff --git a/account_restrict_journal/static/description/assets/misc/Cybrosys R.png b/account_restrict_journal/static/description/assets/misc/Cybrosys R.png new file mode 100644 index 000000000..da4058087 Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/Cybrosys R.png differ diff --git a/account_restrict_journal/static/description/assets/misc/categories.png b/account_restrict_journal/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/categories.png differ diff --git a/account_restrict_journal/static/description/assets/misc/check-box.png b/account_restrict_journal/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/check-box.png differ diff --git a/account_restrict_journal/static/description/assets/misc/compass.png b/account_restrict_journal/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/compass.png differ diff --git a/account_restrict_journal/static/description/assets/misc/corporate.png b/account_restrict_journal/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/corporate.png differ diff --git a/account_restrict_journal/static/description/assets/misc/customer-support.png b/account_restrict_journal/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/customer-support.png differ diff --git a/account_restrict_journal/static/description/assets/misc/cybrosys-logo.png b/account_restrict_journal/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/cybrosys-logo.png differ diff --git a/account_restrict_journal/static/description/assets/misc/email.svg b/account_restrict_journal/static/description/assets/misc/email.svg new file mode 100644 index 000000000..15291cdc3 --- /dev/null +++ b/account_restrict_journal/static/description/assets/misc/email.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/account_restrict_journal/static/description/assets/misc/features.png b/account_restrict_journal/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/features.png differ diff --git a/account_restrict_journal/static/description/assets/misc/logo.png b/account_restrict_journal/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/logo.png differ diff --git a/account_restrict_journal/static/description/assets/misc/phone.svg b/account_restrict_journal/static/description/assets/misc/phone.svg new file mode 100644 index 000000000..b7bd7f251 --- /dev/null +++ b/account_restrict_journal/static/description/assets/misc/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/account_restrict_journal/static/description/assets/misc/pictures.png b/account_restrict_journal/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/pictures.png differ diff --git a/account_restrict_journal/static/description/assets/misc/pie-chart.png b/account_restrict_journal/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/pie-chart.png differ diff --git a/account_restrict_journal/static/description/assets/misc/right-arrow.png b/account_restrict_journal/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/right-arrow.png differ diff --git a/account_restrict_journal/static/description/assets/misc/star (1) 2.svg b/account_restrict_journal/static/description/assets/misc/star (1) 2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/account_restrict_journal/static/description/assets/misc/star (1) 2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/account_restrict_journal/static/description/assets/misc/star.png b/account_restrict_journal/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/star.png differ diff --git a/account_restrict_journal/static/description/assets/misc/support (1) 1.svg b/account_restrict_journal/static/description/assets/misc/support (1) 1.svg new file mode 100644 index 000000000..7d37a8f30 --- /dev/null +++ b/account_restrict_journal/static/description/assets/misc/support (1) 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/account_restrict_journal/static/description/assets/misc/support-email.svg b/account_restrict_journal/static/description/assets/misc/support-email.svg new file mode 100644 index 000000000..eb70370d6 --- /dev/null +++ b/account_restrict_journal/static/description/assets/misc/support-email.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/account_restrict_journal/static/description/assets/misc/support.png b/account_restrict_journal/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/support.png differ diff --git a/account_restrict_journal/static/description/assets/misc/tick-mark.svg b/account_restrict_journal/static/description/assets/misc/tick-mark.svg new file mode 100644 index 000000000..2dbb40187 --- /dev/null +++ b/account_restrict_journal/static/description/assets/misc/tick-mark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/account_restrict_journal/static/description/assets/misc/whatsapp 1.svg b/account_restrict_journal/static/description/assets/misc/whatsapp 1.svg new file mode 100644 index 000000000..0bfaf8fc6 --- /dev/null +++ b/account_restrict_journal/static/description/assets/misc/whatsapp 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/account_restrict_journal/static/description/assets/misc/whatsapp.png b/account_restrict_journal/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/account_restrict_journal/static/description/assets/misc/whatsapp.png differ diff --git a/account_restrict_journal/static/description/assets/misc/whatsapp.svg b/account_restrict_journal/static/description/assets/misc/whatsapp.svg new file mode 100644 index 000000000..b618aea1d --- /dev/null +++ b/account_restrict_journal/static/description/assets/misc/whatsapp.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/account_restrict_journal/static/description/assets/modules/1.png b/account_restrict_journal/static/description/assets/modules/1.png new file mode 100644 index 000000000..d6b1fe049 Binary files /dev/null and b/account_restrict_journal/static/description/assets/modules/1.png differ diff --git a/account_restrict_journal/static/description/assets/modules/2.png b/account_restrict_journal/static/description/assets/modules/2.png new file mode 100644 index 000000000..8513873ea Binary files /dev/null and b/account_restrict_journal/static/description/assets/modules/2.png differ diff --git a/account_restrict_journal/static/description/assets/modules/3.png b/account_restrict_journal/static/description/assets/modules/3.png new file mode 100644 index 000000000..5141a7802 Binary files /dev/null and b/account_restrict_journal/static/description/assets/modules/3.png differ diff --git a/account_restrict_journal/static/description/assets/modules/4.png b/account_restrict_journal/static/description/assets/modules/4.png new file mode 100644 index 000000000..e9948d8a7 Binary files /dev/null and b/account_restrict_journal/static/description/assets/modules/4.png differ diff --git a/account_restrict_journal/static/description/assets/modules/5.png b/account_restrict_journal/static/description/assets/modules/5.png new file mode 100644 index 000000000..469963f22 Binary files /dev/null and b/account_restrict_journal/static/description/assets/modules/5.png differ diff --git a/account_restrict_journal/static/description/assets/modules/6.png b/account_restrict_journal/static/description/assets/modules/6.png new file mode 100644 index 000000000..7cdd530f0 Binary files /dev/null and b/account_restrict_journal/static/description/assets/modules/6.png differ diff --git a/account_restrict_journal/static/description/assets/screenshots/1.png b/account_restrict_journal/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..4116c98c9 Binary files /dev/null and b/account_restrict_journal/static/description/assets/screenshots/1.png differ diff --git a/account_restrict_journal/static/description/assets/screenshots/2.png b/account_restrict_journal/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..5c5c2b8f3 Binary files /dev/null and b/account_restrict_journal/static/description/assets/screenshots/2.png differ diff --git a/account_restrict_journal/static/description/assets/screenshots/3.png b/account_restrict_journal/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..e504f60fa Binary files /dev/null and b/account_restrict_journal/static/description/assets/screenshots/3.png differ diff --git a/account_restrict_journal/static/description/assets/screenshots/4.png b/account_restrict_journal/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..3952a82e5 Binary files /dev/null and b/account_restrict_journal/static/description/assets/screenshots/4.png differ diff --git a/account_restrict_journal/static/description/assets/screenshots/5.png b/account_restrict_journal/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..815af919b Binary files /dev/null and b/account_restrict_journal/static/description/assets/screenshots/5.png differ diff --git a/account_restrict_journal/static/description/assets/screenshots/6.png b/account_restrict_journal/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..442ba338e Binary files /dev/null and b/account_restrict_journal/static/description/assets/screenshots/6.png differ diff --git a/account_restrict_journal/static/description/assets/screenshots/7.png b/account_restrict_journal/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..8cf231b46 Binary files /dev/null and b/account_restrict_journal/static/description/assets/screenshots/7.png differ diff --git a/account_restrict_journal/static/description/assets/screenshots/8.png b/account_restrict_journal/static/description/assets/screenshots/8.png new file mode 100644 index 000000000..9ceac7bac Binary files /dev/null and b/account_restrict_journal/static/description/assets/screenshots/8.png differ diff --git a/account_restrict_journal/static/description/assets/screenshots/hero.png b/account_restrict_journal/static/description/assets/screenshots/hero.png new file mode 100644 index 000000000..a3a3ba8eb Binary files /dev/null and b/account_restrict_journal/static/description/assets/screenshots/hero.png differ diff --git a/account_restrict_journal/static/description/banner.jpg b/account_restrict_journal/static/description/banner.jpg new file mode 100644 index 000000000..8d19b07ad Binary files /dev/null and b/account_restrict_journal/static/description/banner.jpg differ diff --git a/account_restrict_journal/static/description/icon.png b/account_restrict_journal/static/description/icon.png new file mode 100644 index 000000000..2e6c22f2b Binary files /dev/null and b/account_restrict_journal/static/description/icon.png differ diff --git a/account_restrict_journal/static/description/index.html b/account_restrict_journal/static/description/index.html new file mode 100644 index 000000000..36f366020 --- /dev/null +++ b/account_restrict_journal/static/description/index.html @@ -0,0 +1,745 @@ + + + + + + + Odoo App 3 Index + + + + + + + + +
+
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+
+
+
+
+
+

Restrict Journal for Users

+

+ Journal Entry Restriction for Users +

+
+ +
+
+
+
+
+

+ Key Highlights +

+
+
+
+
+
+ +
+
+

+ Restrict journals

+
+
+
+
+
+
+ +
+
+

+ Users can access the journals which are not restricted

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

+ Go to Settings -> Users -> You can see a checkbox to enable Restrict Journals, after enabling this a page will be visible.

+
+
+
+
+
+
+ +
+
+

+ Go to Settings -> Users -> You can see new page Restricted Journal, where you can select Restricted Journals. +

+
+
+
+
+
+
+ +
+
+

+ Log in with the user. We have already restricted access to Customer Invoices for this user, so the journal is hidden during invoice creation. Without using any journal entry, we cannot create any records here. +

+
+
+
+
+
+
+ +
+
+

+ Also have other journal related to the journal type as Sale on Journals, so we can select it from the selection field and create new record.

+
+
+
+
+
+
+ +
+
+

+ We can Confirm the order and can do the Register Payment. On the popup window, the Bank Journal is hidden and only see the Cash Journal here. +

+
+
+
+
+
+
+ +
+
+

+ On the list view we can see the all invoices. +

+
+
+
+
+
+
+ +
+
+

+ A Validation Error will be shown for the records with restricted journals. +

+
+
+
+
+
+
+ +
+
+

+ Go to Account -> Vendors/Customers -> Payment restricted journals can't access for that user. +

+
+
+
+
+
+
+
    +
  • + Restrict journals for users +
  • +
  • + Users can access the journals which are not restricted +
  • +
  • + Available in Odoo 17.0 Community & Enterprise +
  • +
+
+
+
+
+
+
Version + 17.0.1.0.0|Released on: 11th July 2024 +
+

+ Initial Commit for Restrict Journal for Users.

+
+
+
+
+
+
+
+

+ Related Products

+
+
+ +
+
+

+ Our Services

+ +
+
+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Customization

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Implementation

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Support

+
+
+
+
+
+
+ service-icon +
+
+

Hire + Odoo Developer

+
+
+
+
+ +
+
+ service-icon +
+
+

Odoo + Integration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Migration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Consultancy

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Implementation

+
+
+
+
+
+
+ service-icon +
+
+

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 + 99456767686 +
+
+
+
+
+
+
+
+
+ + + + + + diff --git a/account_restrict_journal/views/account_move_views.xml b/account_restrict_journal/views/account_move_views.xml new file mode 100644 index 000000000..968340bd0 --- /dev/null +++ b/account_restrict_journal/views/account_move_views.xml @@ -0,0 +1,18 @@ + + + + + account.move.form.inherit.account.restrict.journal + account.move + extension + + + + + + + + + diff --git a/account_restrict_journal/views/res_users_views.xml b/account_restrict_journal/views/res_users_views.xml new file mode 100644 index 000000000..e002e5bed --- /dev/null +++ b/account_restrict_journal/views/res_users_views.xml @@ -0,0 +1,20 @@ + + + + + res.users.form.inherit.account.restrict.journal + res.users + extension + + + + + + + + + + + + + diff --git a/account_restrict_journal/wizard/__init__.py b/account_restrict_journal/wizard/__init__.py new file mode 100644 index 000000000..153d70ceb --- /dev/null +++ b/account_restrict_journal/wizard/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import account_payment_register diff --git a/account_restrict_journal/wizard/account_payment_register.py b/account_restrict_journal/wizard/account_payment_register.py new file mode 100644 index 000000000..24a294f67 --- /dev/null +++ b/account_restrict_journal/wizard/account_payment_register.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, models + + +class AccountPaymentRegister(models.TransientModel): + """ Adding allowed journal in functionality""" + _inherit = 'account.payment.register' + + @api.depends('payment_type', 'company_id', 'can_edit_wizard') + def _compute_available_journal_ids(self): + """ + Check all available journals on register payment. + """ + for wizard in self: + if wizard.can_edit_wizard: + batch = wizard._get_batches()[0] + wizard.available_journal_ids = wizard._get_batch_available_journals(batch) + else: + wizard.available_journal_ids = self.env['account.journal'].search( + [('company_id', '=', wizard.company_id.id), + ('type', 'in', ('bank', 'cash')), + ('id', 'not in', self.env.user.journal_ids.ids)]) + + @api.model + def _get_batch_available_journals(self, batch_result): + """ Helper to compute the available journals based on the batch. + + :param batch_result: A batch returned by '_get_batches'. + :return: A recordset of account.journal. + """ + payment_type = batch_result['payment_values']['payment_type'] + company = batch_result['lines'].company_id + journals = self.env['account.journal'].search( + [('company_id', '=', company.id), ('type', 'in', ('bank', 'cash')), + ('id', 'not in', self.env.user.journal_ids.ids)]) + if payment_type == 'inbound': + return journals.filtered('inbound_payment_method_line_ids') + else: + return journals.filtered('outbound_payment_method_line_ids')