api books

This commit is contained in:
XuanHuyen
2025-03-08 10:00:27 +07:00
parent f340de4a96
commit a9f51b5647
7 changed files with 73 additions and 37 deletions
+19 -9
View File
@@ -1,5 +1,6 @@
from odoo import fields, models
from odoo.exceptions import UserError
from datetime import date
class LibraryBook(models.Model):
_name = "library.book"
@@ -12,14 +13,23 @@ class LibraryBook(models.Model):
price = fields.Float(string="Giá sách")
borrowed_by = fields.Many2one("library.member", string="Được mượn bởi")
return_date = fields.Date(string="Ngày trả")
state = fields.Selection([
('available', 'Có sẵn'),
('borrowed', 'Đã mượn'),
('overdue', 'Quá hạn')
], string='State', default='available')
def action_mark_as_borrowed(self):
if self.borrowed_by:
raise UserError("Sách này đã được mượn rồi!")
return {
'name': 'Select Member',
'type': 'ir.actions.act_window',
'res_model': 'library.member',
'view_mode': 'form',
'target': 'new'
}
for book in self:
if book.borrowed_by:
raise UserError("Sách này đã được mượn!")
else:
book.borrowed_by = self.env.user.partner_id.id
def update_book_status(self):
books = self.search([
('return_date', '<', date.today()),
('state', '=', 'borrowed')
])
books.write({'state': 'overdue'})