Just need to move around where we're getting the variables.
<div>
<table>
<tr>
<th>Quantity</th>
<th>Description</th>
<th>Order Price</th>
<th>Value</th>
</tr>
<!------------------------Information for room service----------->
{{tourism_levy = 10.00}}
{{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>
{{total = float(invoice.Amount)}}
<!---------------------------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>
{{total += float(add_r.Amount)
{{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>
{{total += orders.totalPrice}}
{{pass}}
{{totalPrice=total + 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 11:25:59 PM UTC-6 mostwanted wrote:
> With this approach some variables the become undetectable, I get errors
> that: *<type 'exceptions.NameError'> name 'orders' is not defined *and
> *<type
> 'exceptions.NameError'> name 'add_r' is not defined*
>
> On Tuesday, November 30, 2021 at 5:23:02 PM UTC+2 Jim S wrote:
>
>> 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/18fe9c1b-1ae9-4f2c-bd4b-c97da8854356n%40googlegroups.com.