Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
- ### Template:
- {{#view Restaurant.TableDetailView contentBinding="Restaurant.data.table"}}
- <div>Table: {{content.name}} - {{content._id}}</div>
- <div>
- Bills:
- {{log content.bills}}
- {{#each content.bills}}
- Bill: {{_id}}}
- Payments:
- {{log payments}}
- {{#each payments}}
- Payment: {{amount}} - {{_id}}
- {{/each}}
- Items:
- {{/each}}
- </div>
- {{view Restaurant.TableDetailView.BackButton class="btn primary"}}
- {{/view}}
- ### View:
- Restaurant.TableDetailView = SC.View.extend({
- isVisible: NO,
- isVisibleBinding: "Restaurant.displayController.tableIsVisible"
- });
- ### Table Model:
- Restaurant.Table = Restaurant.Record.extend({
- name: SC.Record.attr(String),
- _bills: SC.Record.toMany('Restaurant.Bill', {
- inverse: 'table'
- }),
- bills: (function() {
- var billQuery;
- console.log('loading bills');
- billQuery = SC.Query.local(Restaurant.Bill, {
- conditions: 'open = {open} AND table = {table}',
- parameters: {
- table: this,
- open: true
- }
- });
- return Restaurant.store.find(billQuery);
- }).property('_bills')
- });
- Restaurant.Table.reopenClass({
- resource: 'tables'
- });
- ### Bill Model:
- Restaurant.Bill = Restaurant.Record.extend({
- tip: SC.Record.attr(Number),
- created_at: SC.Record.attr(SC.DateTime),
- updated_at: SC.Record.attr(SC.DateTime),
- closed_at: SC.Record.attr(SC.DateTime),
- server: SC.Record.toOne('Restaurant.Server', {
- key: 'server_id',
- inverse: '_bills'
- }),
- table: SC.Record.toOne('Restaurant.Table', {
- key: 'table_id',
- inverse: '_bills'
- }),
- customer: SC.Record.toOne('Restaurant.Customer', {
- key: 'customer_id',
- inverse: '_bills'
- }),
- _payments: SC.Record.toMany('Restaurant.Payment', {
- inverse: 'bill'
- }),
- _menu_items: SC.Record.toMany('Restaurant.menuItem', {
- inverse: 'bill'
- }),
- payments: (function() {
- var paymentQuery;
- console.log('loading related payments');
- paymentQuery = SC.Query.local(Restaurant.Payment, {
- conditions: 'bill = {bill}',
- parameters: {
- bill: this
- }
- });
- return Restaurant.store.find(paymentQuery);
- }).property('_payments'),
- menu_items: (function() {
- var menu_itemQuery;
- menu_itemQuery = SC.Query.local(Restaurant.MenuItem, {
- conditions: 'bill = {bill}',
- parameters: {
- bill: this
- }
- });
- return Restaurant.store.find(menu_itemQuery);
- }).property('_menu_items')
- });
- Restaurant.Bill.reopenClass({
- resource: 'bills'
- });
- #### Payment Model:
- Restaurant.Payment = Restaurant.Record.extend({
- amount: SC.Record.attr(Number),
- type: SC.Record.attr(String),
- serialized: SC.Record.attr(String),
- created_at: SC.Record.attr(SC.DateTime),
- updated_at: SC.Record.attr(SC.DateTime),
- bill: SC.Record.toOne('Restaurant.Bill', {
- key: 'bill_id',
- inverse: '_payments'
- })
- });
- Restaurant.Payment.reopenClass({
- resource: 'payments'
- });
Add Comment
Please, Sign In to add comment