diff --git a/import_user_excel/README.rst b/import_user_excel/README.rst new file mode 100644 index 000000000..a5401d046 --- /dev/null +++ b/import_user_excel/README.rst @@ -0,0 +1,44 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Import User with Access Rights +============================== +Allows to import User with User type and Access rights + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +General Public License, Version 3 (AGPL v3). +(http://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +Developer: (V16)Ammu, + (V17)Akhil Ashok, + 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: ``__ diff --git a/import_user_excel/__init__.py b/import_user_excel/__init__.py new file mode 100644 index 000000000..8c24aad03 --- /dev/null +++ b/import_user_excel/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Akhil Ashok (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 wizard diff --git a/import_user_excel/__manifest__.py b/import_user_excel/__manifest__.py new file mode 100644 index 000000000..c96039e48 --- /dev/null +++ b/import_user_excel/__manifest__.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Akhil Ashok (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': 'Import User with Access rights', + 'category': 'Extra Tools', + 'version': '17.0.1.0.0', + 'summary': 'Import User details with Access rights by Excel', + 'description': """Allows to import User with User type and Access rights""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'license': 'AGPL-3', + 'depends': ['base'], + 'data': [ + 'security/ir.model.access.csv', + 'wizard/user_import_views.xml', + ], + 'images': ['static/description/banner.jpg'], + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/import_user_excel/doc/RELEASE_NOTES.md b/import_user_excel/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..2a9f67a30 --- /dev/null +++ b/import_user_excel/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 20.04.2024 +#### Version 17.0.1.0.0 +#### ADD +- Initial commit for Import User with Access rights diff --git a/import_user_excel/sample_file/user_import.xlsx b/import_user_excel/sample_file/user_import.xlsx new file mode 100644 index 000000000..afc12affb Binary files /dev/null and b/import_user_excel/sample_file/user_import.xlsx differ diff --git a/import_user_excel/security/ir.model.access.csv b/import_user_excel/security/ir.model.access.csv new file mode 100644 index 000000000..6507e3040 --- /dev/null +++ b/import_user_excel/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_product_import_user_import,user_import.user_import,model_user_import,base.group_user,1,1,1,1 diff --git a/import_user_excel/static/description/assets/icons/capture (1).png b/import_user_excel/static/description/assets/icons/capture (1).png new file mode 100644 index 000000000..8824deafc Binary files /dev/null and b/import_user_excel/static/description/assets/icons/capture (1).png differ diff --git a/import_user_excel/static/description/assets/icons/check.png b/import_user_excel/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/import_user_excel/static/description/assets/icons/check.png differ diff --git a/import_user_excel/static/description/assets/icons/chevron.png b/import_user_excel/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/import_user_excel/static/description/assets/icons/chevron.png differ diff --git a/import_user_excel/static/description/assets/icons/cogs.png b/import_user_excel/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/import_user_excel/static/description/assets/icons/cogs.png differ diff --git a/import_user_excel/static/description/assets/icons/consultation.png b/import_user_excel/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/import_user_excel/static/description/assets/icons/consultation.png differ diff --git a/import_user_excel/static/description/assets/icons/ecom-black.png b/import_user_excel/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/import_user_excel/static/description/assets/icons/ecom-black.png differ diff --git a/import_user_excel/static/description/assets/icons/education-black.png b/import_user_excel/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/import_user_excel/static/description/assets/icons/education-black.png differ diff --git a/import_user_excel/static/description/assets/icons/hotel-black.png b/import_user_excel/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/import_user_excel/static/description/assets/icons/hotel-black.png differ diff --git a/import_user_excel/static/description/assets/icons/img.png b/import_user_excel/static/description/assets/icons/img.png new file mode 100644 index 000000000..70197f477 Binary files /dev/null and b/import_user_excel/static/description/assets/icons/img.png differ diff --git a/import_user_excel/static/description/assets/icons/license.png b/import_user_excel/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/import_user_excel/static/description/assets/icons/license.png differ diff --git a/import_user_excel/static/description/assets/icons/lifebuoy.png b/import_user_excel/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/import_user_excel/static/description/assets/icons/lifebuoy.png differ diff --git a/import_user_excel/static/description/assets/icons/manufacturing-black.png b/import_user_excel/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/import_user_excel/static/description/assets/icons/manufacturing-black.png differ diff --git a/import_user_excel/static/description/assets/icons/photo-capture.png b/import_user_excel/static/description/assets/icons/photo-capture.png new file mode 100644 index 000000000..06c111758 Binary files /dev/null and b/import_user_excel/static/description/assets/icons/photo-capture.png differ diff --git a/import_user_excel/static/description/assets/icons/pos-black.png b/import_user_excel/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/import_user_excel/static/description/assets/icons/pos-black.png differ diff --git a/import_user_excel/static/description/assets/icons/puzzle.png b/import_user_excel/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/import_user_excel/static/description/assets/icons/puzzle.png differ diff --git a/import_user_excel/static/description/assets/icons/restaurant-black.png b/import_user_excel/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/import_user_excel/static/description/assets/icons/restaurant-black.png differ diff --git a/import_user_excel/static/description/assets/icons/service-black.png b/import_user_excel/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/import_user_excel/static/description/assets/icons/service-black.png differ diff --git a/import_user_excel/static/description/assets/icons/trading-black.png b/import_user_excel/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/import_user_excel/static/description/assets/icons/trading-black.png differ diff --git a/import_user_excel/static/description/assets/icons/training.png b/import_user_excel/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/import_user_excel/static/description/assets/icons/training.png differ diff --git a/import_user_excel/static/description/assets/icons/update.png b/import_user_excel/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/import_user_excel/static/description/assets/icons/update.png differ diff --git a/import_user_excel/static/description/assets/icons/user.png b/import_user_excel/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/import_user_excel/static/description/assets/icons/user.png differ diff --git a/import_user_excel/static/description/assets/icons/wrench.png b/import_user_excel/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/import_user_excel/static/description/assets/icons/wrench.png differ diff --git a/import_user_excel/static/description/assets/misc/Cybrosys R.png b/import_user_excel/static/description/assets/misc/Cybrosys R.png new file mode 100644 index 000000000..da4058087 Binary files /dev/null and b/import_user_excel/static/description/assets/misc/Cybrosys R.png differ diff --git a/import_user_excel/static/description/assets/misc/email.svg b/import_user_excel/static/description/assets/misc/email.svg new file mode 100644 index 000000000..15291cdc3 --- /dev/null +++ b/import_user_excel/static/description/assets/misc/email.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/import_user_excel/static/description/assets/misc/phone.svg b/import_user_excel/static/description/assets/misc/phone.svg new file mode 100644 index 000000000..b7bd7f251 --- /dev/null +++ b/import_user_excel/static/description/assets/misc/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/import_user_excel/static/description/assets/misc/star (1) 2.svg b/import_user_excel/static/description/assets/misc/star (1) 2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/import_user_excel/static/description/assets/misc/star (1) 2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/import_user_excel/static/description/assets/misc/support (1) 1.svg b/import_user_excel/static/description/assets/misc/support (1) 1.svg new file mode 100644 index 000000000..7d37a8f30 --- /dev/null +++ b/import_user_excel/static/description/assets/misc/support (1) 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/import_user_excel/static/description/assets/misc/support-email.svg b/import_user_excel/static/description/assets/misc/support-email.svg new file mode 100644 index 000000000..eb70370d6 --- /dev/null +++ b/import_user_excel/static/description/assets/misc/support-email.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/import_user_excel/static/description/assets/misc/tick-mark.svg b/import_user_excel/static/description/assets/misc/tick-mark.svg new file mode 100644 index 000000000..2dbb40187 --- /dev/null +++ b/import_user_excel/static/description/assets/misc/tick-mark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/import_user_excel/static/description/assets/misc/whatsapp 1.svg b/import_user_excel/static/description/assets/misc/whatsapp 1.svg new file mode 100644 index 000000000..0bfaf8fc6 --- /dev/null +++ b/import_user_excel/static/description/assets/misc/whatsapp 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/import_user_excel/static/description/assets/misc/whatsapp.svg b/import_user_excel/static/description/assets/misc/whatsapp.svg new file mode 100644 index 000000000..b618aea1d --- /dev/null +++ b/import_user_excel/static/description/assets/misc/whatsapp.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/import_user_excel/static/description/assets/modules/1.gif b/import_user_excel/static/description/assets/modules/1.gif new file mode 100644 index 000000000..ae3a880a2 Binary files /dev/null and b/import_user_excel/static/description/assets/modules/1.gif differ diff --git a/import_user_excel/static/description/assets/modules/1.png b/import_user_excel/static/description/assets/modules/1.png new file mode 100644 index 000000000..d0f36b007 Binary files /dev/null and b/import_user_excel/static/description/assets/modules/1.png differ diff --git a/import_user_excel/static/description/assets/modules/2.png b/import_user_excel/static/description/assets/modules/2.png new file mode 100644 index 000000000..8513873ea Binary files /dev/null and b/import_user_excel/static/description/assets/modules/2.png differ diff --git a/import_user_excel/static/description/assets/modules/3.png b/import_user_excel/static/description/assets/modules/3.png new file mode 100644 index 000000000..cb17cf612 Binary files /dev/null and b/import_user_excel/static/description/assets/modules/3.png differ diff --git a/import_user_excel/static/description/assets/modules/4.jpg b/import_user_excel/static/description/assets/modules/4.jpg new file mode 100644 index 000000000..67c7f7062 Binary files /dev/null and b/import_user_excel/static/description/assets/modules/4.jpg differ diff --git a/import_user_excel/static/description/assets/modules/5.jpg b/import_user_excel/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..5141a7802 Binary files /dev/null and b/import_user_excel/static/description/assets/modules/5.jpg differ diff --git a/import_user_excel/static/description/assets/modules/6.png b/import_user_excel/static/description/assets/modules/6.png new file mode 100644 index 000000000..0e311ca87 Binary files /dev/null and b/import_user_excel/static/description/assets/modules/6.png differ diff --git a/import_user_excel/static/description/assets/modules/l2.png b/import_user_excel/static/description/assets/modules/l2.png new file mode 100644 index 000000000..f40a0756d Binary files /dev/null and b/import_user_excel/static/description/assets/modules/l2.png differ diff --git a/import_user_excel/static/description/assets/modules/l3.png b/import_user_excel/static/description/assets/modules/l3.png new file mode 100644 index 000000000..5738a486e Binary files /dev/null and b/import_user_excel/static/description/assets/modules/l3.png differ diff --git a/import_user_excel/static/description/assets/modules/l4.png b/import_user_excel/static/description/assets/modules/l4.png new file mode 100644 index 000000000..8d99e8c68 Binary files /dev/null and b/import_user_excel/static/description/assets/modules/l4.png differ diff --git a/import_user_excel/static/description/assets/modules/l5.png b/import_user_excel/static/description/assets/modules/l5.png new file mode 100644 index 000000000..3415917c2 Binary files /dev/null and b/import_user_excel/static/description/assets/modules/l5.png differ diff --git a/import_user_excel/static/description/assets/modules/l6.png b/import_user_excel/static/description/assets/modules/l6.png new file mode 100644 index 000000000..c7ea331ee Binary files /dev/null and b/import_user_excel/static/description/assets/modules/l6.png differ diff --git a/import_user_excel/static/description/assets/screenshots/1.png b/import_user_excel/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..6705ef9b2 Binary files /dev/null and b/import_user_excel/static/description/assets/screenshots/1.png differ diff --git a/import_user_excel/static/description/assets/screenshots/2.png b/import_user_excel/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..256a9691b Binary files /dev/null and b/import_user_excel/static/description/assets/screenshots/2.png differ diff --git a/import_user_excel/static/description/assets/screenshots/4.png b/import_user_excel/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..fc38d78d5 Binary files /dev/null and b/import_user_excel/static/description/assets/screenshots/4.png differ diff --git a/import_user_excel/static/description/assets/screenshots/5.png b/import_user_excel/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..fffc2dca5 Binary files /dev/null and b/import_user_excel/static/description/assets/screenshots/5.png differ diff --git a/import_user_excel/static/description/assets/screenshots/6.png b/import_user_excel/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..5a9cd351b Binary files /dev/null and b/import_user_excel/static/description/assets/screenshots/6.png differ diff --git a/import_user_excel/static/description/assets/screenshots/7.png b/import_user_excel/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..c3d9e686b Binary files /dev/null and b/import_user_excel/static/description/assets/screenshots/7.png differ diff --git a/import_user_excel/static/description/assets/screenshots/8.png b/import_user_excel/static/description/assets/screenshots/8.png new file mode 100644 index 000000000..8fd491b2c Binary files /dev/null and b/import_user_excel/static/description/assets/screenshots/8.png differ diff --git a/import_user_excel/static/description/assets/screenshots/hero.gif b/import_user_excel/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..90c57b162 Binary files /dev/null and b/import_user_excel/static/description/assets/screenshots/hero.gif differ diff --git a/import_user_excel/static/description/banner.jpg b/import_user_excel/static/description/banner.jpg new file mode 100644 index 000000000..09ec23c13 Binary files /dev/null and b/import_user_excel/static/description/banner.jpg differ diff --git a/import_user_excel/static/description/icon.png b/import_user_excel/static/description/icon.png new file mode 100644 index 000000000..fdeec8c77 Binary files /dev/null and b/import_user_excel/static/description/icon.png differ diff --git a/import_user_excel/static/description/index.html b/import_user_excel/static/description/index.html new file mode 100644 index 000000000..e40f2a341 --- /dev/null +++ b/import_user_excel/static/description/index.html @@ -0,0 +1,656 @@ + + + + + + Odoo App 3 Index + + + + + + + + +
+
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+
+
+
+

+ Import User with Access rights

+

+ In default Odoo we need to configure users access rights after adding them into Odoo ERP system. This app allows to import users with UserName, Email ID, Language, User Type, Access Group, Access Technical Settings all these important fields. +

+
+ +
+
+
+
+
+

+ Key Highlights +

+
+
+
+
+
+ +
+
+

Import users with Excel file

+

Import users with UserName, Email ID, Language, User Type, Access Group, Access Technical Settings all these important fields. + A sample xlsx file is provided in the module's sample files directory. +

+
+
+
+
+
+
+ +
+
+

Validation Error when trying to import incorrect access rights or user types.

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

+ You can see the import user menu in Settings.

+
+
+
+
+
+
+ +
+
+

+ You can import the users from this wizard. You can upload the file here and click import button.

+
+
+
+
+
+
+ +
+
+

+ Excel Sheet

+
+
+
+
+
+
+ +
+
+

+ Imported Users-List View

+
+
+
+
+
+
+ +
+
+

+ Imported User

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

+ Validation Errors

+
+
+
+
+
+
+
    +
  • + Import users with Excel file. +
  • +
+
+
+
+
+
+
Version + 17.0.1.0.0|Released on:20th April 2024 +
+

+ Initial commit for Import User with Access rights.

+
+
+
+
+
+
+
+

+ 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 +
+
+
+
+
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/import_user_excel/wizard/__init__.py b/import_user_excel/wizard/__init__.py new file mode 100644 index 000000000..545ed60bd --- /dev/null +++ b/import_user_excel/wizard/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Akhil Ashok (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 user_import diff --git a/import_user_excel/wizard/user_import.py b/import_user_excel/wizard/user_import.py new file mode 100644 index 000000000..33b6a6ac1 --- /dev/null +++ b/import_user_excel/wizard/user_import.py @@ -0,0 +1,104 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Akhil Ashok (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 . +# +################################################################################ +import binascii +import tempfile +import xlrd + +from odoo import fields, models, _ +from odoo.exceptions import ValidationError + + +class UserImport(models.TransientModel): + """Import User with access right""" + _name = 'user.import' + _description = 'User Import' + + file = fields.Binary(string="Upload File", help='Upload the file here') + + def import_file(self): + """ function to import user from xlsx file """ + if self: + try: + file_string = tempfile.NamedTemporaryFile(suffix=".xlsx") + file_string.write(binascii.a2b_base64(self.file)) + book = xlrd.open_workbook(file_string.name) + sheet = book.sheet_by_index(0) + except Exception as e: + raise ValidationError( + _(f"Please choose the correct file: {str(e)}")) + startline = True + for i in range(sheet.nrows): + if startline: + startline = False + else: + line = list(sheet.row_values(i)) + res_lang = self.env['res.lang'] + res_groups = self.env['res.groups'] + res_company = self.env['res.company'] + user_type = [line[4]] + invalid_language = [lang for lang in [line[2]] if + not res_lang.search( + [('code', '=', lang), + ('active', '=', True)])] + if invalid_language: + raise ValidationError(_("Language %s is not active") % ( + " ".join(invalid_language))) + invalid_company = [res for res in [line[3]] if + not res_company.search( + [('name', '=', res)])] + if invalid_company: + raise ValidationError(_("Company %s not exists") % ( + " ".join(invalid_company))) + invalid_user = [rec for rec in user_type if + not res_groups.search( + [('full_name', '=', rec)])] + if invalid_user: + raise ValidationError(_("Invalid User Type %s") % ( + " ".join(invalid_user))) + if line[5]: + groups = line[5].split(",") + invalid_groups = [rec for rec in groups if + not res_groups.search( + [('full_name', '=', rec)])] + if invalid_groups: + raise ValidationError(_("Invalid groups %s") % ( + " ".join(invalid_groups))) + else: + groups = [] + access_right = res_groups.search( + [('full_name', 'in', groups)]).ids + tech_settings = line[6].split(',') + tech_settings += user_type + total_rights = res_groups.search( + [('name', '=', tech_settings)]).ids + group_ids = access_right + total_rights + if line[0]: + self.env['res.users'].create({ + 'name': line[0], + 'login': line[1], + 'lang': line[2], + 'company_id': self.env['res.company'].search( + [('name', '=', line[3])]).id if line[3] else '', + 'groups_id': group_ids, + }) + else: + raise ValidationError(_('Please Enter the User Name.')) diff --git a/import_user_excel/wizard/user_import_views.xml b/import_user_excel/wizard/user_import_views.xml new file mode 100644 index 000000000..737ef1d46 --- /dev/null +++ b/import_user_excel/wizard/user_import_views.xml @@ -0,0 +1,32 @@ + + + + + user.import.view.form + user.import + +
+ + + +
+
+
+
+
+ + + Import Users + user.import + ir.actions.act_window + tree,form + + new + + +