product_detail.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480
  1. {% extends "base_generic.html" %}
  2. {% load fullurl %}
  3. {% load tags %}
  4. {% load static %}
  5. {% load compress %}
  6. {% load email_obfuscator %}
  7. {% block script %}
  8. <link href="{% static 'featherlight.min.css' %}" type="text/css" rel="stylesheet" />
  9. <script src="{% static 'featherlight.min.js' %}"></script>
  10. <link href="{% static 'featherlight.gallery.min.css' %}" type="text/css" rel="stylesheet" />
  11. <script src="{% static 'featherlight.gallery.min.js' %}"></script>
  12. <script>
  13. $(document).ready(function() {
  14. $('.gallery').featherlightGallery({
  15. previousIcon: '«',
  16. nextIcon: '»',
  17. galleryFadeIn: 250,
  18. openSpeed: 250,
  19. });
  20. });
  21. </script>
  22. <style>
  23. .image-detail {
  24. margin: 40px 60px 40px 0px;
  25. }
  26. .object-text strong {
  27. font-weight: bolder;
  28. font: "NeuzeitGro-Bla", sans-serif;
  29. }
  30. .object-text {
  31. line-height: 1.2;
  32. color: #000;
  33. }
  34. .object-text h1,
  35. h2,
  36. h3,
  37. h4,
  38. h5 {
  39. color: #469CA8;
  40. }
  41. .object-color {
  42. color: #469CA8;
  43. }
  44. .titlepro {
  45. margin-top: 40px;
  46. font-family: NeuzeitGro-Bla;
  47. }
  48. @media (min-width: 500px) {}
  49. </style>
  50. {% endblock %}
  51. {% block content %}
  52. <!-- <hr style="color: black; background-color: black; margin-top: 0px; width: 130%; display: flex; margin-left: -20px; margin-right:20px "> -->
  53. <div class="container " style="">
  54. <div class="row gemain-color object-text">
  55. <div class="col-sm-6">
  56. <h1 class="titlepro" style="">{{ object.name }}</h1>
  57. <p class="lead kur">{% if object.claim %}{{ object.claim }}{% endif %}</p>
  58. <div class="row object-color">
  59. <div class="col-sm-4">{% include "marktplatz/modal-share.html" %}</div>
  60. <div class="col-sm-4"> {% include "marktplatz/modal-sa.html" %}</div>
  61. <div class="col-sm-4">{% if object.email %} {{ object.email | obfuscate_mailto:'<i class="fas fa-envelope"></i> Email' }}{% endif %}</div>
  62. </div>
  63. <div class="">
  64. &nbsp;
  65. </div>
  66. <div class="">
  67. &nbsp;
  68. </div>
  69. <div class="">
  70. &nbsp;
  71. </div>
  72. <div class="">
  73. &nbsp;
  74. </div>
  75. <div class="">
  76. <p><strong>Wohnungsangebot</strong>:<br>
  77. {% if object.frei == 'JAJA' %}
  78. Wohnung frei.
  79. {% if object.kfrei %}
  80. {{ object.kfrei }}
  81. {% if object.email %}<p>{{ object.email | obfuscate_mailto:'<i class="fas fa-envelope"></i> Email' }}</p>{% endif %}
  82. {% endif %}
  83. {% endif %}
  84. {% if object.frei == 'WART' %}
  85. Wir haben derzeit keine Wohnung frei, aber wir melden uns, wenn etwas frei wird. Aktiviere die Benachrichtigung!
  86. {% endif %}
  87. {% if object.frei == 'NEIN' %}
  88. Wir haben derzeit keine Wohnung und führen auch keine Warteliste, auf die du dich setzen lassen kannst.
  89. {% endif %}
  90. </p>
  91. </div>
  92. <!-- <div class="">
  93. {{ object.mitmachen }}
  94. </div> -->
  95. <p>{% if object.inseratstext %}<strong>{% field_name object 'inseratstext' %}</strong>:<br>{{ object.inseratstext }} {% if object.email %}<p>{{ object.email | obfuscate_mailto:'<i class="fas fa-envelope"></i> Email' }}</p>{% endif %}{% endif %}</p>
  96. <div class="">
  97. &nbsp;
  98. </div>
  99. <p class="">{% if object.beschreibung %}<strong>{% field_name object 'beschreibung' %}</strong>:<br>{{ object.beschreibung | safe | linebreaks }}{% endif %}</p>
  100. <p class="">{% if object.learning %}<strong>{% field_name object 'learning' %}</strong>:<br>{{ object.learning | safe | linebreaks }}{% endif %}</p>
  101. <div class="">
  102. &nbsp;
  103. </div>
  104. <div class="">
  105. &nbsp;
  106. </div>
  107. {% for video in object.video_set.all %}
  108. <video autoplay style="width: 100%;height: auto;vertical-align: middle; padding-bottom: 10px" controls>
  109. <source src="{{video.image.url}}" type="video/mp4">
  110. </video>
  111. {% endfor %}
  112. {% if object.media_set %}
  113. {% for media in object.media_set.all %}
  114. {% if not forloop.first %}
  115. {% if forloop.counter < 6 %}
  116. <div class="image-detail" style="flex: {% get_ratio media %}; ">
  117. <img href="{{media.image_big.url}}" src="{{media.image_norm.url }}" class="gallery img-fluid img-responsive" alt="" style="width: 100%;height: auto;vertical-align: middle;">
  118. </div>
  119. {% endif %}
  120. {% endif %}
  121. {% endfor %}
  122. {% endif %}
  123. </div>
  124. <!-- *************************************************************** -->
  125. <div class="col-sm-6">
  126. <div class="image-detail" style="">
  127. <img href="{{object.media_set.first.image_big.url}}" src="{{object.media_set.first.image_norm.url }}" class="gallery img-fluid img-responsive" alt="" style="width: 100%;height: auto;vertical-align: middle;">
  128. </div>
  129. <br />
  130. <h5 class=" mediumkur">Kontakt</h5>
  131. <br />
  132. <p>{{ object.adresse }}{% if object.adresse_zusatz %}, {{ object.adresse_zusatz }}{% endif %}{% if object.plz %}, {{ object.plz }}{% endif %}{% if object.ort %}, {{ object.get_ort_display }}{% endif %}</p>
  133. <div class="row">
  134. <div class="col-sm-4">
  135. {% if object.email %}<p>{{ object.email | obfuscate_mailto:'<i class="fas fa-envelope"></i> Email' }}</p>{% endif %}
  136. </div>
  137. <div class="col-sm-8">
  138. {% if object.email %}<p><a href="mailto:{{ object.email | obfuscate }}" >{{ object.email | obfuscate }}</a></p>{% endif %}
  139. </div>
  140. </div>
  141. <div class="row">
  142. <div class="col-sm-4">
  143. {% if object.website %}<p><a href="{{ object.website }}" target="_blank" rel="noopener">Webseite</a></p>{% endif %}
  144. </div>
  145. <div class="col-sm-8">
  146. {% if object.website %}<p><a href="{{ object.website }}" target="_blank" rel="noopener">{{ object.website }}</a></p>{% endif %}
  147. </div>
  148. </div>
  149. <br />
  150. <h5 class=" mediumkur">Steckbrief</h5>
  151. <br />
  152. {% block detail %}
  153. <p>{{ object.kind_of_product }}, gegründet {{ object.gruendungsjahr }}{% if object.betriebgenommen %}, in Betrieb genommen: {{ object.betriebgenommen }}{% endif %}.</p>
  154. <p><strong>Rechtsform</strong>: {{ object.rechtsform }}</p>
  155. <!-- XXX --> <p>{{ object.artmodell }}</p>
  156. <p>{% if object.orga %}<strong>{% field_name object 'orga' %}</strong>: {{ object.orga }}{% endif %}</p>
  157. <!-- XXX --> <p>{% if object.eigentum %}<strong>{% field_name object 'eigentum' %}</strong>: {{ object.get_eigentum_display }}{% endif %}</p>
  158. <!-- XXX --> <p>{% if object.gprojekte %}<strong>Gemeinschaftliche Projekte</strong>: {{ object.gprojekte }}{% endif %}</p>
  159. <p>{% if object.zielgruppen %}<strong>Besondere Zielgruppen</strong>: {{ object.zielgruppen }}{% endif %}</p>
  160. <p>{% if object.freiraumangebote %}<strong>Freiraumangebote</strong>: {{ object.freiraumangebote }}{% endif %}</p>
  161. <p>{% if object.oekologie %}<strong>{% field_name object 'oekologie' %}</strong>: {{ object.oekologie }}{% endif %}</p>
  162. <p>{% if object.schwerpunkt %}<strong>{% field_name object 'schwerpunkt' %}</strong>: {{ object.schwerpunkt }}{% endif %}</p>
  163. <br />
  164. <h5 class=" mediumkur">Kenndaten</h5>
  165. <br />
  166. <p>{% if object.altneu %}{{ object.get_altneu_display }}{% endif %}{% if object.bauweise %}, {{ object.bauweise }}{% endif %}</p>
  167. <p>{% if object.bautraeger %}<strong>{% field_name object 'bautraeger' %}:</strong>: {{ object.bautraeger }}{% endif %}</p>
  168. <p>{% if object.architektur %}<strong>{% field_name object 'architektur' %}:</strong> {{ object.architektur }}{% endif %}</p>
  169. <p>{% if object.wohnbaufoerderung %}<strong>{% field_name object 'wohnbaufoerderung' %}:</strong> {{ object.wohnbaufoerderung }}{% endif %}</p>
  170. <p>im Haus Wohnen ca {{ object.aerwachsene }} Erwachsene und {{ object.akinder }} Kinder.
  171. Anzahl der Mitglieder: {{ object.amitglieder }}
  172. </p>
  173. <p>{% if object.awohnungen %}<strong>{% field_name object 'awohnungen' %}:</strong> {{ object.awohnungen }} Wohnungen{% endif %}</p>
  174. <p>{% if object.gaestwohnungen %}<strong>{% field_name object 'gaestwohnungen' %}:</strong> {{ object.gaestwohnungen }}{% endif %}</p>
  175. <p>{% if object.wohnflaeche %}<strong>{% field_name object 'wohnflaeche' %}:</strong> {{ object.wohnflaeche }} m<sup>2</sup>{% endif %}</p>
  176. <p>{% if object.sonderwohnformen %}<strong>{% field_name object 'sonderwohnformen' %}</strong>: {{ object.sonderwohnformen }}{% endif %}</p>
  177. <p>{% if object.gewerbeflaechen %}<strong>{% field_name object 'gewerbeflaechen' %}:</strong> {{ object.gewerbeflaechen }} m<sup>2</sup>{% endif %}</p>
  178. <p>{% if object.gewerbe %}<strong>{% field_name object 'gewerbe' %}:</strong> {{ object.gewerbe }}{% endif %}</p>
  179. <p>{% if object.gemeinschaftsflaeche %}<strong>{% field_name object 'gemeinschaftsflaeche' %}:</strong> {{ object.gemeinschaftsflaeche }} m<sup>2</sup>{% endif %}</p>
  180. <p><strong>Gemeinschaftsräume</strong>:
  181. {{ object.gemeinschaftr }}{% if object.kgemeinschaftr %}, {{ object.kgemeinschaftr }}{% endif %}
  182. </p>
  183. <p>{% if object.sonstige_flaechen %}<strong>{% field_name object 'sonstige_flaechen' %}:</strong> {{ object.sonstige_flaechen }} m<sup>2</sup>{% endif %}</p>
  184. <p>{% if object.flaeche %}<strong>{% field_name object 'flaeche' %}:</strong> {{ object.flaeche }} m<sup>2</sup>{% endif %}</p>
  185. <p>{% if object.kflaechen %}<strong>{% field_name object 'kflaechen' %}:</strong> {{ object.kflaechen }} m<sup>2</sup>{% endif %}</p>
  186. <p>{% if object.parbeiten %}Im Haus arbeiten ca {{ object.parbeiten }} Personen.{% endif %}
  187. {% if object.karbeiten %}{{ object.karbeiten }}{% endif %}</p>
  188. <p>{% if object.raumangebot %}<strong>{% field_name object 'raumangebot' %}:</strong> {{ object.raumangebot }}{% if object.kraumangebot %},
  189. {{ object.kraumangebot }}
  190. {% endif %}
  191. {% endif %}</p>
  192. <!-- <p>{% if object.kraumangebot %}<strong>{% field_name object 'kraumangebot' %}:</strong> {{ object.kraumangebot }}{% endif %}</p> -->
  193. {% endblock %}
  194. <br />
  195. <h5 class="mediumkur">Mehr über das Projekt</h5>
  196. <p>Posts tagged {{ object.name|slugify }}</p>
  197. <br />
  198. <ul class="" id="blog-post-demo" >
  199. <blog-post
  200. v-for="post in posts"
  201. v-bind:key="post.id"
  202. v-bind:title="post.title"
  203. v-bind:link="post.link"
  204. ></blog-post>
  205. </ul>
  206. <br />
  207. <h5 class="mediumkur">Mediacredits</h5>
  208. <br />
  209. {% for media in object.media_set.all %}
  210. {% if media.copyright %}
  211. <p class="fieldname"> {{ media.copyright }}</p>
  212. {% endif %}
  213. {% endfor %}
  214. {% for media in object.video_set.all %}
  215. {% if media.copyright %}
  216. <p class="fieldname"> {{ media.copyright }}</p>
  217. {% endif %}
  218. {% endfor %}
  219. {% if object.media_set %}
  220. {% for media in object.media_set.all %}
  221. {% if forloop.counter > 5 %}
  222. <div style="flex: {% get_ratio media %}; margin:40px 60px 40px 0px;">
  223. <img href="{{media.image_big.url}}" src="{{media.image_norm.url }}" class="gallery img-fluid img-responsive" alt="" style="width: 100%;height: auto;vertical-align: middle;">
  224. </div>
  225. {% endif %}
  226. {% endfor %}
  227. {% endif %}
  228. <!-- <p>{% if object.altneu %}{% field_name object 'altneu' %}: {{ object.altneu }}{% endif %}</p> -->
  229. <!-- <p>{% if object.artmodell %}{% field_name object 'artmodell' %}: {{ object.artmodell }}{% endif %}</p> -->
  230. <!-- <p>{% if object.bautraeger %}{% field_name object 'bautraeger' %}: {{ object.bautraeger }}{% endif %}</p> -->
  231. <!-- <p>{% if object.aerwachsene %}{% field_name object 'aerwachsene' %}: {{ object.aerwachsene }}{% endif %}</p>
  232. <p>{% if object.akinder %}{% field_name object 'akinder' %}: {{ object.akinder }}{% endif %}</p>
  233. <p>{% if object.amitglieder %}Anzahl an Mitglieder: {{ object.amitglieder }}{% endif %}</p> -->
  234. <!-- <p>{% if object.awohnungen %}{% field_name object 'awohnungen' %}: {{ object.awohnungen }}{% endif %}</p> -->
  235. <!-- <p>{% if object.wohnflaeche %}{% field_name object 'wohnflaeche' %}: {{ object.wohnflaeche }}{% endif %}</p>
  236. <p>{% if object.gewerbeflaechen %}{% field_name object 'gewerbeflaechen' %}: {{ object.gewerbeflaechen }}{% endif %}</p>
  237. <p>{% if object.gemeinschaftsflaeche %}{% field_name object 'gemeinschaftsflaeche' %}: {{ object.gemeinschaftsflaeche }}{% endif %}</p>
  238. <p>{% if object.sonstige_flaechen %}{% field_name object 'sonstige_flaechen' %}: {{ object.sonstige_flaechen }}{% endif %}</p>
  239. <p>{% if object.flaeche %}Fläche: {{ object.flaeche }}{% endif %}</p> -->
  240. <!-- <p>{% if object.gemeinschaftr %}{% field_name object 'gemeinschaftr' %}: {{ object.gemeinschaftr }}{% endif %}</p> -->
  241. <!-- <p>{% if object.kgemeinschaftr %}{% field_name object 'kgemeinschaftr' %}: {{ object.kgemeinschaftr }}{% endif %}</p> -->
  242. <!-- <p>{% if object.sonderwohnformen %}{% field_name object 'sonderwohnformen' %}: {{ object.sonderwohnformen }}{% endif %}</p> -->
  243. <!-- <p>{% if object.parbeiten %}{% field_name object 'parbeiten' %}: {{ object.parbeiten }}{% endif %}</p> -->
  244. <!-- <p>{% if object.bauweise %}{% field_name object 'bauweise' %}: {{ object.bauweise }}{% endif %}</p> -->
  245. <!-- <p>{% if object.zielgruppen %}{% field_name object 'zielgruppen' %}: {{ object.zielgruppen }}{% endif %}</p> -->
  246. <!-- <p>{% if object.gprojekte %}{% field_name object 'gprojekte' %}: {{ object.gprojekte }}{% endif %}</p> -->
  247. <!-- <p>{% if object.oekologie %}{% field_name object 'oekologie' %}: {{ object.oekologie }}{% endif %}</p> -->
  248. <!-- <p>{% if object.freiraumangebote %}{% field_name object 'freiraumangebote' %}: {{ object.freiraumangebote }}{% endif %}</p> -->
  249. </div>
  250. </div>
  251. </div>
  252. <div class="container">
  253. <div class="row" style="margin-top: 10px">
  254. <div class="col-sm-6">
  255. </div>
  256. <div class="col-sm-4">
  257. {% for field, value in object %}
  258. {% if value and not field == "ID" %}
  259. <!-- <p class="fieldname"><strong class="mediumkur"> {{ field }} :</strong> {{ value }}</p> -->
  260. {% endif %}
  261. {% endfor %}
  262. </div>
  263. </div>
  264. </div>
  265. {% compress js %}
  266. <script>
  267. $(document).ready(function($) {
  268. axios.get('https://blog.gemeinschaffen.com/wp-json/wp/v2/tags').then(resp => {
  269. queryData(resp);
  270. });
  271. function queryData(resp) {
  272. var q = jsonQuery('[*slug=gemeinschaffen]', {
  273. // var q = jsonQuery('[*slug={{ object.name|slugify }}]', {
  274. data: resp.data
  275. });
  276. if (!q.value.length ){
  277. return;
  278. }
  279. tagsurl = "https://blog.gemeinschaffen.com/wp-json/wp/v2/posts?tags=" + q.value[0].id;
  280. axios.get(tagsurl).then(resp => {
  281. if (!resp.data.length ){
  282. return;
  283. }
  284. generateLinks(resp);
  285. });
  286. }
  287. function generateLinks(resp) {
  288. Vue.component('blog-post', {
  289. props: ['title', 'link'],
  290. delimiters: ['<%', '%>'],
  291. template: `
  292. <li>
  293. <a title="link-title" :href="link" target="_blank" v-html="title.rendered"></a>
  294. </li>`
  295. })
  296. new Vue({
  297. el: '#blog-post-demo',
  298. delimiters: ['<%', '%>'],
  299. data: {
  300. posts: resp.data
  301. }
  302. })
  303. }
  304. }); // document ready
  305. </script>
  306. {% endcompress %}
  307. {% endblock %}