models.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. function pos_restaurant_table_management_models(instance, module){
  2. var QWeb = instance.web.qweb;
  3. _t = instance.web._t;
  4. // M-1
  5. // Menambahkan object baru pos.floor ke model POS
  6. module.PosModel.prototype.models.push({
  7. model: "pos.floor", // Nama model baru yang dibuat
  8. fields: ["name"], // Fields yang akan dipanggil
  9. domain: function(self){ return [["id", "in", self.config.floor_ids]]}, // Domain
  10. loaded: function(self, floors){ // Fungsi ketika di model ini diload oleh JS
  11. // Jika FloorPlan == True
  12. if(self.config.iface_floorplan){
  13. self.floors = floors; // Mendefinisikan variabel floors
  14. // Menampung data floors yang diload pada floor_list
  15. self.set({
  16. 'floor_list' : floors
  17. })
  18. }// Jika FloorPlan == False
  19. else{
  20. self.set({'floor_list' :[]});
  21. }
  22. },
  23. });
  24. // M-2
  25. // Menambahkan object baru pos.table ke model POS
  26. module.PosModel.prototype.models.push({
  27. model: "pos.table",
  28. fields: ["name", "capacity", "state", "floor_id"],
  29. domain: function(self){ return [["floor_id", "in", self.config.floor_ids]]},
  30. loaded: function(self, tables){
  31. // Jika FloorPlan == True
  32. if(self.config.iface_floorplan){
  33. self.tables = tables;
  34. self.db.add_tables(tables);
  35. }
  36. },
  37. });
  38. // M-3
  39. // Menambahkan fungsi set_table pada module Order
  40. var _super = module.Order;
  41. module.Order = module.Order.extend({
  42. // M-3.1
  43. // Membuat Fungsi untuk menampung data ID Table
  44. set_table: function(table){
  45. this.set('table',table);
  46. },
  47. // M-3.2
  48. // Membuat Fungsi untuk mengambil data ID Table
  49. get_table: function(){
  50. return this.get('table');
  51. },
  52. // M-3.3
  53. // Membuat Fungsi untuk mengambil nama Table
  54. // Fungsi ini dipakai pada /src/xml/pos_table_management.xml
  55. // Lihat T-7
  56. get_table_name: function(){
  57. var table = this.get('table');
  58. return table ? table.name : "";
  59. },
  60. // M-3.4
  61. // Inherit Fungsi export_as_JSON
  62. // Fungsi ini digunakan untuk mengeksport data yang akan dimasukan ke object pos.order
  63. export_as_JSON: function(){
  64. var json = _super.prototype.export_as_JSON.apply(this,arguments);
  65. // Menambahkan variabel tabel
  66. json.table = this.get_table();
  67. return json;
  68. },
  69. })
  70. };