templates/parts/request-part.html.twig line 1

Open in your IDE?
  1. <div data-id="{{ request.id }}" class="status{{ request.status }}" id="{{ request.id }}"
  2.      style="order: {{ request.status == 1 ? 0 : 1 }}">
  3.     <div class="table-bids-item">
  4.         <div class=" text- field-text">
  5.             {% include '/parts/request-info.html.twig' %}
  6.         </div>
  7.         <div class=" text- field-datetime">
  8.             {% include '/parts/user.html.twig' %}
  9.             {% if request.userPhone %}
  10.                 <i>Телефон:</i> <span title="xxxxxxxxx" style="filter: blur(2px);">xxxxxxxxx</span><br>
  11.             {% endif %}
  12.             {% if request.userEmail %}
  13.                 <i>Email:</i> <span title="xxxxxxxxx" style="filter: blur(2px);">xxxxxxxxx</span><br>
  14.             {% endif %}
  15.             {% include '/parts/request-part-info.html.twig' %}
  16.         </div>
  17.         <div class=" text- field-integer form-price">
  18.             <div class="mobile-wrapper">
  19.                 {% if request.status != 1 %}<div class="bids-head__inner-item"><span>Аукціон</span></div>{% endif %}
  20.                 {% if request.status == 3 %}
  21.                     Викуплена
  22.                 {% elseif request.status == 6 %}
  23.                     Анульована
  24.                 {% elseif request.status == 4 %}
  25.                     Не викуплена
  26.                 {% elseif request.status == 2 %}
  27.                     Викуплена 1 раз
  28.                 {% endif %}
  29.             </div>
  30.             <div class="show-less mobile-view show-button">Згорнути</div>
  31.             {% if (request.status not in [0,3,6]) %}
  32.                 {% if request.ruleData is not empty %}
  33.                     {% set interval = ((date().timestamp - request.ruleData.startTime.timestamp))|round(2) %}
  34.                     {% set topRate = request.ruleData.topRate %}
  35.                     {% set period = request.ruleData.period * 60 %}
  36.                     {% set timer = true %}
  37.                     {% set stepAmount = ((topRate - request.ruleData.bottomRate) / period)|round(4) %}
  38.                     {% set minutesInterval = interval - period %}
  39.                     {% set time = "Мінімальна ціна" %}
  40.                     {% set timerBids = false %}
  41.                     {% if interval < period %}
  42.                         {% set interval = interval|round(0, 'floor') %}
  43.                         {% set minutesInterval = minutesInterval|round(0, 'floor') %}
  44.                         {% set sum = topRate - (stepAmount * interval) %}
  45.                         {% if period > minutesInterval %}
  46.                             {% set time =  (request.ruleData.endTime.timestamp - date().timestamp)|date('i:s') %}
  47.                         {% else %}
  48.                             {% set timer = false %}
  49.                         {% endif %}
  50.                     {% else %}
  51.                         {% set timer = false %}
  52.                         {% set sum = request.ruleData.bottomRate %}
  53.                     {% endif %}
  54.                     {% if sum < request.ruleData.bottomRate %}
  55.                         {% set sum = request.ruleData.bottomRate %}
  56.                         {% set timer = false %}
  57.                     {% endif %}
  58.                     {% if date().timestamp < request.ruleData.startTime.timestamp %}
  59.                         {% set timer = false %}
  60.                         {% set timerBids = true %}
  61.                         {% set sum = request.ruleData.topRate %}
  62.                     {% endif %}
  63.                     {# <div class="price"> #}
  64.                     {# Стартова ціна: <span id="price-start-{{ request.id }}">{{ request.ruleData.topRate }}</span> #}
  65.                     {# грн<br> #}
  66.                     {# Поточна ціна: <span class="time price-{{ request.id }}">{{ sum }}</span> грн<br> #}
  67.                     {# Мінімальна ціна: <span id="price-min-{{ request.id }}">{{ request.ruleData.bottomRate }}</span> #}
  68.                     {# грн #}
  69.                     {# </div> #}
  70.                     <form action="" name="full-{{ request.id }}"
  71.                           class="full-{{ request.id }} bue-form buy-now-form">
  72.                         <input type="hidden" name="request" value="{{ request.id }}"
  73.                                class="form-control">
  74.                         {% if timer %}
  75.                             <div style="display:none;" class="time-{{ request.id }}">
  76.                                 До закінчення аукціону <span class="time" id="time-{{ request.id }}">{{ time }}</span>
  77.                                 хв.
  78.                             </div>
  79.                         {% endif %}
  80.                         {% if manager is null %}
  81.                             <a href="/birzha/login"
  82.                                class="btn-primar primary-action-btn">
  83.                                 Купити зараз за <span class="time price-{{ request.id }} main">{{ sum|number_format(2, '.','') }}</span>
  84.                                 <span class="time secondary"></span>грн
  85.                             </a>
  86.                         {% else %}
  87.                             <div data-request="{{ request.id }}"
  88.                                  class="btn-primar request-modal-btn primary-action-btn">
  89.                                 Купити зараз за <span class="time price-{{ request.id }} main">{{ sum|number_format(2, '.','') }}</span>
  90.                                 <span class="time secondary"></span>грн
  91.                             </div>
  92.                         {% endif %}
  93.                     </form>
  94.                     {% set agenciesBids = [] %}
  95.                     {% set bid = null %}
  96.                     {% for bid in request.bids %}
  97.                         {% set agenciesBids = agenciesBids|merge([bid.manager.agency.id]) %}
  98.                     {% endfor %}
  99.                     {% if (request.bids is not empty) and (manager.agency.id in agenciesBids) %}
  100.                         {% for bidR in request.bids %}
  101.                             {% if bidR.manager.agency.id == manager.agency.id %}
  102.                                 {% set bid = bidR %}
  103.                             {% endif %}
  104.                         {% endfor %}
  105.                     {% endif %}
  106.                 {% if timer and time != request.ruleData.period %}
  107.                     <script type="text/javascript">
  108.                         var timer{{ request.id }} = "{{ time }}";
  109.                         var timerBid = true;
  110.                         var interval{{ request.id }} = setInterval(function () {
  111.                             var timer = timer{{ request.id }}.split(':');
  112.                             //by parsing integer, I avoid all extra string processing
  113.                             var minutes = parseInt(timer[0], 10);
  114.                             var seconds = parseInt(timer[1], 10);
  115.                             --seconds;
  116.                             var priceInterval = {{ stepAmount }};
  117.                             var price = $('.price-{{ request.id }}').html();
  118.                             var newPrice = (price - priceInterval).toFixed(2);
  119.                             {% if (request.bids is not empty) and (manager.agency.id in agenciesBids) %}
  120.                             {% if bid %}
  121.                             if (newPrice <= {{ bid.bid }}) {
  122.                                 if (timerBid) {
  123.                                     $('.price-{{ request.id }}').next().html({{ bid.bid }}).show();
  124.                                     $('.price-{{ request.id }}').hide();
  125.                                     timerBid = false;
  126.                                     $.ajax({
  127.                                         method: 'POST',
  128.                                         url: '/api/request-update',
  129.                                     }).done(function (data) {
  130.                                         console.log('sdsds');
  131.                                         location.reload();
  132.                                     });
  133.                                 }
  134.                             }
  135.                             {% endif %}
  136.                             {% endif %}
  137.                             $('.price-{{ request.id }}').html(newPrice);
  138.                             if (seconds < 0) {
  139.                                 minutes = (seconds < 0) ? --minutes : minutes;
  140.                             }
  141.                             if (minutes < 0) {
  142.                                 $('#time-{{ request.id }}').hide();
  143.                                 $('#bid-{{ request.id }}').hide();
  144.                                 $('.price-{{ request.id }}').html({{ request.ruleData.bottomRate }});
  145.                             }
  146.                             seconds = (seconds < 0) ? 59 : seconds;
  147.                             seconds = (seconds < 10) ? '0' + seconds : seconds;
  148.                             //minutes = (minutes < 10) ?  minutes : minutes;
  149.                             $('#time-{{ request.id }}').html(minutes + ':' + seconds);
  150.                             timer{{ request.id }} = minutes + ':' + seconds;
  151.                         }, 1000);
  152.                     </script>
  153.                 {% endif %}
  154.                 {% if (request.bids is not empty) and (manager.agency.id in agenciesBids) %}
  155.                     {% if timer or timerBids %}
  156.                         <div class="price-wrap">
  157.                             <div class="min-price">
  158.                                 Мінімальна ставка:
  159.                                 <span id="price-min-{{ request.id }}" style="font-size: 11px">{{ request.ruleData.bottomRate }}</span>
  160.                                 грн
  161.                             </div>
  162.                             <div class="auction-date-info">
  163.                                 Час аукціону
  164.                                 з {{ request.ruleData.startTime|date('H:i', "Europe/Bucharest") }}
  165.                                 до {{ request.ruleData.endTime|date('H:i', "Europe/Bucharest") }}
  166.                             </div>
  167.                         </div>
  168.                     <div class="buy-rate-price" style="padding-bottom: 10px"><span>Купити коли ціна знизиться до</span></div>
  169.                 {% endif %}
  170.                     <div class="delete-bid-text">
  171.                         {% if bid %}
  172.                             Ваша ставка: {{ bid.bid }} грн
  173.                             <div onclick="deleteBid('{{ bid.id }}')"
  174.                                  class="delete-bid secondary-action-btn">Скасувати ставку
  175.                             </div>
  176.                         {% endif %}
  177.                     </div>
  178.                 {% else %}
  179.                 {% if timer or timerBids %}
  180.                     <div class="price-wrap">
  181.                         <div class="min-price">
  182.                             Мінімальна ставка:
  183.                             <span id="price-min-{{ request.id }}" style="font-size: 11px">{{ request.ruleData.bottomRate }}</span>
  184.                             грн
  185.                         </div>
  186.                         <div class="auction-date-info">
  187.                             Час аукціону
  188.                             з {{ request.ruleData.startTime|date('H:i', "Europe/Bucharest") }}
  189.                             до {{ request.ruleData.endTime|date('H:i', "Europe/Bucharest") }}
  190.                         </div>
  191.                     </div>
  192.                     <div class="buy-rate-price"><span>Купити коли ціна знизиться до</span></div>
  193.                     <form action="" name="bid-{{ request.id }}"
  194.                           class="bid-{{ request.id }} bid-form place-bed-form"
  195.                           id="bid-{{ request.id }}">
  196.                         <input type="number" name="bid"
  197.                                required
  198.                                class="form-control">
  199.                         <div class="form-currency">грн</div>
  200.                         <input type="hidden" name="request" value="{{ request.id }}">
  201.                         {% if manager is null %}
  202.                             <a href="/birzha/login"
  203.                                  class="btn-secondary secondary-action-btn ">
  204.                                 Зробити
  205.                                 ставку
  206.                                 <div class="spinner-border text-secondary" role="status">
  207.                                     <span class="sr-only">Loading...</span>
  208.                                 </div>
  209.                             </a>
  210.                         {% else %}
  211.                             <div onclick="addBit('bid-{{ request.id }}',{{ request.ruleData.bottomRate }})"
  212.                                  class="btn-secondary secondary-action-btn ">
  213.                                 Зробити
  214.                                 ставку
  215.                                 <div class="spinner-border text-secondary" role="status">
  216.                                     <span class="sr-only">Loading...</span>
  217.                                 </div>
  218.                             </div>
  219.                         {% endif %}
  220.                         <div class="form_error"></div>
  221.                     </form>
  222.                 {% endif %}
  223.                 {% if request.bids|length > 0 %}
  224.                     <div class="min-bid">
  225.                         {% if(request.bids|length == 1) %}
  226.                             {{ request.bids|length }} ставка
  227.                         {% elseif(request.bids|length > 1 and request.bids|length < 5) %}
  228.                             {{ request.bids|length }} ставки
  229.                         {% else %}
  230.                             більше 5 ставок
  231.                         {% endif %}
  232.                     </div>
  233.                 {% endif %}
  234.                 {% endif %}
  235.                 {% endif %}
  236.             {% endif %}
  237.         </div>
  238.     </div>
  239. </div>