Guest User

Untitled

a guest
Jan 16th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. Problem: Table displays properly with bills under it correctly. What isn't working is the payments for the bills. It seems like when i #each payments... payments is undefined
  2.  
  3.  
  4. ### Template:
  5.  
  6.  
  7. {{#view Restaurant.TableDetailView contentBinding="Restaurant.data.table"}}
  8. <div>Table: {{content.name}} - {{content._id}}</div>
  9. <div>
  10. Bills:
  11. {{log content.bills}}
  12. {{#each content.bills}}
  13. Bill: {{_id}}}
  14. Payments:
  15. {{log payments}}
  16. {{#each payments}}
  17. Payment: {{amount}} - {{_id}}
  18. {{/each}}
  19. Items:
  20. {{/each}}
  21. </div>
  22. {{view Restaurant.TableDetailView.BackButton class="btn primary"}}
  23. {{/view}}
  24.  
  25. ### View:
  26.  
  27.  
  28. Restaurant.TableDetailView = SC.View.extend({
  29. isVisible: NO,
  30. isVisibleBinding: "Restaurant.displayController.tableIsVisible"
  31. });
  32.  
  33. ### Table Model:
  34.  
  35. Restaurant.Table = Restaurant.Record.extend({
  36. name: SC.Record.attr(String),
  37. _bills: SC.Record.toMany('Restaurant.Bill', {
  38. inverse: 'table'
  39. }),
  40. bills: (function() {
  41. var billQuery;
  42. console.log('loading bills');
  43. billQuery = SC.Query.local(Restaurant.Bill, {
  44. conditions: 'open = {open} AND table = {table}',
  45. parameters: {
  46. table: this,
  47. open: true
  48. }
  49. });
  50. return Restaurant.store.find(billQuery);
  51. }).property('_bills')
  52. });
  53. Restaurant.Table.reopenClass({
  54. resource: 'tables'
  55. });
  56.  
  57.  
  58. ### Bill Model:
  59.  
  60. Restaurant.Bill = Restaurant.Record.extend({
  61. tip: SC.Record.attr(Number),
  62. created_at: SC.Record.attr(SC.DateTime),
  63. updated_at: SC.Record.attr(SC.DateTime),
  64. closed_at: SC.Record.attr(SC.DateTime),
  65. server: SC.Record.toOne('Restaurant.Server', {
  66. key: 'server_id',
  67. inverse: '_bills'
  68. }),
  69. table: SC.Record.toOne('Restaurant.Table', {
  70. key: 'table_id',
  71. inverse: '_bills'
  72. }),
  73. customer: SC.Record.toOne('Restaurant.Customer', {
  74. key: 'customer_id',
  75. inverse: '_bills'
  76. }),
  77. _payments: SC.Record.toMany('Restaurant.Payment', {
  78. inverse: 'bill'
  79. }),
  80. _menu_items: SC.Record.toMany('Restaurant.menuItem', {
  81. inverse: 'bill'
  82. }),
  83. payments: (function() {
  84. var paymentQuery;
  85. console.log('loading related payments');
  86. paymentQuery = SC.Query.local(Restaurant.Payment, {
  87. conditions: 'bill = {bill}',
  88. parameters: {
  89. bill: this
  90. }
  91. });
  92. return Restaurant.store.find(paymentQuery);
  93. }).property('_payments'),
  94. menu_items: (function() {
  95. var menu_itemQuery;
  96. menu_itemQuery = SC.Query.local(Restaurant.MenuItem, {
  97. conditions: 'bill = {bill}',
  98. parameters: {
  99. bill: this
  100. }
  101. });
  102. return Restaurant.store.find(menu_itemQuery);
  103. }).property('_menu_items')
  104. });
  105. Restaurant.Bill.reopenClass({
  106. resource: 'bills'
  107. });
  108.  
  109.  
  110. #### Payment Model:
  111.  
  112.  
  113. Restaurant.Payment = Restaurant.Record.extend({
  114. amount: SC.Record.attr(Number),
  115. type: SC.Record.attr(String),
  116. serialized: SC.Record.attr(String),
  117. created_at: SC.Record.attr(SC.DateTime),
  118. updated_at: SC.Record.attr(SC.DateTime),
  119. bill: SC.Record.toOne('Restaurant.Bill', {
  120. key: 'bill_id',
  121. inverse: '_payments'
  122. })
  123. });
  124. Restaurant.Payment.reopenClass({
  125. resource: 'payments'
  126. });
Add Comment
Please, Sign In to add comment