custom/plugins/CogiRecruiting/src/Resources/views/storefront/page/recruiting/job.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@Storefront/storefront/base.html.twig' %}
  2. {% block base_head %}
  3.     {{ parent() }}
  4.     {% if job.jobPostingForGoogle %}
  5.         {% sw_include '@CogiRecruiting/storefront/page/recruiting/meta.html.twig' %}
  6.     {% endif %}
  7. {% endblock %}
  8. {% block base_content %}
  9.     {{ parent() }}
  10.     {% set categoryId = app.request.get('categoryId') %}
  11.     {% set contactMedia = "" %}
  12.     {% set previewMedia = "" %}
  13.     {% for item in media %}
  14.         {% if (item.id == job.get('contactMediaId')) %}
  15.             {% set contactMedia = item %}
  16.         {% endif %}
  17.         {% if (item.id == job.get('previewMediaId')) %}
  18.             {% set previewMedia = item %}
  19.         {% endif %}
  20.     {% endfor %}
  21.     {% if(job.get('previewMediaId')) %}
  22.         <div class="mb-4" style="height: 350px; overflow:hidden;border-radius: 3px;">
  23.             <img src="{{ previewMedia.url }}" alt="Preview Media" class="mr-2" style="width: 100%;height:auto;">
  24.         </div>
  25.     {% endif %}
  26. <h1 class="h2" style="word-break: break-word;">{{ job.translated.title }}</h1>
  27. {% if(job.get('location')) %}
  28.     <b>{{ 'cogi-recruiting.job.location' | trans }}:</b>
  29.     {% if(job.get('street')) %}{{ job.get('street') }}{% endif %}
  30.     {% if(job.get('housenumber')) %}{{ job.get('housenumber') }}, {% endif %}
  31.     {% if(job.get('zip')) %}{{ job.get('zip') }}{% endif %}
  32.     {% if(job.get('place')) %}{{ job.get('place') }}{% endif %}  -
  33. {% endif %}
  34. <b>{{ 'cogi-recruiting.job.createdAt' | trans }}
  35.     :</b> {{ job.get('createdAt')|format_date('long', locale=app.request.locale) }}
  36. <div class="row mt-2">
  37.     <div class="col-auto">
  38.         <button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#cogi-recruiting-apply" aria-label="{{ 'cogi-recruiting.job.applynow' | trans }}" title="{{ 'cogi-recruiting.job.applynow' | trans }}">
  39.             {{ 'cogi-recruiting.job.applynow' | trans }}
  40.         </button>
  41.         {% if(job.get('contact')) %}
  42.             <button class="btn btn-sm" data-toggle="modal" data-target="#cogi-recruiting-contact" aria-label="{{ 'cogi-recruiting.job.needhelp' | trans }}" title="{{ 'cogi-recruiting.job.needhelp' | trans }}">
  43.                 {% if(contactMedia.url) %}
  44.                     {% sw_thumbnails 'recruiting-contactperson' with {
  45.                         media: contactMedia,
  46.                         sizes: {
  47.                             'default': '310px'
  48.                         },
  49.                         attributes: {
  50.                             'class': 'cogirecruiting-contactimage',
  51.                             'alt': 'ContactPerson'
  52.                         }
  53.                     } %}
  54.                 {% endif %}
  55.                 {{ 'cogi-recruiting.job.needhelp' | trans }}
  56.             </button>
  57.             <div class="modal fade" id="cogi-recruiting-contact">
  58.                 <div class="modal-dialog" role="document">
  59.                     <div class="modal-content">
  60.                         <div class="modal-header">
  61.                             <h5 class="modal-title" id="exampleModalLabel">
  62.                                 {{ 'cogi-recruiting.job.contact' | trans }}
  63.                             </h5>
  64.                             <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  65.                                 <span aria-hidden="true">&times;</span>
  66.                             </button>
  67.                         </div>
  68.                         <div class="modal-body">
  69.                             <div class="row">
  70.                                 {% if(contactMedia.url) %}
  71.                                     <div class="col-md-4">
  72.                                         <img src="{{ contactMedia.url }}" alt="ContactPerson image" style="width: 100%;border-radius: 3px">
  73.                                     </div>
  74.                                 {% endif %}
  75.                                 <div class="col-md">
  76.                                     <h2>{{ job.get('contactName') }}</h2>
  77.                                     <p>
  78.                                         {{ 'cogi-recruiting.job.soReach' | trans }}:<br>
  79.                                         {% if(job.get('contactMail')) %}
  80.                                             <b>{{ 'cogi-recruiting.job.mail' | trans }}
  81.                                                 :</b> {{ job.get('contactMail') }}<br>
  82.                                         {% endif %}
  83.                                         {% if(job.get('contactTelephone')) %}
  84.                                             <b>{{ 'cogi-recruiting.job.telephone' | trans }}
  85.                                                 :</b> {{ job.get('contactTelephone') }}
  86.                                         {% endif %}
  87.                                     </p>
  88.                                 </div>
  89.                             </div>
  90.                         </div>
  91.                     </div>
  92.                 </div>
  93.             </div>
  94.         {% endif %}
  95.     </div>
  96. </div>
  97. <hr>
  98. <p class="mt-4">
  99.     {{ job.translated.description|raw }}
  100. </p>
  101. <div class="text-center">
  102.     {{ 'cogi-recruiting.job.interested' | trans }}
  103.     <button class="btn mt-2 btn-primary btn-block" aria-label="{{ 'cogi-recruiting.job.applynow' | trans }}" title="{{ 'cogi-recruiting.job.applynow' | trans }}" data-toggle="modal" data-target="#cogi-recruiting-apply">
  104.         {{ 'cogi-recruiting.job.applynow' | trans }}
  105.     </button>
  106. </div>
  107. <div class="modal fade" id="cogi-recruiting-apply">
  108.     <div class="modal-dialog modal-lg" role="document">
  109.         <div class="modal-content">
  110.             <div class="modal-header">
  111.                 <h5 class="modal-title" id="exampleModalLabel">
  112.                     {{ 'cogi-recruiting.apply.label' | trans }}
  113.                 </h5>
  114.                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  115.                     <span aria-hidden="true">&times;</span>
  116.                 </button>
  117.             </div>
  118.             <div class="modal-body" data-cogi-recruiting-profile>
  119.                 <form method="post" action="{{ path('frontend.cogirecruiting.api.apply') }}" enctype="multipart/form-data" data-form-csrf-handler="true">
  120.                     {{ sw_csrf('frontend.cogirecruiting.api.apply') }}
  121.                     <input type="hidden" value="{{ job.get('id') }}" name="id">
  122.                     <div class="row">
  123.                         <div class="col-auto">
  124.                             <label>{{ 'cogi-recruiting.apply.profile' | trans }} {% if(config('CogiRecruiting.config.CogiRecruitingProfilePictureRequired')) %}*{% endif %}</label>
  125.                             <div class="cogi-profile-pic-container">
  126.                                 <div class="circle" onclick="document.getElementById('file-upload').click();">
  127.                                     <img id="profile-pic" alt="Profile" src="data:image/png;base64,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">
  128.                                 </div>
  129.                                 <input id="file-upload" name="profile-image" type="file" accept="image/*">
  130.                             </div>
  131.                         </div>
  132.                         <div class="col-md">
  133.                             <label for="cogi-recruiting-name">{{ 'cogi-recruiting.apply.name' | trans }} *</label>
  134.                             <input type="text" class="form-control" id="cogi-recruiting-name" name="name" placeholder="{{ 'cogi-recruiting.apply.name' | trans }}..." required>
  135.                             <br>
  136.                             <label for="cogi-recruiting-prename">{{ 'cogi-recruiting.apply.prename' | trans }} *</label>
  137.                             <input type="text" class="form-control" id="cogi-recruiting-prename" name="prename" placeholder="{{ 'cogi-recruiting.apply.prename' | trans }}..." required>
  138.                         </div>
  139.                     </div>
  140.                     <div class="mt-4">
  141.                         <label for="cogi-recruiting-email">{{ 'cogi-recruiting.apply.email' | trans }} *</label>
  142.                         <input type="email" class="form-control" id="cogi-recruiting-email" name="email" placeholder="{{ 'cogi-recruiting.apply.email' | trans }}..." required>
  143.                     </div>
  144.                     {% if(config('CogiRecruiting.config.CogiRecruitingTelephoneNumber')) %}
  145.                         <div class="mt-4">
  146.                             <label for="cogi-recruiting-telephone">{{ 'cogi-recruiting.apply.tel' | trans }} *</label>
  147.                             <input type="tel" class="form-control" id="cogi-recruiting-telephone" name="telephone" placeholder="{{ 'cogi-recruiting.apply.tel' | trans }}..." required>
  148.                         </div>
  149.                     {% endif %}
  150.                     <div class="mt-4">
  151.                         <label for="cogi-recruiting-message">{{ 'cogi-recruiting.apply.message' | trans }} *</label>
  152.                         <textarea rows="10" class="form-control" id="cogi-recruiting-message" name="message" placeholder="{{ 'cogi-recruiting.apply.message' | trans }}..." required></textarea>
  153.                     </div>
  154.                     {% if config('CogiRecruiting.config.CogiRecruitingFileUploadDeactivate') == false %}
  155.                     <div class="mt-4">
  156.                         <label for="cogi-recruiting-upload">{{ 'cogi-recruiting.apply.upload' | trans }} {% if config('CogiRecruiting.config.CogiRecruitingFileUploadNoRequired') == false %}*{% endif %} <span id="cogi-recruiting-upload-alert" style="color: red; font-weight: bold; display: none" data-original-text="{{ 'cogi-recruiting.apply.sizeLimit' | trans }}"></span> </label>
  157.                         <input type="file" class="form-control" data-max-size="{{ config('CogiRecruiting.config.CogiRecruitingUploadMaxSize') * 1000000 }}" id="cogi-recruiting-upload" name="upload[]" accept=".png, .pdf" {% if config('CogiRecruiting.config.CogiRecruitingFileUploadNoRequired') == false %}required{% endif %} multiple>
  158.                         <small>
  159.                             {{ 'cogi-recruiting.apply.maxSize' | trans }}
  160.                             : {{ config('CogiRecruiting.config.CogiRecruitingUploadMaxSize') }} MB -
  161.                             {{ 'cogi-recruiting.apply.allowedExtensions' | trans }}:
  162.                             .{{ config('CogiRecruiting.config.UploadFileTypes')|split(',')|join(', .') }} -
  163.                             {{ 'cogi-recruiting.apply.maxAmount' | trans }}
  164.                             : {{ config('CogiRecruiting.config.UploadFileLimit') }}
  165.                         </small>
  166.                     </div>
  167.                     {% endif %}
  168.                     <div class="mt-4">
  169.                         <button class="btn btn-primary cogi-recruiting-btn" type="submit" style="width: 100%" aria-label="{{ 'cogi-recruiting.apply.label' | trans }}" title="{{ 'cogi-recruiting.apply.label' | trans }}">
  170.                             {{ 'cogi-recruiting.apply.label' | trans }}
  171.                         </button>
  172.                     </div>
  173.                 </form>
  174.             </div>
  175.         </div>
  176.     </div>
  177. </div>
  178. {% endblock %}