Przeglądaj źródła

[ADD]添加hostel_amenities.py模型,更新hostel_room.py文件,添加模型和类方法

longyuan 1 miesiąc temu
rodzic
commit
2d5a3ea5e4
1 zmienionych plików z 24 dodań i 0 usunięć
  1. 24 0
      models/hostel_room.py

+ 24 - 0
models/hostel_room.py

@@ -27,4 +27,28 @@ class HostelRoom(models.Model):
     
     hostel_amenities_ids = fields.Many2many("hostel.amenities", "hostel_room_amenities_rel", "room_id", "amenitily_id",
     string="设施", domain="[('active', '=', True)]", help="选择宿舍设施")
+    # 添加状态字段
+    state = fields.Selection([('draft', 'Unavailable'), ('available', 'Available'), ('closed', 'Closed')],
+                              'State', default='draft')
 
+    @api.model
+    def is_allowed_transition(self, old_state, new_state):
+        allowed = {
+            'draft': ['available'],
+            'available': ['closed'],
+            'closed': []
+        }
+        return (old_state, new_state) in allowed
+
+    def change_state(self, new_state):
+        for room in self:
+            if room.is_allowed_transition(room.state, new_state):
+                room.state = new_state
+            else:
+                continue
+
+    def make_availabel(self):
+        self.change_state('available')
+
+    def make_closed(self):
+        self.change_state('closed')