Using For Loops to Display Multiple Events in Contracts and Invoices
In ABOSS, you can use a for loop to display multiple events in your contracts or invoices. This loop will go through each event you've added and output the relevant details for each one.
Table of Contents
Setting Up a For Loop for Events
Using Tags Within the For Loop
Closing the For Loop
Example of a For Loop for Events
Displaying Deal Items with a For Loop
1. Setting Up a For Loop for Events
To display multiple events in your contract or invoice, you can use the following code to open a for loop:
{% for e in events %}
This code tells the system to loop through each event that has been added to the contract or invoice.
2. Using Tags Within the For Loop
Within the for loop, you can use the same tags as you would normally use for events, but you need to add the prefix 'e' to reference each event in the loop. For example:
Instead of using
{{ event.start }}
, you would use{{ e.event.start }}
inside the loop.
This prefix allows you to access the properties of each event individually.
3. Closing the For Loop
At the end of the loop, be sure to close it with the following tag:
{% endfor %}
This tells the system where the loop ends.
4. Example of a For Loop for Events
Here’s an example of how to use a for loop to display multiple events, including the start date, event title, project title, and stage:
vbnetCopy code{% for e in events %} {{ e.event.start | date: "%B %-d, %Y" }} {{ e.event.title }} {{ e.project.title }} {{ e.event.stage }} {% endfor %}
This code will display each event's start date, title, project title, and stage for all events linked to the contract or invoice.
5. Displaying Deal Items with a For Loop
The same method can be used for displaying deal items associated with an event. Here’s an example:
rustCopy code{% for items in event.deal %} {{ items.type }} {{ items.tickets }} {{ items.tickets_type }} {{ items.amount | format_money }} {% endfor %}
This code will loop through all the deal items for an event and display the type, number of tickets, ticket type, and amount for each deal.
Note: The entered data, such as added in Deal-tab, will only display correctly on contracts and invoice PDFs if the templates are set up properly. Always double-check your PDFs before sending them out to ensure everything appears as expected.