This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
leon:documents-manager [2018/08/22 10:31] bartek [CSS structure] |
leon:documents-manager [2023/10/18 17:57] rafal [Main page] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Documents Manager ====== | ====== Documents Manager ====== | ||
- | **Documents Manager** panel allows managing and customizing documents | + | **Documents Manager** panel allows managing and customizing documents |
- | The list of pre-defined documents is constantly expanded to cover all documents in Leon. In the future it will be possible to create completely **new custom document** apart from those pre-defined in Leon. | + | The list of pre-defined documents is constantly expanded to cover all documents in Leon. It is also possible to create completely **new custom document** apart from those pre-defined in Leon. |
===== Main page ===== | ===== Main page ===== | ||
- | [{{ : | + | [{{ : |
- | The main page shows **3** filtering options: by **document type**, **language** and **publishing status**, as well as **5** columns: | + | The main page shows **3** filtering options: by **document type**, **language** and **publishing status**, as well as **7** columns: |
- | * **Documents** - saved versions of Flight Order or Flight Brief. | + | * **Name** - name and the saved versions of the document |
- | * **Language** | + | * **Type** - type of the document |
- | * **Published** - the status of the documents, whether they have been published, or not. Click on the white dot if you want to publish saved version - the dot will become green. | + | * **Published** - the status of the documents, whether they have been published, or not. Click on the white dot if you want to publish |
+ | * **Visible in Crew App** - allows indicating which version(s) of the document will be available to Crew on a flight in the Crew App > tab ' | ||
+ | * **Language** - the language of the document indicated within the edit in the SETTINGS tab | ||
* **Last modified** - the date of the latest modification. | * **Last modified** - the date of the latest modification. | ||
* **Action** - once the document has been uploaded you can hover the mouse to see available options: | * **Action** - once the document has been uploaded you can hover the mouse to see available options: | ||
-{{: | -{{: | ||
-{{: | -{{: | ||
- | -{{: | + | -{{: |
-{{: | -{{: | ||
Line 29: | Line 31: | ||
==== Creating documents ==== | ==== Creating documents ==== | ||
- | In order to create a new document click {{: | + | In order to create a new document click {{: |
Line 37: | Line 39: | ||
Click on the icon to view which version you prefer. | Click on the icon to view which version you prefer. | ||
- | |||
- | |||
- | |||
- | |||
Line 51: | Line 49: | ||
To publish a document which has been re-arranged you just need to click on the white dot {{: | To publish a document which has been re-arranged you just need to click on the white dot {{: | ||
- | Such a published document can be used in a section **Schedule** (right-click with the mouse over the trip). | + | Such a published document can be used in a section **OPS** (right-click with the mouse over the trip). |
Unpublishing documents works exactly in the same way - the green dot turns white and Leon shows a message in top-right corner: " | Unpublishing documents works exactly in the same way - the green dot turns white and Leon shows a message in top-right corner: " | ||
- | It is possible to publish **multiple versions** of the same document type. All of them will appear in the main Documents Manager page as well as in Schedule | + | It is possible to publish **multiple versions** of the same document type. All of them will appear in the main Documents Manager page as well as in OPS documents list and can be recognized by the revision name. |
**DELETING DOCUMENTS** | **DELETING DOCUMENTS** | ||
- | < | + | < |
Line 66: | Line 64: | ||
---- | ---- | ||
- | ===== Customizing documents ===== | + | ====== Customizing documents |
[{{ : | [{{ : | ||
Line 122: | Line 120: | ||
---- | ---- | ||
- | ==== HTML structure ==== | + | ===== Adding aircraft pictures to documents ===== |
+ | |||
+ | If you want to add pictures of your aircraft on a particular document, you need to first **upload pictures** to particular tail in a section SALES > FLEET (edit the aircraft and use 'EDIT PICTURES' | ||
+ | |||
+ | The example below shows how to add 2 pictures of the aircraft: the outside look and the inside one, plus a command that pictures should always appear on the next page and be separated from each other. | ||
+ | |||
+ | **__BODY__** | ||
+ | |||
+ | {{: | ||
+ | |||
+ | **__CSS__** | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Attaching extra pages to documents ===== | ||
+ | |||
+ | It is possible to attach **extra pdfs** to existing documents in Leon. If, for example, Flight Order needs to have attached an extra page for pilots with towing instructions, | ||
+ | |||
+ | <code Twig>{% pdf ' | ||
+ | |||
+ | where ' | ||
+ | |||
+ | ---- | ||
+ | ===== Attaching pdf documents from the checklist items to Crew Tripsheet ===== | ||
+ | |||
+ | It is possible to attach pdf files uploaded to some of the elements of the checklist to the Crew Tripsheet document. | ||
+ | |||
+ | This can be achieved by using the function {{: | ||
+ | |||
+ | This is only possible in the Crew tripsheet for the elements that contain ' | ||
+ | |||
+ | An example of how to embed the code in the tripsheet can be seen below, where the ' | ||
+ | |||
+ | <code Twig [enable_line_numbers=" | ||
+ | {% set files = [] %} | ||
+ | {% for leg in tripsheet.activities %} | ||
+ | {% if leg.checklist.catering and leg.checklist.catering.files %} | ||
+ | {% set files = files|merge(leg.checklist.catering.files) %} | ||
+ | {% endif %} | ||
+ | {% endfor %} | ||
+ | {% for trip in tripsheet.trips %} | ||
+ | {% if trip.checklistTrip.CATBriefsRequired and trip.checklistTrip.CATBriefsRequired.files %} | ||
+ | {% set files = files|merge(trip.checklistTrip.CATBriefsRequired.files) %} | ||
+ | {% endif %} | ||
+ | {% endfor %} | ||
+ | {{ showFiles(files) }}</ | ||
+ | The PDF file(s) will be embedded at the **end of the document**. | ||
+ | ----- | ||
+ | ===== Showing a map in documents ===== | ||
+ | |||
+ | [{{ : | ||
+ | |||
+ | It is also possible to **show a map** in particular documents. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | You can define **width** and **height** as you wish, as well as the** colour of lines** on the map (see screenshot). | ||
+ | |||
+ | The parameters set by default: “c_width=2” and “markers_icon_url” which have a format of “red_markers.png” can also be changed. Markers are visible by default, if you want to remove them, set a parameter as “none”. They are red circles that look like: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Adding header/ | ||
+ | |||
+ | To add either a **header** or a **footer** as a picture you need to use appropriate tabs in Documents Manager panel. | ||
+ | |||
+ | |||
+ | First of all a file should be uploaded to the right-hand filter, tab **FILES**. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Once it's done, a **code** needs to be inserted in a tab HEADER: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Then, in a **CSS** tab you can set up, that i.e. the footer should appear only on the 1st page, or that the footer should appear only at the bottom of the last page: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | ===== Changes history ===== | ||
+ | [{{ : | ||
+ | It is also possible to see the history of changes of the document as well as to preview the past versions of the code. | ||
+ | |||
+ | To access the history of changes, simply click on the {{: | ||
+ | |||
+ | Len will display the changes history information such as time and date (in UTC) and the name of the user who made changes (as per below): | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Clicking on the {{: | ||
+ | |||
+ | This will allow retrieving any past version of the document by pasting the code from the document to the relevant section of the Document Manager. | ||
+ | |||
+ | ----------------- | ||
+ | |||
+ | ------------- | ||
+ | ===== HTML structure | ||
**HTML** is a markup language that allows defining structure of web pages. Pages written in HTML can be further styled by CSS. In Documents manager user only writes HTML placed inside < | **HTML** is a markup language that allows defining structure of web pages. Pages written in HTML can be further styled by CSS. In Documents manager user only writes HTML placed inside < | ||
Line 149: | Line 250: | ||
---- | ---- | ||
- | ==== CSS structure ==== | + | ===== CSS structure |
CSS is used to add **style** to document' | CSS is used to add **style** to document' | ||
Line 169: | Line 270: | ||
---- | ---- | ||
- | ==== Using Twig ==== | + | ===== Using Twig ===== |
**Twig** is a template engine that can insert **dynamic data** from LEON into document’s HTML structure. Before using Twig you should familiarize yourself with data structure of a document you are customizing. | **Twig** is a template engine that can insert **dynamic data** from LEON into document’s HTML structure. Before using Twig you should familiarize yourself with data structure of a document you are customizing. | ||
Line 181: | Line 282: | ||
Knowing the structure is important because placing the data tag with Twig requires **setting path** to the desired element. Path should be analyzed carefully taking into account optional fields and arrays. If on the path of data you want to show is array you should iterate over this array as it can have different number of elements or have no elements. | Knowing the structure is important because placing the data tag with Twig requires **setting path** to the desired element. Path should be analyzed carefully taking into account optional fields and arrays. If on the path of data you want to show is array you should iterate over this array as it can have different number of elements or have no elements. | ||
+ | Twig has **2** kind of tags: **data tags** and **control tags**. Data tags allow displaying data. For example simple tag to show a trip number from flight brief structure looks like this: | ||
+ | {{: | ||
+ | If you put this tag in a document' | ||
+ | **Control tags** give an advanced **control** to an user over the **template**. Most common control tags are **conditions** and **loops**. Conditions allow to show certain parts of templates based on condition. Example of checking if trip client is set is: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | The above code will show trip client name only if the trip have a client selected in Leon, otherwise document will show an information that the trip has no client. Usage of condition alternative is optional, you can add alternative block only when needed. | ||
+ | |||
+ | **Loops** allow iterating over arrays. For example, iterating over flights (available in path trip.flights) can look like this: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | The above construction will add to a document <div> tag with the flight number for every flight in a trip. If there will be no flights - no <div> will be generated. As you can see, the structure named ' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | **TWIG FILTERS** | ||
+ | |||
+ | Data placed in a document by Twig tags can be modified using **Twig filters**. There are many filters at your disposal, provided by Twig and added by LEON team for special cases. Using the filter is simple. For example, adding date filter to format **UNIX timestamp** (number of seconds from 1.01.1970) looks as follows: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Date filter takes the date format as a parameter. Filters can take any number of parameters (including none) depending on their specification. It is possible to chain filters, next filter works on an input provided by the output of the previous filter. See the full list of available filters in Twig specification below. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | **CUSTOM TWIG FILTERS** | ||
+ | |||
+ | LEON team prepared **custom filters** to simplify operations on the available data. Be aware that custom filter are dedicated to specific data types and **cannot** be used on other data. Here is a list of all custom filters: | ||
+ | |||
+ | * defaultLicenseNumber – returns pilot license number from array of all license objects. If a pilot has no license in array - an empty word is returned and nothing is shown on document. | ||
+ | |||
+ | example usage | ||
+ | |||
+ | {{: | ||
+ | |||
+ | example output: 123456789 | ||
+ | |||
+ | * exchangeOrderInCrewsByPositionName – changes the order of crew positions array replacing crew member order from one position to another. | ||
+ | |||
+ | example usage | ||
+ | |||
+ | {{: | ||
+ | |||
+ | example output: returns the same crew members list with replaced order of FO and CPT2 positions. | ||
+ | |||
+ | * formatTimePeriod – formats time period in seconds to hours and minutes format HH(H):mm. Filter is most commonly used to show time difference between two timestamps or aggregated trip times. | ||
+ | |||
+ | example usage | ||
+ | |||
+ | {{: | ||
+ | |||
+ | example output: 124:59 | ||
+ | |||
+ | * firstFlightWithAircraft – returns first flight in array that have specific aircraft selected. In special cases some flights have no aircraft selected. Using this filter you can get first flight with an aircraft for further processing. | ||
+ | |||
+ | example usage | ||
+ | |||
+ | {{: | ||
+ | |||
+ | example output: flight number of first flight with aircraft. | ||
+ | |||
+ | * firstProperFlightActivity – return first flight activity (not positionings). | ||
+ | |||
+ | example usage | ||
+ | |||
+ | {{: | ||
+ | |||
+ | example output: start date of first flight not positioning. | ||
+ | |||
+ | example usage | ||
+ | |||
+ | **{% if FDPs|sameFDPs %}** | ||
+ | |||
+ | example output: checks if all FDP elements are the same (duty start, duty end, duty lenght, next EOBT). | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | **PAGE NUMBERING** | ||
+ | |||
+ | Sometime there is a need for **page numeration**. Twig allows page numbering in header and footers. In order to add the page number use following control tags in header or footer: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ---- | ||
+ | For more information regarding Twig see: | ||
+ | [[http:// | ||
+ | [[http:// | ||