It looks to me like your nesting in your template is wrong. Seems that
your {{pass}} statements are not where they should be. Based on how I'm
reading it, you'll only get a total if there are orders for room service.
You'll only get room service amounts if there are extra room bookings.
I'd do this:
<div>
<table>
<tr>
<th>Quantity</th>
<th>Description</th>
<th>Order Price</th>
<th>Value</th>
</tr>
<!------------------------Information for room service----------->
{{for invoice in room:}}
<tr>
<td>{{=invoice.No_Days}} (days)</td>
<td>{{=invoice.Room.Room_Number}}</td>
<td>BWP {{=invoice.roomAmount}}</td>
<td>BWP {{=invoice.Amount}}</td>
</tr>
<!---------------------------Information for an extra room
booking------------->
{{for add_r in add_room:}}
<tr>
<td>{{=add_r.No_Days}} (days)</td>
<td>{{=add_r.Room.Room_Number}}</td>
<td>BWP {{=add_r.roomAmount}}</td>
<td>BWP {{=add_r.Amount}}</td>
</tr>
{{pass}}
<!-----------------------------Information for miscellaneous
orders------------------------------>
{{for orders in room_service:}}
<tr>
<td>{{=orders.quantity}}</td>
<td>{{=orders.client_order}}</td>
<td>BWP {{=orders.price}}</td>
<td>BWP {{=orders.totalPrice}}</td>
</tr>
{{pass}}
{{
#Total Calculations of all services rendered
tourism_levy=10.00
total=float(invoice.Amount)+float(add_r.Amount)+float(orders.totalPrice)
totalPrice=float(invoice.Amount)+float(add_r.Amount)+float(orders.totalPrice)+tourism_levy
}}
<tr>
<!------------------------------------Display of total
calculations------------------------------------>
<td></td>
<td style="font-weight: bold; font-size: 14px; color:
black;" width: 29px;>(Levy EXCLUSIVE)</td>
<td style="font-weight: bold; font-size: 14px; color:
green;" width: 29px;>Sub-Total:</td>
<td style="font-weight: bold; font-size: 14px; color:
green;" width: 29px>BWP {{=total}}</td>
</tr>
<tr>
<td></td>
<td></td>
<td style="font-weight: bold; font-size: 14px; color: red;"
width: 29px;> Tourism Levy:</td>
<td style="font-weight: bold; font-size: 14px; color: red;"
width: 29px>BWP {{=tourism_levy}}</td>
</tr>
<tr>
<td></td>
<td style="font-weight: bold; font-size: 14px; color:
black;" width: 29px;>(Levy INCLUSIVE)</td>
<td style="font-weight: bold; font-size: 14px; color:
green;" width: 29px;>Total:</td>
<td style="font-weight: bold; font-size: 14px; color:
green;" width: 29px>BWP {{=totalPrice}}</td>
</tr>
{{pass}}
</table>
</div>
<br/>
-Jim
On Tuesday, November 30, 2021 at 12:58:23 AM UTC-6 mostwanted wrote:
> In my Guest House booking system I function that is intended to do invoice
> calculations for clients using values from different database tables &
> display the information in a table in the view.
>
> The problem now is some information is not being displayed in the table in
> the view when a client has not ordered some services. E.G;
>
> - When a client books in and just orders meals and does not request an
> extra room the meals information does not show in the invoice table only
> the room information displays but the total amount charges are not
> displayed.
> - When a client books a room and an extra room the total amount
> charges are not displayed.
> - Only when a client has booked a room, booked an extra room and
> ordered meals thats when all the information is displayed in the invoices
> including calculations.
>
> I am doing something wrong somewhere in my code but i can not figure it
> out. I need assistance.
>
> *CONTROLLER:*
> def viewInvoices():
> invoice=db.ClientDetails(request.args(0, cast=int))
> resCompany=db(db.my_company).select()
> room=db((db.book_client2.ClientDetails==invoice.id) &
> (db.book_client2.determinant==1)).select()
> add_room=db((db.additionalRooms2.book_client==invoice.id) &
> (db.additionalRooms2.determinant==1)).select()
> room_service=db((db.room_service_orders.customer==invoice.id)
> &(db.room_service_orders.determinant==1)).select()
> return locals()
>
> *VIEW:*
> <div>
> <table>
> <tr>
> <th>Quantity</th>
> <th>Description</th>
> <th>Order Price</th>
> <th>Value</th>
> </tr>
> <tr>
> *<!------------------------Information for room service----------->*
> {{for invoice in room:}}
> <td>{{=invoice.No_Days}} (days)</td>
> <td>{{=invoice.Room.Room_Number}}</td>
> <td>BWP {{=invoice.roomAmount}}</td>
> <td>BWP {{=invoice.Amount}}</td>
> </tr>
> <tr>
> *<!---------------------------Information for an extra room
> booking------------->*
> {{for add_r in add_room:}}
> <td>{{=add_r.No_Days}} (days)</td>
> <td>{{=add_r.Room.Room_Number}}</td>
> <td>BWP {{=add_r.roomAmount}}</td>
> <td>BWP {{=add_r.Amount}}</td>
> </tr>
>
> <tr>
> *<!-----------------------------Information for miscellaneous
> orders------------------------------>*
> {{for orders in room_service:}}
> <td>{{=orders.quantity}}</td>
> <td>{{=orders.client_order}}</td>
> <td>BWP {{=orders.price}}</td>
> <td>BWP {{=orders.totalPrice}}</td>
> </tr>
> {{
> *#Total Calculations of all services rendered*
> tourism_levy=10.00
>
> total=float(invoice.Amount)+float(add_r.Amount)+float(orders.totalPrice)
>
> totalPrice=float(invoice.Amount)+float(add_r.Amount)+float(orders.totalPrice)+tourism_levy
> }}
> <tr>
> *<!------------------------------------Display of total
> calculations------------------------------------>*
> <td></td><td style="font-weight: bold; font-size: 14px; color:
> black;" width: 29px;>(Levy EXCLUSIVE)</td><td style="font-weight: bold;
> font-size: 14px; color: green;" width: 29px;>Sub-Total:</td><td
> style="font-weight: bold; font-size: 14px; color: green;" width: 29px>BWP
> {{=total}}</td>
> </tr>
> <tr>
> <td></td><td></td><td style="font-weight: bold; font-size: 14px;
> color: red;" width: 29px;> Tourism Levy: </td><td style="font-weight: bold;
> font-size: 14px; color: red;" width: 29px>BWP {{=tourism_levy}}</td>
> </tr>
> <tr>
> <td></td><td style="font-weight: bold; font-size: 14px; color:
> black;" width: 29px;>(Levy INCLUSIVE)</td><td style="font-weight: bold;
> font-size: 14px; color: green;" width: 29px;>Total: </td><td
> style="font-weight: bold; font-size: 14px; color: green;" width: 29px>BWP
> {{=totalPrice}}</td>
> </tr>
> {{pass}}
> {{pass}}
> {{pass}}
> </table>
> </div>
> <br />
>
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/web2py/7d970bb9-84ca-4172-85c9-16cf9bfd9621n%40googlegroups.com.