Printed Forms form Relationships (ODT)
Magic Data
The magic data to define a printed form based on relationship is defined underneath a page called $pageName. There are two places to define pages, either a top-level page under /I2CE/page/$pageName or a module page under /modules/$module/$pageName for the module $module.
Under you define:
- class(required scalar node) Value is "I2CE_PageGenerateRelationshipTemplate"
- args (required parent node)
- relationship (required scalar node) = $relationship
- template_upload (optional parent node)
- content required scalar binary node. the binary ODT file.
- name required scalar node. the name of the file when it is generated
- template (optional scalar node). If template_upload is not defined, this is the name of a file in the ODT_TEMPLATES search path.
- segment_break. optional scalar node. what to use a a page/row break for the template. Defaults to
<text:p text:style-name="P1"/>
which is for a page break. For a line break it is<text:line-break/>
You need to google for the others.
- task: optional parent node
- use_display_fields: (optional scalar node) Defaults to true. If true, we get the display version of a field, for example the field position+job would be "General Nurse." it evaluates to false then we get the raw data fields, for example "position+job" is "job|42"
To easily create the template_upload node, simply browse under magic data to /I2CE/page/$pageName/args, create a sub node named template_file. Do not set its type. Under the "Import" drop-down menu select the to load a binary file.
Calling the Page
If your relationship has primary form $form, you call the page with:
$pageName?id=$form|$id
where $id is the id of the primary form you are interested in.
It will loop through all the joined in data for the primary form with the given id and add a certificate/printed form for each.