diff --git a/addons_library/library_extensions/__init__.py b/addons_library/library_extensions/__init__.py new file mode 100644 index 0000000..cde864b --- /dev/null +++ b/addons_library/library_extensions/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models diff --git a/addons_library/library_extensions/__manifest__.py b/addons_library/library_extensions/__manifest__.py new file mode 100644 index 0000000..711392b --- /dev/null +++ b/addons_library/library_extensions/__manifest__.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +{ + "name": "Library Extensions", #Changed from Library + "version": "17.0.1.0", + "depends": [ + "base", + "library" + + ], + "external_dependencies": {}, + "author": "Odev Solutions", + "website": "https://www.odevsolutions.com", + "summary": """Library""", + "description": """ + Library + """, + "category": "Extra Tools", + "data": [ + "security/ir.model.access.csv", + "views/library_book_category_views.xml", # Added + "views/library_book_views.xml", + "views/library_menus.xml", + + ], + "installable": True, + "application": False, +} diff --git a/addons_library/library_extensions/models/__init__.py b/addons_library/library_extensions/models/__init__.py new file mode 100644 index 0000000..07a8257 --- /dev/null +++ b/addons_library/library_extensions/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import library_book +from . import library_book_category \ No newline at end of file diff --git a/addons_library/library_extensions/models/library_book.py b/addons_library/library_extensions/models/library_book.py new file mode 100644 index 0000000..78d0ae2 --- /dev/null +++ b/addons_library/library_extensions/models/library_book.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api + + +class LibraryBook(models.Model): + _inherit = "library.book" + + # Task 2: Added Author field + author_id = fields.Many2one( + 'res.partner', + string="Author", + required=True + ) + + # Task 3: Added Category field + category_ids = fields.Many2many( + 'library.book.category', + string="Categories" + ) + + ###################### + # Fields declaration # + ###################### + + ############################## + # Compute and search methods # + ############################## + + ############################ + # Constrains and onchanges # + ############################ + + ######################### + # CRUD method overrides # + ######################### + + ################## + # Action methods # + ################## + + #################### + # Business methods # + #################### diff --git a/addons_library/library_extensions/models/library_book_category.py b/addons_library/library_extensions/models/library_book_category.py new file mode 100644 index 0000000..8c6e0ff --- /dev/null +++ b/addons_library/library_extensions/models/library_book_category.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +import random # <--- #Newly Added Import +from odoo import models, fields + +class LibraryBookCategory(models.Model): + _name = "library.book.category" + _description = "Book Category" + + name = fields.Char(string="Name", required=True) + # Added to fix error when adding category for adding a book entry. + color = fields.Integer( + string="Color Index", + default=lambda self: random.randint(1, 11) + ) + + _sql_constraints = [ + ('name_unique', 'unique(name)', 'The category name must be unique!') + ] \ No newline at end of file diff --git a/addons_library/library_extensions/security/ir.model.access.csv b/addons_library/library_extensions/security/ir.model.access.csv new file mode 100644 index 0000000..ddf2c71 --- /dev/null +++ b/addons_library/library_extensions/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink +access_library_book_admin,access.library.book.admin,model_library_book,base.group_system,1,1,1,1 +access_library_book_category_admin,access.library.book.category.admin,model_library_book_category,base.group_system,1,1,1,1 \ No newline at end of file diff --git a/addons_library/library_extensions/views/library_book_category_views.xml b/addons_library/library_extensions/views/library_book_category_views.xml new file mode 100644 index 0000000..b28f3b3 --- /dev/null +++ b/addons_library/library_extensions/views/library_book_category_views.xml @@ -0,0 +1,18 @@ + + + + library.book.category.view.tree + library.book.category + + + + + + + + + Book Categories + library.book.category + tree,form + + \ No newline at end of file diff --git a/addons_library/library_extensions/views/library_book_views.xml b/addons_library/library_extensions/views/library_book_views.xml new file mode 100644 index 0000000..ebef440 --- /dev/null +++ b/addons_library/library_extensions/views/library_book_views.xml @@ -0,0 +1,26 @@ + + + + library.book.view.tree.inherit + library.book + + + + + + + + + + + library.book.view.form.inherit + library.book + + + + + + + + + \ No newline at end of file diff --git a/addons_library/library_extensions/views/library_menus.xml b/addons_library/library_extensions/views/library_menus.xml new file mode 100644 index 0000000..789f453 --- /dev/null +++ b/addons_library/library_extensions/views/library_menus.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/config/odoo.conf b/config/odoo.conf index f521d20..584d9f1 100644 --- a/config/odoo.conf +++ b/config/odoo.conf @@ -2,4 +2,5 @@ addons_path = /mnt/addons_library data_dir = /var/lib/odoo proxy_mode = True +admin_passwd = $pbkdf2-sha512$600000$qzVGiBFCKGXs/d8bw7hXSg$UGyJ64Y/mFFkfgR3anPkDmOeX5CSoOHSogy5dEEnUz96zpW5q34gTPr21/SAka/5XFPpTlfpdo0E9VWqXjjA4w