Chương 2: Một Ứng Dụng Mới

Mục đích của chương này là đặt nền tảng cho việc tạo ra một mô-đun SoOn hoàn toàn mới. Chúng tôi sẽ bắt đầu lại từ đầu với mức tối thiểu cần thiết để mô-đun của chúng tôi được SoOn công nhận. Trong các chương sắp tới, chúng tôi sẽ dần dần bổ sung các tính năng để xây dựng một đề án kinh doanh thực tế.

Mô-đun quảng cáo bất động sản

Mô-đun mới của chúng tôi sẽ đề cập đến một lĩnh vực kinh doanh rất cụ thể và do đó không có trong bộ mô-đun tiêu chuẩn: bất động sản. Điều đáng lưu ý là trước khi phát triển một mô-đun mới, bạn nên xác minh rằng SoOn chưa cung cấp cách trả lời cho trường hợp kinh doanh cụ thể.

Dưới đây là tổng quan về chế độ xem danh sách chính chứa một số quảng cáo:

Xem danh sách 01

Khu vực trên cùng của chế độ xem biểu mẫu tóm tắt thông tin quan trọng cho thuộc tính, chẳng hạn như tên, loại thuộc tính, mã bưu điện, v.v. Tab đầu tiên chứa thông tin mô tả căn hộ: phòng ngủ, khu vực sinh hoạt, gara, sân vườn...

Xem biểu mẫu 01

Tab thứ hai liệt kê các ưu đãi cho tài sản. Ở đây chúng ta có thể thấy rằng người mua tiềm năng có thể đưa ra mức giá cao hơn hoặc thấp hơn giá bán dự kiến. Việc chấp nhận lời đề nghị là tùy thuộc vào người bán.

Xem biểu mẫu 02

Đây là một video ngắn hiển thị quy trình làm việc của mô-đun.

Hy vọng video này sẽ sớm được ghi lại :-)

Chuẩn bị thư mục addon

Tham khảo: tài liệu liên quan đến chủ đề này có thể được tìm thấy trong manifest.

Ghi chú

Mục tiêu: mục tiêu của phần này là để SoOn nhận ra mô-đun mới của chúng tôi, mô-đun này hiện tại sẽ là một lớp vỏ trống. Nó sẽ được liệt kê trong Ứng dụng:

Mô-đun mới xuất hiện trong danh sách

Bước đầu tiên của việc tạo mô-đun là tạo thư mục của nó. Trong thư mục tutorials, thêm một thư mục mới estate.

Một mô-đun phải chứa ít nhất 2 tệp: tệp __manifest__.py và tệp __init__.py. Hiện tại, tệp __init__.py có thể vẫn trống và chúng ta sẽ quay lại vấn đề đó trong chương tiếp theo. Mặt khác, tệp __manifest__.py phải mô tả mô-đun của chúng tôi và không được để trống. Trường bắt buộc duy nhất của nó là tên, nhưng nó thường chứa nhiều thông tin hơn.

Hãy xem tệp CRM làm ví dụ. Ngoài việc cung cấp mô tả về mô-đun (tên, category, tóm tắt, trang web...), nó liệt kê các phụ thuộc của nó (phụ thuộc). Sự phụ thuộc có nghĩa là khung SoOn sẽ đảm bảo rằng các mô-đun này được cài đặt trước khi cài đặt mô-đun của chúng tôi. Hơn nữa, nếu một trong những phần phụ thuộc này bị gỡ cài đặt thì mô-đun của chúng tôi và bất kỳ phần phụ thuộc nào khác phụ thuộc vào nó cũng sẽ bị gỡ cài đặt. Hãy nghĩ về trình quản lý gói phân phối Linux yêu thích của bạn (apt, dnf, pacman...): SoOn hoạt động theo cách tương tự.

Exercise

Tạo các tập tin addon cần thiết.

Tạo các thư mục và tập tin sau:

  • /home/$USER/src/tutorials/estate/__init__.py

  • /home/$USER/src/tutorials/estate/__manifest__.py

Tệp __manifest__.py chỉ được xác định tên và phần phụ thuộc của các mô-đun của chúng tôi. Mô-đun khung cần thiết duy nhất hiện nay là base.

Khởi động lại máy chủ SoOn và truy cập Ứng dụng. Nhấp vào Cập nhật danh sách ứng dụng, tìm kiếm `` bất động sản`` và... tadaaa, mô-đun của bạn xuất hiện! Nó không xuất hiện à? Có thể thử xóa bộ lọc 'Ứng dụng' mặc định ;-)

Cảnh báo

Hãy nhớ bật chế độ nhà phát triển như đã giải thích ở chương trước. Nếu không, bạn sẽ không thấy nút Cập nhật danh sách ứng dụng.

Exercise

Biến mô-đun của bạn thành 'Ứng dụng'.

Thêm khóa thích hợp vào __manifest__.py của bạn để mô-đun xuất hiện khi bộ lọc 'Ứng dụng' được bật.

Bạn thậm chí có thể cài đặt mô-đun! Nhưng rõ ràng đó là một cái vỏ trống nên sẽ không có menu nào xuất hiện.

All good? If yes, then let's create our first model!