| ... | ... |
@@ -10,6 +10,9 @@ |
| 10 | 10 |
|
| 11 | 11 |
use Contao\DC_Table; |
| 12 | 12 |
use Contao\DataContainer; |
| 13 |
+use Contao\System; |
|
| 14 |
+ |
|
| 15 |
+System::loadLanguageFile('default');
|
|
| 13 | 16 |
|
| 14 | 17 |
$GLOBALS['TL_DCA']['tl_vr_real_estate_assets'] = array |
| 15 | 18 |
( |
| ... | ... |
@@ -96,7 +99,7 @@ $GLOBALS['TL_DCA']['tl_vr_real_estate_assets'] = array |
| 96 | 99 |
'palettes' => array |
| 97 | 100 |
( |
| 98 | 101 |
'__selector__' => array('availability'),
|
| 99 |
- 'default' => '{title_legend},title,assetNo,address,floor,postal,city;{availability_legend},availability;{misc_legend},description;{basic_data_legend},livingSpace,numberOfRooms,rent,coldRent,advanceOperatingCosts,constructionYear,deposit,entitlementCertificate;{features_legend},features,heatingType,energyPassType,energyConsumption;{images_legend},gallerySRC,floorPlansSRC;{publish_legend},published,start,stop',
|
|
| 102 |
+ 'default' => '{title_legend},title,assetNo,address,floor,postal,city;{availability_legend},availability;{misc_legend},description;{basic_data_legend},livingSpace,numberOfRooms,rent,coldRent,advanceOperatingCosts,constructionYear,deposit,entitlementCertificate;{features_legend},features,parking,heatingType,energyPassType,energyConsumption;{images_legend},gallerySRC,floorPlansSRC;{publish_legend},published,start,stop',
|
|
| 100 | 103 |
), |
| 101 | 104 |
|
| 102 | 105 |
// Subpalettes |
| ... | ... |
@@ -257,27 +260,20 @@ $GLOBALS['TL_DCA']['tl_vr_real_estate_assets'] = array |
| 257 | 260 |
( |
| 258 | 261 |
'exclude' => true, |
| 259 | 262 |
'inputType' => 'checkbox', |
| 260 |
- 'options' => array |
|
| 261 |
- ( |
|
| 262 |
- 'kitchen', |
|
| 263 |
- 'bathroom', |
|
| 264 |
- 'guestToilet', |
|
| 265 |
- 'garret', |
|
| 266 |
- 'terrace', |
|
| 267 |
- 'balcony', |
|
| 268 |
- 'loggia', |
|
| 269 |
- 'gardenShare', |
|
| 270 |
- 'basementRoom', |
|
| 271 |
- 'garage', |
|
| 272 |
- 'carport', |
|
| 273 |
- 'parkingSpace', |
|
| 274 |
- 'undergroundCarPark', |
|
| 275 |
- 'cable' |
|
| 276 |
- ), |
|
| 263 |
+ 'options' => array_keys($GLOBALS['TL_LANG']['REF']['re_features']), |
|
| 277 | 264 |
'reference' => &$GLOBALS['TL_LANG']['REF']['re_features'], |
| 278 | 265 |
'eval' => array('mandatory' => false, 'multiple' => true, 'tl_class' => 'w50'),
|
| 279 | 266 |
'sql' => "blob NULL" |
| 280 | 267 |
), |
| 268 |
+ 'parking' => array |
|
| 269 |
+ ( |
|
| 270 |
+ 'exclude' => true, |
|
| 271 |
+ 'inputType' => 'checkbox', |
|
| 272 |
+ 'options' => array_keys($GLOBALS['TL_LANG']['REF']['re_parking']), |
|
| 273 |
+ 'reference' => &$GLOBALS['TL_LANG']['REF']['re_parking'], |
|
| 274 |
+ 'eval' => array('mandatory' => false, 'multiple' => true, 'tl_class' => 'w50'),
|
|
| 275 |
+ 'sql' => "blob NULL" |
|
| 276 |
+ ), |
|
| 281 | 277 |
'heatingType' => array |
| 282 | 278 |
( |
| 283 | 279 |
'exclude' => true, |
| ... | ... |
@@ -17,8 +17,12 @@ |
| 17 | 17 |
<source>Filter</source> |
| 18 | 18 |
</trans-unit> |
| 19 | 19 |
|
| 20 |
+ <trans-unit id="MSC.re_pdfExpose"> |
|
| 21 |
+ <source>Expose als PDF-Datei öffnen</source> |
|
| 22 |
+ </trans-unit> |
|
| 23 |
+ |
|
| 20 | 24 |
<trans-unit id="MSC.re_energyConsumption"> |
| 21 |
- <source>Energieverbrauch nach</source> |
|
| 25 |
+ <source>Energie&shy;verbrauch nach</source> |
|
| 22 | 26 |
</trans-unit> |
| 23 | 27 |
<trans-unit id="MSC.re_properties"> |
| 24 | 28 |
<source>Eigenschaften</source> |
| ... | ... |
@@ -107,7 +111,7 @@ |
| 107 | 111 |
<source>Mansarde</source> |
| 108 | 112 |
</trans-unit> |
| 109 | 113 |
<trans-unit id="REF.re_features.balcony"> |
| 110 |
- <source>Balkon</source> |
|
| 114 |
+ <source>Terasse / Balkon</source> |
|
| 111 | 115 |
</trans-unit> |
| 112 | 116 |
<trans-unit id="REF.re_features.loggia"> |
| 113 | 117 |
<source>Loggia</source> |
| ... | ... |
@@ -118,22 +122,20 @@ |
| 118 | 122 |
<trans-unit id="REF.re_features.basementRoom"> |
| 119 | 123 |
<source>Kellerraum</source> |
| 120 | 124 |
</trans-unit> |
| 121 |
- <trans-unit id="REF.re_features.garage"> |
|
| 122 |
- <source>Garage</source> |
|
| 123 |
- </trans-unit> |
|
| 124 |
- <trans-unit id="REF.re_features.carport"> |
|
| 125 |
- <source>Carport</source> |
|
| 126 |
- </trans-unit> |
|
| 127 | 125 |
<trans-unit id="REF.re_features.cable"> |
| 128 | 126 |
<source>Kabelanschluss</source> |
| 129 | 127 |
</trans-unit> |
| 130 |
- <trans-unit id="REF.re_features.terrace"> |
|
| 131 |
- <source>Terrasse</source> |
|
| 128 |
+ |
|
| 129 |
+ <trans-unit id="REF.re_parking.garage"> |
|
| 130 |
+ <source>Garage</source> |
|
| 131 |
+ </trans-unit> |
|
| 132 |
+ <trans-unit id="REF.re_parking.carport"> |
|
| 133 |
+ <source>Carport</source> |
|
| 132 | 134 |
</trans-unit> |
| 133 |
- <trans-unit id="REF.re_features.parkingSpace"> |
|
| 134 |
- <source>Stellplatz</source> |
|
| 135 |
+ <trans-unit id="REF.re_parking.carPark"> |
|
| 136 |
+ <source>Außenstellplatz</source> |
|
| 135 | 137 |
</trans-unit> |
| 136 |
- <trans-unit id="REF.re_features.undergroundCarPark"> |
|
| 138 |
+ <trans-unit id="REF.re_parking.undergroundCarPark"> |
|
| 137 | 139 |
<source>Tiefgaragenstellplatz</source> |
| 138 | 140 |
</trans-unit> |
| 139 | 141 |
|
| ... | ... |
@@ -57,13 +57,13 @@ |
| 57 | 57 |
<source>Die Kaltmiete in EUR.</source> |
| 58 | 58 |
</trans-unit> |
| 59 | 59 |
<trans-unit id="tl_vr_real_estate_assets.rent.0"> |
| 60 |
- <source>Stellplatzmiete</source> |
|
| 60 |
+ <source>Stellplatz</source> |
|
| 61 | 61 |
</trans-unit> |
| 62 | 62 |
<trans-unit id="tl_vr_real_estate_assets.rent.1"> |
| 63 | 63 |
<source>Die Miete für Stellplätze in EUR.</source> |
| 64 | 64 |
</trans-unit> |
| 65 | 65 |
<trans-unit id="tl_vr_real_estate_assets.advanceOperatingCosts.0"> |
| 66 |
- <source>Nebenkosten&shy;vorschuss</source> |
|
| 66 |
+ <source>Nebenkosten&shy;voraus&shy;zahlung</source> |
|
| 67 | 67 |
</trans-unit> |
| 68 | 68 |
<trans-unit id="tl_vr_real_estate_assets.advanceOperatingCosts.1"> |
| 69 | 69 |
<source>Der Nebenkostenvorschuss in EUR.</source> |
| ... | ... |
@@ -110,6 +110,12 @@ |
| 110 | 110 |
<trans-unit id="tl_vr_real_estate_assets.features.1"> |
| 111 | 111 |
<source>Weitere Ausstattungen des Objektes.</source> |
| 112 | 112 |
</trans-unit> |
| 113 |
+ <trans-unit id="tl_vr_real_estate_assets.parking.0"> |
|
| 114 |
+ <source>Stellplatz</source> |
|
| 115 |
+ </trans-unit> |
|
| 116 |
+ <trans-unit id="tl_vr_real_estate_assets.parking.1"> |
|
| 117 |
+ <source>Art des Stellplatzes.</source> |
|
| 118 |
+ </trans-unit> |
|
| 113 | 119 |
<trans-unit id="tl_vr_real_estate_assets.heatingType.0"> |
| 114 | 120 |
<source>Heizungstyp</source> |
| 115 | 121 |
</trans-unit> |
| ... | ... |
@@ -177,10 +183,7 @@ |
| 177 | 183 |
<source>Bis wann das Objekt sichtbar sein soll. Leer lassen für dauerhafte Veröffentlichung.</source> |
| 178 | 184 |
</trans-unit> |
| 179 | 185 |
<trans-unit id="tl_vr_real_estate_assets.total"> |
| 180 |
- <source>Gesamtkosten</source> |
|
| 181 |
- </trans-unit> |
|
| 182 |
- <trans-unit id="tl_vr_real_estate_assets.total"> |
|
| 183 |
- <source>Gesamtkosten</source> |
|
| 186 |
+ <source>Gesamtmiete</source> |
|
| 184 | 187 |
</trans-unit> |
| 185 | 188 |
|
| 186 | 189 |
|
| 187 | 190 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,159 @@ |
| 1 |
+<?xml version="1.0" ?> |
|
| 2 |
+<xliff version="1.1"> |
|
| 3 |
+ <file datatype="php" source-language="de" target-language="en"> |
|
| 4 |
+ <body> |
|
| 5 |
+ <trans-unit id="ERR.currency"> |
|
| 6 |
+ <source>Bitte geben Sie nur Zahlen im Währungsformat (z.B. 10,99 oder 33) an.</source> |
|
| 7 |
+ </trans-unit> |
|
| 8 |
+ |
|
| 9 |
+ <trans-unit id="MSC.re_room"> |
|
| 10 |
+ <source>Zimmer</source> |
|
| 11 |
+ </trans-unit> |
|
| 12 |
+ <trans-unit id="MSC.re_rooms"> |
|
| 13 |
+ <source>Zimmer</source> |
|
| 14 |
+ </trans-unit> |
|
| 15 |
+ |
|
| 16 |
+ <trans-unit id="MSC.re_filter"> |
|
| 17 |
+ <source>Filter</source> |
|
| 18 |
+ </trans-unit> |
|
| 19 |
+ |
|
| 20 |
+ <trans-unit id="MSC.re_pdfExpose"> |
|
| 21 |
+ <source>Expose als PDF-Datei öffnen</source> |
|
| 22 |
+ </trans-unit> |
|
| 23 |
+ |
|
| 24 |
+ <trans-unit id="MSC.re_energyConsumption"> |
|
| 25 |
+ <source>Energie&shy;verbrauch nach</source> |
|
| 26 |
+ </trans-unit> |
|
| 27 |
+ <trans-unit id="MSC.re_properties"> |
|
| 28 |
+ <source>Eigenschaften</source> |
|
| 29 |
+ </trans-unit> |
|
| 30 |
+ <trans-unit id="MSC.re_rent"> |
|
| 31 |
+ <source>Miete</source> |
|
| 32 |
+ </trans-unit> |
|
| 33 |
+ <trans-unit id="MSC.re_description"> |
|
| 34 |
+ <source>Objektbeschreibung</source> |
|
| 35 |
+ </trans-unit> |
|
| 36 |
+ <trans-unit id="MSC.re_deadline"> |
|
| 37 |
+ <source>Bewerbungsschluss</source> |
|
| 38 |
+ </trans-unit> |
|
| 39 |
+ <trans-unit id="MSC.re_features"> |
|
| 40 |
+ <source>Ausstattung</source> |
|
| 41 |
+ </trans-unit> |
|
| 42 |
+ <trans-unit id="MSC.re_floorPlan"> |
|
| 43 |
+ <source>Grundriss</source> |
|
| 44 |
+ </trans-unit> |
|
| 45 |
+ <trans-unit id="MSC.re_gallery"> |
|
| 46 |
+ <source>Bilder</source> |
|
| 47 |
+ </trans-unit> |
|
| 48 |
+ <trans-unit id="MSC.re_empty"> |
|
| 49 |
+ <source>Aktuell haben wir leider keine Vermietungsangebote für Sie.</source> |
|
| 50 |
+ </trans-unit> |
|
| 51 |
+ <trans-unit id="MSC.re_entitlementCertificate"> |
|
| 52 |
+ <source>Wohnberechtigungs&shy;schein erforderlich</source> |
|
| 53 |
+ </trans-unit> |
|
| 54 |
+ |
|
| 55 |
+ <trans-unit id="REF.re_condition.new"> |
|
| 56 |
+ <source>neuwertig</source> |
|
| 57 |
+ </trans-unit> |
|
| 58 |
+ <trans-unit id="REF.re_condition.renovated"> |
|
| 59 |
+ <source>neu modernisiert</source> |
|
| 60 |
+ </trans-unit> |
|
| 61 |
+ <trans-unit id="REF.re_condition.partially_renovated"> |
|
| 62 |
+ <source>teilmodernisiert</source> |
|
| 63 |
+ </trans-unit> |
|
| 64 |
+ <trans-unit id="REF.re_condition.maintained"> |
|
| 65 |
+ <source>gepflegt</source> |
|
| 66 |
+ </trans-unit> |
|
| 67 |
+ |
|
| 68 |
+ <trans-unit id="REF.re_heatingType.geh"> |
|
| 69 |
+ <source>Gasetagenheizung</source> |
|
| 70 |
+ </trans-unit> |
|
| 71 |
+ <trans-unit id="REF.re_heatingType.fw"> |
|
| 72 |
+ <source>Fernwärme</source> |
|
| 73 |
+ </trans-unit> |
|
| 74 |
+ <trans-unit id="REF.re_heatingType.zh"> |
|
| 75 |
+ <source>Zentralheizung / Fernwärme</source> |
|
| 76 |
+ </trans-unit> |
|
| 77 |
+ <trans-unit id="REF.re_heatingType.gzh"> |
|
| 78 |
+ <source>Gaszentralheizung</source> |
|
| 79 |
+ </trans-unit> |
|
| 80 |
+ <trans-unit id="REF.re_heatingType.nsp"> |
|
| 81 |
+ <source>Nachtspeicherheizung</source> |
|
| 82 |
+ </trans-unit> |
|
| 83 |
+ <trans-unit id="REF.re_heatingType.go"> |
|
| 84 |
+ <source>Gasöfen</source> |
|
| 85 |
+ </trans-unit> |
|
| 86 |
+ |
|
| 87 |
+ <trans-unit id="REF.re_energyPassType.eav"> |
|
| 88 |
+ <source>EA-V</source> |
|
| 89 |
+ </trans-unit> |
|
| 90 |
+ <trans-unit id="REF.re_energyPassType.eab"> |
|
| 91 |
+ <source>EA-B</source> |
|
| 92 |
+ </trans-unit> |
|
| 93 |
+ |
|
| 94 |
+ <trans-unit id="REF.re_availability.immediately"> |
|
| 95 |
+ <source>sofort</source> |
|
| 96 |
+ </trans-unit> |
|
| 97 |
+ <trans-unit id="REF.re_availability.from"> |
|
| 98 |
+ <source>ab Datum</source> |
|
| 99 |
+ </trans-unit> |
|
| 100 |
+ |
|
| 101 |
+ <trans-unit id="REF.re_features.kitchen"> |
|
| 102 |
+ <source>Küche</source> |
|
| 103 |
+ <target>Kitchen</target> |
|
| 104 |
+ </trans-unit> |
|
| 105 |
+ <trans-unit id="REF.re_features.bathroom"> |
|
| 106 |
+ <source>Bad</source> |
|
| 107 |
+ </trans-unit> |
|
| 108 |
+ <trans-unit id="REF.re_features.guestToilet"> |
|
| 109 |
+ <source>Gäste-WC</source> |
|
| 110 |
+ </trans-unit> |
|
| 111 |
+ <trans-unit id="REF.re_features.garret"> |
|
| 112 |
+ <source>Mansarde</source> |
|
| 113 |
+ </trans-unit> |
|
| 114 |
+ <trans-unit id="REF.re_features.balcony"> |
|
| 115 |
+ <source>Terasse / Balkon</source> |
|
| 116 |
+ </trans-unit> |
|
| 117 |
+ <trans-unit id="REF.re_features.loggia"> |
|
| 118 |
+ <source>Loggia</source> |
|
| 119 |
+ </trans-unit> |
|
| 120 |
+ <trans-unit id="REF.re_features.gardenShare"> |
|
| 121 |
+ <source>Gartenanteil</source> |
|
| 122 |
+ </trans-unit> |
|
| 123 |
+ <trans-unit id="REF.re_features.basementRoom"> |
|
| 124 |
+ <source>Kellerraum</source> |
|
| 125 |
+ </trans-unit> |
|
| 126 |
+ <trans-unit id="REF.re_features.cable"> |
|
| 127 |
+ <source>Kabelanschluss</source> |
|
| 128 |
+ </trans-unit> |
|
| 129 |
+ |
|
| 130 |
+ <trans-unit id="REF.re_parking.garage"> |
|
| 131 |
+ <source>Garage</source> |
|
| 132 |
+ <target>Garage</target> |
|
| 133 |
+ </trans-unit> |
|
| 134 |
+ <trans-unit id="REF.re_parking.carport"> |
|
| 135 |
+ <source>Carport</source> |
|
| 136 |
+ </trans-unit> |
|
| 137 |
+ <trans-unit id="REF.re_parking.carPark"> |
|
| 138 |
+ <source>Außenstellplatz</source> |
|
| 139 |
+ </trans-unit> |
|
| 140 |
+ <trans-unit id="REF.re_parking.undergroundCarPark"> |
|
| 141 |
+ <source>Tiefgaragenstellplatz</source> |
|
| 142 |
+ </trans-unit> |
|
| 143 |
+ |
|
| 144 |
+ <trans-unit id="REF.re_filter.numberOfRooms"> |
|
| 145 |
+ <source>Zimmeranzahl</source> |
|
| 146 |
+ </trans-unit> |
|
| 147 |
+ <trans-unit id="REF.re_filter.city"> |
|
| 148 |
+ <source>Ort</source> |
|
| 149 |
+ </trans-unit> |
|
| 150 |
+ <trans-unit id="REF.re_filter.coldRent"> |
|
| 151 |
+ <source>Kaltmiete</source> |
|
| 152 |
+ </trans-unit> |
|
| 153 |
+ <trans-unit id="REF.re_filter.livingSpace"> |
|
| 154 |
+ <source>Wohnfläche</source> |
|
| 155 |
+ </trans-unit> |
|
| 156 |
+ |
|
| 157 |
+ </body> |
|
| 158 |
+ </file> |
|
| 159 |
+</xliff> |
| ... | ... |
@@ -1,103 +1,126 @@ |
| 1 | 1 |
{%- macro tableRow(label, value, options = {}) -%}
|
| 2 |
- {%- set class = options.class|default({}) -%}
|
|
| 3 |
- {%- set prepend = options.prepend|default({}) %}
|
|
| 4 |
- {% set append = options.append|default({}) -%}
|
|
| 5 |
- {% apply spaceless %}
|
|
| 6 |
- {% if label and value %}
|
|
| 7 |
- [ |
|
| 8 |
-{# { text: '{{- label -}}', color: '#357792' },#}
|
|
| 9 |
- { text: '{{- label -}}' },
|
|
| 10 |
-{# { text: '{% if prepend %}{{ prepend }}{% endif %}{{- value -}}{% if append %}{{ append }}{% endif %}', color: '#001118', bold: true },#}
|
|
| 11 |
- { text: '{% if prepend %}{{ prepend }}{% endif %}{{- value -}}{% if append %}{{ append }}{% endif %}', bold: true },
|
|
| 12 |
- ], |
|
| 13 |
- {% endif %}
|
|
| 14 |
- {% endapply %}
|
|
| 2 |
+ {%- set class = options.class|default({}) -%}
|
|
| 3 |
+ {%- set prepend = options.prepend|default({}) %}
|
|
| 4 |
+ {% set append = options.append|default({}) -%}
|
|
| 5 |
+ {% apply spaceless %}
|
|
| 6 |
+ {% if label and value %}
|
|
| 7 |
+ [ |
|
| 8 |
+ {# { text: '{{- label -}}', color: '#357792' }, #}
|
|
| 9 |
+ { text: '{{- label -}}' },
|
|
| 10 |
+ {# { text: '{% if prepend %}{{ prepend }}{% endif %}{{- value -}}{% if append %}{{ append }}{% endif %}', color: '#001118', bold: true }, #}
|
|
| 11 |
+ { text: '{% if prepend %}{{ prepend }}{% endif %}{{- value -}}{% if append %}{{ append }}{% endif %}', bold: true },
|
|
| 12 |
+ ], |
|
| 13 |
+ {% endif %}
|
|
| 14 |
+ {% endapply %}
|
|
| 15 | 15 |
{%- endmacro -%}
|
| 16 | 16 |
|
| 17 |
-{#<div id="iFrameContainer"></div>#}
|
|
| 17 |
+{# <div id="iFrameContainer"></div> #}
|
|
| 18 | 18 |
|
| 19 | 19 |
<script src="/bundles/vonrotenbergrealestatelisting/js/pdfmake.js"></script> |
| 20 | 20 |
<script src="/bundles/vonrotenbergrealestatelisting/js/vfs_fonts.js"></script> |
| 21 | 21 |
|
| 22 | 22 |
<script> |
| 23 |
- var docDefinition = {
|
|
| 24 |
- pageSize: 'A4', |
|
| 25 |
- pageOrientation: 'portrait', |
|
| 26 |
- pageMargins: [{{ 15|mm2pt }},{{ 35|mm2pt }},{{ 15|mm2pt }},{{ 15|mm2pt }}],
|
|
| 27 |
- defaultStyle: {
|
|
| 28 |
- font: 'Roboto', |
|
| 29 |
- fontSize: 11, |
|
| 30 |
- lineHeight: 1.1 |
|
| 31 |
- }, |
|
| 32 |
- styles:{
|
|
| 33 |
- h3: {
|
|
| 34 |
- fontSize: 13, |
|
| 35 |
- bold: true, |
|
| 36 |
- margin: [0,0,0,{{ 1.25|mm2pt }}]
|
|
| 37 |
- }, |
|
| 38 |
- h4: {
|
|
| 39 |
- fontSize: 13, |
|
| 40 |
- // color: '#025577', |
|
| 41 |
- margin: [0,0,0,{{ 1.25|mm2pt }}]
|
|
| 42 |
- } |
|
| 43 |
- }, |
|
| 44 |
- header: function(currentPage, pageCount, pageSize) {
|
|
| 45 |
- if (currentPage === 1) |
|
| 46 |
- {
|
|
| 47 |
- return [ |
|
| 48 |
- {
|
|
| 49 |
- stack: [ |
|
| 50 |
- { image: '{{ 'bundles/vonrotenbergrealestatelisting/images/pdf_logo.png'|imageDataUrl }}', width: {{ 35|mm2pt }}, alignment: 'center'},
|
|
| 51 |
- ], |
|
| 52 |
- margin: [{{ 15|mm2pt }},{{ 5|mm2pt }},{{ 15|mm2pt }},0]
|
|
| 53 |
- }, |
|
| 54 |
- ]; |
|
| 55 |
- } |
|
| 56 |
- return []; |
|
| 57 |
- }, |
|
| 58 |
- footer: function(currentPage, pageCount, pageSize) {
|
|
| 59 |
- if (pageCount > 1) |
|
| 60 |
- {
|
|
| 61 |
- return [ |
|
| 62 |
- {
|
|
| 63 |
- stack: [ |
|
| 64 |
- { text: 'Seite: '+currentPage+'/'+pageCount, alignment: 'right', margin: [0, 0, 0, 0], color: '#666'}
|
|
| 65 |
- ], |
|
| 66 |
- margin: [{{ 15|mm2pt }},{{ 5|mm2pt }},{{ 15|mm2pt }},0]
|
|
| 67 |
- }, |
|
| 68 |
- ]; |
|
| 69 |
- } |
|
| 70 |
- return []; |
|
| 71 |
- }, |
|
| 72 |
- content: [ |
|
| 73 |
- {
|
|
| 74 |
- columns: [ |
|
| 75 |
- {
|
|
| 76 |
- stack: [ |
|
| 77 |
- {
|
|
| 78 |
- text: '{{ item.title }}{% if item.city %} in {{ item.city }}{% endif %}',
|
|
| 79 |
- fontSize: 20, |
|
| 80 |
- margin: [0,0,0,{{ 2.5|mm2pt }}],
|
|
| 81 |
- color: '#025577' |
|
| 82 |
- }, |
|
| 83 |
- {% if item.address %}
|
|
| 84 |
- {
|
|
| 85 |
- text: '{{ item.address }}',
|
|
| 86 |
- fontSize: 16, |
|
| 87 |
- margin: [0,0,0,{{ 2.5|mm2pt }}]
|
|
| 88 |
- }, |
|
| 89 |
- {% endif %}
|
|
| 90 |
- {
|
|
| 91 |
- text: 'Objekt-Nr.: {{ item.assetNo }}',
|
|
| 92 |
- fontSize: 14, |
|
| 93 |
- color: '#025577', |
|
| 94 |
- margin: [0,0,0,{{ 5|mm2pt }}]
|
|
| 95 |
- }, |
|
| 96 |
- {
|
|
| 97 |
- qr: '{{ item.qrUrl }}',
|
|
| 98 |
- fit: 70 |
|
| 99 |
- } |
|
| 100 |
- {#{% if item.description %}
|
|
| 23 |
+ var docDefinition = {
|
|
| 24 |
+ pageSize: 'A4', |
|
| 25 |
+ pageOrientation: 'portrait', |
|
| 26 |
+ pageMargins: [{{ 15|mm2pt }},{{ 35|mm2pt }},{{ 15|mm2pt }},{{ 15|mm2pt }}],
|
|
| 27 |
+ info: {
|
|
| 28 |
+ title: 'riel-expose-nr_{{ item.assetNo }}-{{ "now"|date("Y-m-d") }}',
|
|
| 29 |
+ author: 'vonRotenberg Estate Manager', |
|
| 30 |
+ creator: 'vonRotenberg Estate Manager', |
|
| 31 |
+ producer: 'vonRotenberg Estate Manager', |
|
| 32 |
+ subject: 'Expose für Objekt-Nr. {{ item.assetNo }}'
|
|
| 33 |
+ }, |
|
| 34 |
+ defaultStyle: {
|
|
| 35 |
+ font: 'Roboto', |
|
| 36 |
+ fontSize: 11, |
|
| 37 |
+ lineHeight: 1.1 |
|
| 38 |
+ }, |
|
| 39 |
+ styles: {
|
|
| 40 |
+ h3: {
|
|
| 41 |
+ fontSize: 13, |
|
| 42 |
+ bold: true, |
|
| 43 |
+ margin: [0, 0, 0,{{ 1.25|mm2pt }}]
|
|
| 44 |
+ }, |
|
| 45 |
+ h4: {
|
|
| 46 |
+ fontSize: 13, |
|
| 47 |
+ // color: '#1476BB', |
|
| 48 |
+ margin: [0, 0, 0,{{ 1.25|mm2pt }}]
|
|
| 49 |
+ } |
|
| 50 |
+ }, |
|
| 51 |
+ header: function (currentPage, pageCount, pageSize) {
|
|
| 52 |
+ if (currentPage === 1) |
|
| 53 |
+ {
|
|
| 54 |
+ return [ |
|
| 55 |
+ {
|
|
| 56 |
+ stack: [ |
|
| 57 |
+ {
|
|
| 58 |
+ image: '{{ 'bundles/vonrotenbergrealestatelisting/images/pdf_logo.png'|imageDataUrl }}',
|
|
| 59 |
+ width: {{ 35|mm2pt }},
|
|
| 60 |
+ alignment: 'center' |
|
| 61 |
+ }, |
|
| 62 |
+ ], |
|
| 63 |
+ margin: [{{ 15|mm2pt }},{{ 5|mm2pt }},{{ 15|mm2pt }}, 0]
|
|
| 64 |
+ }, |
|
| 65 |
+ ]; |
|
| 66 |
+ } |
|
| 67 |
+ return []; |
|
| 68 |
+ }, |
|
| 69 |
+ footer: function (currentPage, pageCount, pageSize) {
|
|
| 70 |
+ if (pageCount > 1) |
|
| 71 |
+ {
|
|
| 72 |
+ return [ |
|
| 73 |
+ {
|
|
| 74 |
+ stack: [ |
|
| 75 |
+ {
|
|
| 76 |
+ text: 'Seite: ' + currentPage + '/' + pageCount, |
|
| 77 |
+ alignment: 'right', |
|
| 78 |
+ margin: [0, 0, 0, 0], |
|
| 79 |
+ color: '#666' |
|
| 80 |
+ } |
|
| 81 |
+ ], |
|
| 82 |
+ margin: [{{ 15|mm2pt }},{{ 5|mm2pt }},{{ 15|mm2pt }}, 0]
|
|
| 83 |
+ }, |
|
| 84 |
+ ]; |
|
| 85 |
+ } |
|
| 86 |
+ return []; |
|
| 87 |
+ }, |
|
| 88 |
+ content: [ |
|
| 89 |
+ {
|
|
| 90 |
+ columns: [ |
|
| 91 |
+ {
|
|
| 92 |
+ stack: [ |
|
| 93 |
+ {
|
|
| 94 |
+ text: '{{ item.title }}',
|
|
| 95 |
+ fontSize: 20, |
|
| 96 |
+ margin: [0, 0, 0,{{ 2.5|mm2pt }}],
|
|
| 97 |
+ color: '#1476BB' |
|
| 98 |
+ }, |
|
| 99 |
+ {% if item.address %}
|
|
| 100 |
+ {
|
|
| 101 |
+ text: '{{ item.address }}',
|
|
| 102 |
+ fontSize: 16, |
|
| 103 |
+ margin: [0, 0, 0, 0] |
|
| 104 |
+ }, |
|
| 105 |
+ {% endif %}
|
|
| 106 |
+ {% if item.city and item.postal %}
|
|
| 107 |
+ {
|
|
| 108 |
+ text: '{{ item.postal }} {{ item.city }}',
|
|
| 109 |
+ fontSize: 16, |
|
| 110 |
+ margin: [0, 0, 0, 0] |
|
| 111 |
+ }, |
|
| 112 |
+ {% endif %}
|
|
| 113 |
+ {
|
|
| 114 |
+ text: 'Objekt-Nr.: {{ item.assetNo }}',
|
|
| 115 |
+ fontSize: 14, |
|
| 116 |
+ color: '#1476BB', |
|
| 117 |
+ margin: [0, {{ 2.5|mm2pt }}, 0,{{ 5|mm2pt }}]
|
|
| 118 |
+ }, |
|
| 119 |
+ {
|
|
| 120 |
+ qr: '{{ item.qrUrl }}',
|
|
| 121 |
+ fit: 80 |
|
| 122 |
+ } |
|
| 123 |
+ {# {% if item.description %}
|
|
| 101 | 124 |
{
|
| 102 | 125 |
text: '{{ 'MSC.re_description'|trans({}, 'contao_default') }}',
|
| 103 | 126 |
style: 'h3', |
| ... | ... |
@@ -107,244 +130,254 @@ |
| 107 | 130 |
text: '{{ item.description|raw|striptags }}',
|
| 108 | 131 |
margin: [0, 0, 0,{{ 10|mm2pt }}],
|
| 109 | 132 |
} |
| 110 |
- {% endif %}#}
|
|
| 111 |
- ], |
|
| 112 |
- width: '*' |
|
| 113 |
- }, |
|
| 114 |
- {
|
|
| 115 |
- stack: [ |
|
| 116 |
- {
|
|
| 117 |
- image: '{{ item.teaserFigure.getImage().getFilePath()|imageDataUrl }}',
|
|
| 118 |
- fit: [{{ 85|mm2pt }},{{ 85|mm2pt }}],
|
|
| 119 |
- alignment: 'right' |
|
| 120 |
- } |
|
| 121 |
- ], |
|
| 122 |
- width: '*' |
|
| 123 |
- } |
|
| 124 |
- ], |
|
| 125 |
- margin: [0,0,0,{{ 10|mm2pt }}],
|
|
| 126 |
- columnGap: {{ 5|mm2pt }}
|
|
| 127 |
- }, |
|
| 128 |
- {% if item.description %}
|
|
| 129 |
- {
|
|
| 130 |
- text: '{{ 'MSC.re_description'|trans({}, 'contao_default') }}',
|
|
| 131 |
- style: 'h3' |
|
| 132 |
- }, |
|
| 133 |
- {
|
|
| 134 |
- table: {
|
|
| 135 |
- widths: ['*'], |
|
| 136 |
- body: [ |
|
| 137 |
- [ |
|
| 138 |
- {
|
|
| 139 |
- text: '{{ item.description|raw|striptags|replace({ '\r\n': '\\r\\n', '\n': '\\n', '\r': '\\r' }) }}',
|
|
| 140 |
- margin: [5,5,5,5], |
|
| 141 |
- // color: '#357792' |
|
| 142 |
- } |
|
| 143 |
- ] |
|
| 144 |
- ] |
|
| 145 |
- }, |
|
| 146 |
- fillColor: '#f3fbff', |
|
| 147 |
- layout: 'noBorders', |
|
| 148 |
- margin: [0, 0, 0,{{ 10|mm2pt }}],
|
|
| 149 |
- }, |
|
| 150 |
- {% endif %}
|
|
| 151 |
- {
|
|
| 152 |
- columns: [ |
|
| 153 |
- {
|
|
| 154 |
- stack: [ |
|
| 155 |
- {
|
|
| 156 |
- text: '{{ 'MSC.re_properties'|trans({}, 'contao_default') }}',
|
|
| 133 |
+ {% endif %} #}
|
|
| 134 |
+ ], |
|
| 135 |
+ width: '*' |
|
| 136 |
+ }, |
|
| 137 |
+ {
|
|
| 138 |
+ stack: [ |
|
| 139 |
+ {
|
|
| 140 |
+ image: '{{ item.teaserFigure.getImage().getFilePath()|imageDataUrl }}',
|
|
| 141 |
+ fit: [{{ 85|mm2pt }},{{ 85|mm2pt }}],
|
|
| 142 |
+ alignment: 'right' |
|
| 143 |
+ } |
|
| 144 |
+ ], |
|
| 145 |
+ width: '*' |
|
| 146 |
+ } |
|
| 147 |
+ ], |
|
| 148 |
+ margin: [0, 0, 0,{{ 10|mm2pt }}],
|
|
| 149 |
+ columnGap: {{ 5|mm2pt }}
|
|
| 150 |
+ }, |
|
| 151 |
+ {% if item.description %}
|
|
| 152 |
+ {
|
|
| 153 |
+ text: '{{ 'MSC.re_description'|trans({}, 'contao_default') }}',
|
|
| 157 | 154 |
style: 'h3' |
| 158 |
- }, |
|
| 159 |
- {
|
|
| 155 |
+ }, |
|
| 156 |
+ {
|
|
| 160 | 157 |
table: {
|
| 161 |
- widths: ['*'], |
|
| 162 |
- body: [ |
|
| 163 |
- [ |
|
| 164 |
- {
|
|
| 165 |
- stack: [ |
|
| 166 |
- {
|
|
| 167 |
- table: {
|
|
| 168 |
- widths: ['40%', '*'], |
|
| 169 |
- body: [ |
|
| 170 |
- {{ _self.tableRow('tl_vr_real_estate_assets.livingSpace.0'|trans({}, 'contao_default'),item.livingSpace|number_format(2, ',', ''),{ append: ' m²'}) }}
|
|
| 171 |
- {{ _self.tableRow('tl_vr_real_estate_assets.numberOfRooms.0'|trans({}, 'contao_default'),item.numberOfRooms) }}
|
|
| 172 |
- {% set condition = 'REF.re_condition.' ~ item.condition %}
|
|
| 173 |
- {{ _self.tableRow('tl_vr_real_estate_assets.condition.0'|trans({}, 'contao_default'),condition|trans({}, 'contao_default')) }}
|
|
| 174 |
- {{ _self.tableRow('tl_vr_real_estate_assets.constructionYear.0'|trans({}, 'contao_default'),item.constructionYear) }}
|
|
| 175 |
- ], |
|
| 176 |
- }, |
|
| 177 |
- layout: 'noBorders', |
|
| 178 |
- margin: [5, 5, 5, 5], |
|
| 179 |
- }, |
|
| 180 |
- {
|
|
| 181 |
- table: {
|
|
| 182 |
- widths: ['40%', '*'], |
|
| 183 |
- body: [ |
|
| 184 |
- {% set heating = 'REF.re_heatingType.' ~ item.heatingType %}
|
|
| 185 |
- {{ _self.tableRow('tl_vr_real_estate_assets.heatingType.0'|trans({}, 'contao_default'),heating|trans({}, 'contao_default')) }}
|
|
| 186 |
- {% if item.energyConsumption and item.energyPassType %}
|
|
| 187 |
- {% set passType = 'REF.re_energyPassType.' ~ item.energyPassType %}
|
|
| 188 |
- {{ _self.tableRow('MSC.re_energyConsumption'|trans({}, 'contao_default') ~ ' ' ~ passType|trans({}, 'contao_default'),item.energyConsumption,{ append: ' kWh/(m²a)'}) }}
|
|
| 189 |
- {% endif %}
|
|
| 190 |
- ], |
|
| 191 |
- }, |
|
| 192 |
- layout: 'noBorders', |
|
| 193 |
- margin: [5, 5, 5, 5], |
|
| 194 |
- }, |
|
| 195 |
- {
|
|
| 196 |
- text: '{{ 'MSC.re_rent'|trans({}, 'contao_default') }}',
|
|
| 197 |
- style: 'h4', |
|
| 198 |
- margin: [5, 5, 5, 5], |
|
| 199 |
- }, |
|
| 200 |
- {
|
|
| 201 |
- table: {
|
|
| 202 |
- widths: ['40%', '*'], |
|
| 203 |
- body: [ |
|
| 204 |
- {{ _self.tableRow('tl_vr_real_estate_assets.coldRent.0'|trans({}, 'contao_default'),item.coldRent|number_format(2, ',', ''),{ append: ' €'}) }}
|
|
| 205 |
- {{ _self.tableRow('Betriebskosten-vorauszahlungen',item.advanceOperatingCosts|number_format(2, ',', ''),{ append: ' €'}) }}
|
|
| 206 |
- ], |
|
| 207 |
- }, |
|
| 208 |
- layout: 'noBorders', |
|
| 209 |
- margin: [5, 5, 5, 5], |
|
| 210 |
- }, |
|
| 211 |
- {
|
|
| 212 |
- table: {
|
|
| 213 |
- widths: ['40%', '*'], |
|
| 214 |
- body: [ |
|
| 215 |
- {{ _self.tableRow('Genossenschafts-anteile',item.cooperativeShares) }}
|
|
| 216 |
- {{ _self.tableRow('tl_vr_real_estate_assets.availability.0'|trans({}, 'contao_default'),item.availableFrom) }}
|
|
| 217 |
- ], |
|
| 218 |
- }, |
|
| 219 |
- layout: 'noBorders', |
|
| 220 |
- margin: [5, 5, 5, 5], |
|
| 221 |
- }, |
|
| 158 |
+ widths: ['*'], |
|
| 159 |
+ body: [ |
|
| 160 |
+ [ |
|
| 161 |
+ {
|
|
| 162 |
+ text: '{{ item.description|raw|striptags|replace({ '\r\n': '\\r\\n', '\n': '\\n', '\r': '\\r' }) }}',
|
|
| 163 |
+ margin: [15, 10, 15, 10], |
|
| 164 |
+ // color: '#357792' |
|
| 165 |
+ } |
|
| 222 | 166 |
] |
| 223 |
- } |
|
| 224 | 167 |
] |
| 225 |
- ] |
|
| 226 | 168 |
}, |
| 227 |
- fillColor: '#f3fbff', |
|
| 169 |
+ fillColor: '#e6ebf1', |
|
| 228 | 170 |
layout: 'noBorders', |
| 229 |
- }, |
|
| 230 |
- ], |
|
| 231 |
- width: '*', |
|
| 232 |
- }{% if item.features is iterable and item.features|length > 0 %},
|
|
| 233 |
- {
|
|
| 234 |
- stack: [ |
|
| 235 |
- {
|
|
| 236 |
- text: '{{ 'MSC.re_features'|trans({}, 'contao_default') }}',
|
|
| 237 |
- style: 'h3' |
|
| 238 |
- }, |
|
| 239 |
- {
|
|
| 240 |
- table: {
|
|
| 241 |
- widths: ['*'], |
|
| 242 |
- body: [ |
|
| 243 |
- [ |
|
| 244 |
- {
|
|
| 171 |
+ margin: [0, 0, 0,{{ 8|mm2pt }}],
|
|
| 172 |
+ }, |
|
| 173 |
+ {% endif %}
|
|
| 174 |
+ {
|
|
| 175 |
+ columns: [ |
|
| 176 |
+ {
|
|
| 245 | 177 |
stack: [ |
| 246 |
- {
|
|
| 247 |
- table: {
|
|
| 248 |
- widths: [10, '*'], |
|
| 249 |
- body: [ |
|
| 250 |
- {% for feature in item.features %}
|
|
| 251 |
- {% set featureTrans = 'REF.re_features.' ~ feature %}
|
|
| 252 |
- [ |
|
| 253 |
- {
|
|
| 254 |
- canvas: [ |
|
| 255 |
- {
|
|
| 256 |
- type: 'polyline', |
|
| 257 |
- lineWidth: 1, |
|
| 258 |
- closePath: false, |
|
| 259 |
- points: [{x: 0, y: 6}, {x: 4, y: 10}, {x: 10, y: 2}],
|
|
| 260 |
- lineColor: '#73160E' |
|
| 261 |
- } |
|
| 178 |
+ {
|
|
| 179 |
+ text: '{{ 'MSC.re_properties'|trans({}, 'contao_default') }}',
|
|
| 180 |
+ style: 'h3' |
|
| 181 |
+ }, |
|
| 182 |
+ {
|
|
| 183 |
+ table: {
|
|
| 184 |
+ widths: ['*'], |
|
| 185 |
+ body: [ |
|
| 186 |
+ [ |
|
| 187 |
+ {
|
|
| 188 |
+ stack: [ |
|
| 189 |
+ {
|
|
| 190 |
+ table: {
|
|
| 191 |
+ widths: ['40%', '*'], |
|
| 192 |
+ body: [ |
|
| 193 |
+ {% if item.livingSpace is defined and item.livingSpace is not empty %}{{ _self.tableRow('tl_vr_real_estate_assets.livingSpace.0'|trans({}, 'contao_default'),item.livingSpace|number_format(2, ',', ''),{ append: ' m²'}) }}{% endif %}
|
|
| 194 |
+ {% if item.numberOfRooms is defined and item.numberOfRooms is not empty %}{{ _self.tableRow('tl_vr_real_estate_assets.numberOfRooms.0'|trans({}, 'contao_default'),item.numberOfRooms) }}{% endif %}
|
|
| 195 |
+ {% if item.condition is defined and item.condition is not empty %}{{ _self.tableRow('tl_vr_real_estate_assets.condition.0'|trans({}, 'contao_default'),('REF.re_condition.' ~ item.condition)|trans({}, 'contao_default')) }}{% endif %}
|
|
| 196 |
+ {% if item.constructionYear is defined and item.constructionYear is not empty %}{{ _self.tableRow('tl_vr_real_estate_assets.constructionYear.0'|trans({}, 'contao_default'),item.constructionYear) }}{% endif %}
|
|
| 197 |
+ ], |
|
| 198 |
+ }, |
|
| 199 |
+ layout: 'noBorders', |
|
| 200 |
+ margin: [15, 10, 15, 5], |
|
| 201 |
+ }, |
|
| 202 |
+ {% if item.heatingType is not empty and item.energyConsumption is not empty and item.energyPassType is not empty %}
|
|
| 203 |
+ {
|
|
| 204 |
+ table: {
|
|
| 205 |
+ widths: ['40%', '*'], |
|
| 206 |
+ body: [ |
|
| 207 |
+ {% if item.heatingType is defined and item.heatingType is not empty %}{{ _self.tableRow('tl_vr_real_estate_assets.heatingType.0'|trans({}, 'contao_default'),('REF.re_heatingType.' ~ item.heatingType)|trans({}, 'contao_default')) }}{% endif %}
|
|
| 208 |
+ {% if item.energyConsumption and item.energyPassType %}
|
|
| 209 |
+ {{ _self.tableRow('MSC.re_energyConsumption'|trans({}, 'contao_default')|replace({'­' : '-'}) ~ ' ' ~ ('REF.re_energyPassType.' ~ item.energyPassType)|trans({}, 'contao_default'),item.energyConsumption,{ append: ' kWh/(m²a)'}) }}
|
|
| 210 |
+ {% endif %}
|
|
| 211 |
+ ], |
|
| 212 |
+ }, |
|
| 213 |
+ layout: 'noBorders', |
|
| 214 |
+ margin: [15, 5, 15, 5], |
|
| 215 |
+ }, |
|
| 216 |
+ {% endif %}
|
|
| 217 |
+ {
|
|
| 218 |
+ text: '{{ 'MSC.re_rent'|trans({}, 'contao_default') }}',
|
|
| 219 |
+ style: 'h4', |
|
| 220 |
+ margin: [15, 5, 15, 5], |
|
| 221 |
+ }, |
|
| 222 |
+ {
|
|
| 223 |
+ table: {
|
|
| 224 |
+ widths: ['40%', '*'], |
|
| 225 |
+ body: [ |
|
| 226 |
+ {{ _self.tableRow('tl_vr_real_estate_assets.coldRent.0'|trans({}, 'contao_default'),item.coldRent|number_format(2, ',', ''),{ append: ' €'}) }}
|
|
| 227 |
+ {{ _self.tableRow('tl_vr_real_estate_assets.advanceOperatingCosts.0'|trans({}, 'contao_default')|replace({'­' : '-'}),item.advanceOperatingCosts|number_format(2, ',', ''),{ append: ' €'}) }}
|
|
| 228 |
+ ], |
|
| 229 |
+ }, |
|
| 230 |
+ layout: 'noBorders', |
|
| 231 |
+ margin: [15, 5, 15, 5], |
|
| 232 |
+ }, |
|
| 233 |
+ {
|
|
| 234 |
+ table: {
|
|
| 235 |
+ widths: ['40%', '*'], |
|
| 236 |
+ body: [ |
|
| 237 |
+ {{ _self.tableRow('tl_vr_real_estate_assets.deposit.0'|trans({}, 'contao_default')|replace({'­' : '-'}),item.deposit|number_format(2, ',', ''),{ append: ' €'}) }}
|
|
| 238 |
+ {{ _self.tableRow('tl_vr_real_estate_assets.availability.0'|trans({}, 'contao_default'),item.availableFrom) }}
|
|
| 239 |
+ ], |
|
| 240 |
+ }, |
|
| 241 |
+ layout: 'noBorders', |
|
| 242 |
+ margin: [15, 5, 15, 10], |
|
| 243 |
+ }, |
|
| 244 |
+ ] |
|
| 245 |
+ } |
|
| 246 |
+ ] |
|
| 262 | 247 |
] |
| 263 |
- }, |
|
| 264 |
- {
|
|
| 265 |
- text: '{{ featureTrans|trans({}, 'contao_default') }}',
|
|
| 266 |
- // color: '#357792' |
|
| 267 |
- } |
|
| 268 |
- ], |
|
| 269 |
- {% endfor %}
|
|
| 270 |
- ], |
|
| 248 |
+ }, |
|
| 249 |
+ fillColor: '#e6ebf1', |
|
| 250 |
+ layout: 'noBorders', |
|
| 271 | 251 |
}, |
| 272 |
- layout: 'noBorders', |
|
| 273 |
- margin: [5, 5, 5, 5], |
|
| 274 |
- }, |
|
| 275 |
- ] |
|
| 276 |
- } |
|
| 277 |
- ] |
|
| 278 |
- ] |
|
| 279 |
- }, |
|
| 280 |
- fillColor: '#f3fbff', |
|
| 281 |
- layout: 'noBorders', |
|
| 282 |
- }, |
|
| 283 |
- ], |
|
| 284 |
- width: '*' |
|
| 285 |
- }{% endif %}
|
|
| 286 |
- ], |
|
| 287 |
- margin: [0,0,0,{{ 10|mm2pt }}],
|
|
| 288 |
- columnGap: {{ 5|mm2pt }},
|
|
| 289 |
- unbreakable: true |
|
| 290 |
- }, |
|
| 291 |
- {% if item.floorPlansFigures|length > 0 %}
|
|
| 292 |
- {
|
|
| 293 |
- text: '{{ 'MSC.re_floorPlan'|trans({}, 'contao_default') }}',
|
|
| 294 |
- style: 'h3', |
|
| 295 |
- pageBreak: 'before' |
|
| 296 |
- }, |
|
| 297 |
- {% for image in item.floorPlansFigures %}
|
|
| 298 |
- {
|
|
| 299 |
- image: '{{ image.getImage().getFilePath()|imageDataUrl }}',
|
|
| 300 |
- fit: [{{ 180|mm2pt }},{{ 180|mm2pt }}],
|
|
| 301 |
- alignment: 'center' |
|
| 302 |
- }, |
|
| 303 |
- {% endfor %}
|
|
| 304 |
- {% endif %}
|
|
| 305 |
- {% if item.galleryFigures|length > 1 %}
|
|
| 306 |
- {
|
|
| 307 |
- text: '{{ 'MSC.re_gallery'|trans({}, 'contao_default') }}',
|
|
| 308 |
- style: 'h3', |
|
| 309 |
- pageBreak: 'before' |
|
| 310 |
- }, |
|
| 311 |
- {
|
|
| 312 |
- columns: [ |
|
| 313 |
- {% for image in item.galleryFigures[1:] %}
|
|
| 314 |
- {% if loop.index % 2 > 0 and loop.index > 1 %}
|
|
| 252 |
+ ], |
|
| 253 |
+ width: '*', |
|
| 254 |
+ }{% if item.features is iterable and item.features|length > 0 %},
|
|
| 255 |
+ {
|
|
| 256 |
+ stack: [ |
|
| 257 |
+ {
|
|
| 258 |
+ text: '{{ 'MSC.re_features'|trans({}, 'contao_default') }}',
|
|
| 259 |
+ style: 'h3' |
|
| 260 |
+ }, |
|
| 261 |
+ {
|
|
| 262 |
+ table: {
|
|
| 263 |
+ widths: ['*'], |
|
| 264 |
+ body: [ |
|
| 265 |
+ [ |
|
| 266 |
+ {
|
|
| 267 |
+ stack: [ |
|
| 268 |
+ {
|
|
| 269 |
+ table: {
|
|
| 270 |
+ widths: [10, '*'], |
|
| 271 |
+ body: [ |
|
| 272 |
+ {% for feature in item.features %}
|
|
| 273 |
+ {% set featureTrans = 'REF.re_features.' ~ feature %}
|
|
| 274 |
+ [ |
|
| 275 |
+ {
|
|
| 276 |
+ canvas: [ |
|
| 277 |
+ {
|
|
| 278 |
+ type: 'ellipse', |
|
| 279 |
+ x: 5, y: 6, |
|
| 280 |
+ lineColor: 'black', |
|
| 281 |
+ lineWidth: 1, |
|
| 282 |
+ r1: 5, r2: 5 |
|
| 283 |
+ }, |
|
| 284 |
+ {
|
|
| 285 |
+ type: 'polyline', |
|
| 286 |
+ lineWidth: 1, |
|
| 287 |
+ closePath: false, |
|
| 288 |
+ points: [ |
|
| 289 |
+ {x: 3, y: 5},
|
|
| 290 |
+ {x: 5, y: 8},
|
|
| 291 |
+ {x: 10, y: 1}
|
|
| 292 |
+ ], |
|
| 293 |
+ lineColor: '#1476BB' |
|
| 294 |
+ } |
|
| 295 |
+ ] |
|
| 296 |
+ }, |
|
| 297 |
+ {
|
|
| 298 |
+ text: '{{ featureTrans|trans({}, 'contao_default') }}',
|
|
| 299 |
+ // color: '#357792' |
|
| 300 |
+ } |
|
| 301 |
+ ], |
|
| 302 |
+ {% endfor %}
|
|
| 303 |
+ ], |
|
| 304 |
+ }, |
|
| 305 |
+ layout: 'noBorders', |
|
| 306 |
+ margin: [15, 10, 15, 10], |
|
| 307 |
+ }, |
|
| 308 |
+ ] |
|
| 309 |
+ } |
|
| 310 |
+ ] |
|
| 311 |
+ ] |
|
| 312 |
+ }, |
|
| 313 |
+ fillColor: '#e6ebf1', |
|
| 314 |
+ layout: 'noBorders', |
|
| 315 |
+ }, |
|
| 316 |
+ ], |
|
| 317 |
+ width: '*' |
|
| 318 |
+ }{% endif %}
|
|
| 315 | 319 |
], |
| 320 |
+ margin: [0, 0, 0,{{ 8|mm2pt }}],
|
|
| 316 | 321 |
columnGap: {{ 5|mm2pt }},
|
| 317 |
- margin: [0,0,0,{{ 5|mm2pt }}],
|
|
| 318 |
- }, |
|
| 319 |
- {
|
|
| 320 |
- columns: [ |
|
| 321 |
- {% endif %}
|
|
| 322 |
+ unbreakable: true |
|
| 323 |
+ }, |
|
| 324 |
+ {% if item.floorPlansFigures|length > 0 %}
|
|
| 325 |
+ {
|
|
| 326 |
+ text: '{{ 'MSC.re_floorPlan'|trans({}, 'contao_default') }}',
|
|
| 327 |
+ style: 'h3', |
|
| 328 |
+ pageBreak: 'before' |
|
| 329 |
+ }, |
|
| 330 |
+ {% for image in item.floorPlansFigures %}
|
|
| 322 | 331 |
{
|
| 323 |
- image: '{{ image.getImage().getFilePath()|imageDataUrl }}',
|
|
| 324 |
- width: {{ 85|mm2pt }},
|
|
| 325 |
- alignment: 'left' |
|
| 332 |
+ image: '{{ image.getImage().getFilePath()|imageDataUrl }}',
|
|
| 333 |
+ fit: [{{ 180|mm2pt }},{{ 180|mm2pt }}],
|
|
| 334 |
+ alignment: 'center' |
|
| 326 | 335 |
}, |
| 327 | 336 |
{% endfor %}
|
| 328 |
- ], |
|
| 329 |
- columnGap: {{ 5|mm2pt }}
|
|
| 337 |
+ {% endif %}
|
|
| 338 |
+ {% if item.galleryFigures|length > 1 %}
|
|
| 339 |
+ {
|
|
| 340 |
+ text: '{{ 'MSC.re_gallery'|trans({}, 'contao_default') }}',
|
|
| 341 |
+ style: 'h3', |
|
| 342 |
+ pageBreak: 'before' |
|
| 343 |
+ }, |
|
| 344 |
+ {
|
|
| 345 |
+ columns: [ |
|
| 346 |
+ {% for image in item.galleryFigures[1:] %}
|
|
| 347 |
+ {% if loop.index % 2 > 0 and loop.index > 1 %}
|
|
| 348 |
+ ], |
|
| 349 |
+ columnGap: {{ 5|mm2pt }},
|
|
| 350 |
+ margin: [0, 0, 0,{{ 5|mm2pt }}],
|
|
| 351 |
+ }, |
|
| 352 |
+ {
|
|
| 353 |
+ columns: [ |
|
| 354 |
+ {% endif %}
|
|
| 355 |
+ {
|
|
| 356 |
+ image: '{{ image.getImage().getFilePath()|imageDataUrl }}',
|
|
| 357 |
+ width: {{ 85|mm2pt }},
|
|
| 358 |
+ alignment: 'left' |
|
| 359 |
+ }, |
|
| 360 |
+ {% endfor %}
|
|
| 361 |
+ ], |
|
| 362 |
+ columnGap: {{ 5|mm2pt }}
|
|
| 363 |
+ } |
|
| 364 |
+ {% endif %}
|
|
| 365 |
+ ], |
|
| 366 |
+ pageBreakBefore(currentNode, followingNodesOnPage, nodesOnNextPage, previousNodesOnPage) {
|
|
| 367 |
+ return currentNode.pageNumbers.length > 1 && currentNode.unbreakable; |
|
| 330 | 368 |
} |
| 331 |
- {% endif %}
|
|
| 332 |
- ], |
|
| 333 |
- pageBreakBefore(currentNode, followingNodesOnPage, nodesOnNextPage, previousNodesOnPage) {
|
|
| 334 |
- return currentNode.pageNumbers.length > 1 && currentNode.unbreakable; |
|
| 335 |
- } |
|
| 336 |
- }; |
|
| 337 |
- const pdfDocGenerator = pdfMake.createPdf(docDefinition); |
|
| 369 |
+ }; |
|
| 370 |
+ const pdfDocGenerator = pdfMake.createPdf(docDefinition); |
|
| 338 | 371 |
|
| 339 |
- /*pdfDocGenerator.getDataUrl((dataUrl) => {
|
|
| 340 |
- const targetElement = document.querySelector('#iframeContainer');
|
|
| 341 |
- const iframe = document.createElement('object');
|
|
| 342 |
- iframe.data = dataUrl; |
|
| 343 |
- iframe.setAttribute('style','width: 100%; height: 80vh;');
|
|
| 344 |
- iframe.setAttribute('type','application/pdf');
|
|
| 345 |
- targetElement.appendChild(iframe); |
|
| 346 |
- });*/ |
|
| 347 |
- pdfDocGenerator.open(); |
|
| 348 |
- {#pdfDocGenerator.download('expose_{{ item.assetNo }}');#}
|
|
| 349 |
- // pdfDocGenerator.open({},window);
|
|
| 372 |
+ /*pdfDocGenerator.getDataUrl((dataUrl) => {
|
|
| 373 |
+ const targetElement = document.querySelector('#iframeContainer');
|
|
| 374 |
+ const iframe = document.createElement('object');
|
|
| 375 |
+ iframe.data = dataUrl; |
|
| 376 |
+ iframe.setAttribute('style','width: 100%; height: 80vh;');
|
|
| 377 |
+ iframe.setAttribute('type','application/pdf');
|
|
| 378 |
+ targetElement.appendChild(iframe); |
|
| 379 |
+ });*/ |
|
| 380 |
+ // pdfDocGenerator.open(); |
|
| 381 |
+ {# pdfDocGenerator.download('expose_{{ item.assetNo }}'); #}
|
|
| 382 |
+ pdfDocGenerator.open({},window);
|
|
| 350 | 383 |
</script> |
| ... | ... |
@@ -51,10 +51,10 @@ |
| 51 | 51 |
{% if item.rent > 0 %}{{ _self.listEntry('tl_vr_real_estate_assets.rent.0'|trans({}, 'contao_default'),item.rent|number_format(2, ',', ''),{ append: ' €'}) }}{% endif %}
|
| 52 | 52 |
{% set total = item.coldRent + item.rent + item.advanceOperatingCosts %}
|
| 53 | 53 |
{{ _self.listEntry('tl_vr_real_estate_assets.total'|trans({}, 'contao_default'),total|number_format(2, ',', ''),{ class: 'mt-default', strong: true, append: ' €'}) }}
|
| 54 |
+ {% if item.deposit is not empty %}{{ _self.listEntry('tl_vr_real_estate_assets.deposit.0'|trans({}, 'contao_default'),item.deposit|number_format(2, ',', ''),{ class: 'mt-default', append: ' €'}) }}{% endif %}
|
|
| 54 | 55 |
</ul> |
| 55 | 56 |
<ul class="expose-facts-features"> |
| 56 | 57 |
{% if item.livingSpace > 0 %}{{ _self.listEntry('tl_vr_real_estate_assets.livingSpace.0'|trans({}, 'contao_default'),item.livingSpace|number_format(2, ',', ''),{ append: ' m²'}) }}{% endif %}
|
| 57 |
- {% if item.deposit is not empty %}{{ _self.listEntry('tl_vr_real_estate_assets.deposit.0'|trans({}, 'contao_default'),item.deposit) }}{% endif %}
|
|
| 58 | 58 |
{% if item.numberOfRooms > 0 %}{{ _self.listEntry('tl_vr_real_estate_assets.numberOfRooms.0'|trans({}, 'contao_default'),item.numberOfRooms) }}{% endif %}
|
| 59 | 59 |
{% if item.floor > 0 %}{{ _self.listEntry('tl_vr_real_estate_assets.floor.0'|trans({}, 'contao_default'),item.floor) }}{% endif %}
|
| 60 | 60 |
{% if item.constructionYear is not empty %}{{ _self.listEntry('tl_vr_real_estate_assets.constructionYear.0'|trans({}, 'contao_default'),item.constructionYear) }}{% endif %}
|
| ... | ... |
@@ -90,6 +90,9 @@ |
| 90 | 90 |
{% if item.postal is not empty and item.city is not empty %}{{ item.postal }} {{ item.city }}<br>{% endif %}
|
| 91 | 91 |
</li> |
| 92 | 92 |
</ul> |
| 93 |
+ {% if item.pdfUrl is not empty %}
|
|
| 94 |
+ <p class="pdf-link"><a href="{{ item.pdfUrl }}" title="{{ 'MSC.re_pdfExpose'|trans({}, 'contao_default') }}" target="_blank">PDF-Expose</a></p>
|
|
| 95 |
+ {% endif %}
|
|
| 93 | 96 |
</div> |
| 94 | 97 |
</div> |
| 95 | 98 |
{% if item.description %}
|