templates/project/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}Lista projektów{% endblock %}
  3. {% block body %}
  4.     <div class="row">
  5.         <div class="col-lg-12">
  6.             <div class="card">
  7.                 <div class="card-header">
  8.                     <h4 class="card-title mb-0">Lista projektów</h4>
  9.                 </div><!-- end card header -->
  10.                 
  11.                 <div class="card-body">
  12.                     <div id="raportList">
  13.                         <div class="row g-4 mb-3">
  14.                             <div class="col-sm-auto">
  15.                                 <div>
  16.                                     {% if is_granted('ROLE_ADMIN') %}
  17.                                         {% include '_partials/components/add_new_button.html.twig' with {
  18.                                             "label": "Stwórz nowy projekt",
  19.                                             "path_name": "project_new"
  20.                                         } %}
  21.                                         {% include '_partials/components/download_button.html.twig' with {
  22.                                             "label": "Pobierz projekty",
  23.                                             "path_name": "project_download"
  24.                                         } %}
  25.                                     {% endif %}
  26.                                 </div>
  27.                             </div>
  28.                             <div class="col-sm">
  29.                                 <div class="d-flex justify-content-sm-end">
  30.                                     <div class="search-box ms-2">
  31.                                         <input type="text" class="form-control search" placeholder="Search...">
  32.                                         <i class="ri-search-line search-icon"></i>
  33.                                     </div>
  34.                                 </div>
  35.                             </div>
  36.                         </div>
  37.                         
  38.                         <div class="table-card mt-3 mb-1">
  39.                             <table class="table align-middle table-hover table-borderless" id="raportTable">
  40.                                 <thead class="table-light">
  41.                                 <tr class="align-middle">
  42.                                     <th class="sort" data-sort="project_id">ID</th>
  43.                                     <th class="sort" data-sort="project_status">Status</th>
  44.                                     <th class="sort" data-sort="project_name">Nazwa</th>
  45.                                     <th class="sort col-1" data-sort="project_package">Usługa</th>
  46.                                     <th class="sort col-1" data-sort="project_provider">Opiekun</th>
  47.                                     <th class="sort" data-sort="project_description">Opis</th>
  48.                                     <th class="sort" data-sort="project_max_time">Maks. czas</th>
  49.                                     <th class="sort" data-sort="project_work_time">Wyk. czas</th>
  50.                                     <th class="sort" data-sort="project_assigned_task">Ilość przypisanych zadań</th>
  51.                                     {% if is_granted('ROLE_ADMIN') %}
  52.                                     <th class="sort" data-sort="project_progress">Postęp projektu</th>
  53.                                     {% endif %}
  54.                                     <th class="">Akcja</th>
  55.                                 </tr>
  56.                                 </thead>
  57.                                 <tbody class="list">
  58.                                 {% for project in projects %}
  59.                                 <tr>
  60.                                     <td class="project_id">#{{ project.id }}</td>
  61.                                     <td class="project_status">{% if project.isDeactivated %}<span class="badge text-bg-danger">Nieaktywny</span>{% else %}<span class="badge text-bg-success">Aktywny</span>{% endif %}</td>
  62.                                     <td class="project_name"><a href="{{ path('raport_index', {'pid': project.id}) }}">{{ project.name }}</a></td>
  63.                                     <td class="project_package">{{ project.offerPackage.name ?? "" }}</td>
  64.                                     <td class="project_provider">{{ project.leader.name ?? "Brak opiekuna" }}</td>
  65.                                     <td class="project_description">{{ project.descriptionForUser|raw }}</td>
  66.                                     <td class="project_max_time">{{ limitsInThisMonth(project) }}</td>
  67.                                     <td class="project_work_time">{{ convert_number_float_to_time(getWorkedTimeInMonth(project), is_granted('ROLE_CLIENT')) }}</td>
  68.                                     <td class="project_assigned_task">{% if project.offerPackage %}{{ countAssignedOfferTask(project) }}/{{ countAllOfferTaskToDoInProject(project) }}{% else %}Brak oferty{% endif %}</td>
  69.                                     {% if is_granted('ROLE_ADMIN') %}
  70.                                         <td class="text-center text-xs project_progress">
  71.                                             <div class="progress-wrapper">
  72.                                                 <div class="progress-info">
  73.                                                     <div class="progress-percentage">
  74.                                                         <span class="text-sm font-weight-bold">{{ completedPercentageOfferTask(project) }}%</span>
  75.                                                     </div>
  76.                                                 </div>
  77.                                                 <div class="progress w-100">
  78.                                                     <div class="progress-bar bg-success" role="progressbar" aria-valuenow="{{ completedPercentageOfferTask(project) }}" aria-valuemin="0" aria-valuemax="100" style="width: {{ completedPercentageOfferTask(project) }}%;"></div>
  79.                                                 </div>
  80.                                             </div>
  81.                                         </td>
  82.                                     {% endif %}
  83.                                     <td>
  84.                                         <div class="d-inline-flex gap-4">
  85.                                             <a class="fs-15 btn btn-soft-primary" href="{{ path('project_show', {'project': project.id}) }}"><i class="ri-slideshow-3-line"></i></a>
  86.                                             {% if is_granted('ROLE_ADMIN') %}
  87.                                             <div class="dropdown card-header-dropdown">
  88.                                                 <a class="fs-15 btn btn-soft-primary " href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="ri-more-line"></i></a>
  89.                                                 <div class="dropdown-menu dropdown-menu-end" style="">
  90.                                                     <a class="dropdown-item" href="{{ path('project_edit', {'id': project.id}) }}"><i class="fas fa-pencil-alt text-dark me-2" aria-hidden="true"></i>Edytuj</a>
  91.                                                     {% if project.isActive %}
  92.                                                             <a class="dropdown-item" href="{{ path('project_deactive', {'id': project.id}) }}" onclick="return confirm('Na pewno chcesz deazktywować ten projekt?')"><i class="fa-solid fa-link-slash me-2" aria-hidden="true"></i>Dezaktywuj</a>
  93.                                                     {% else %}
  94.                                                             <a class="dropdown-item" href="{{ path('project_active', {'id': project.id}) }}"><i class="fa-solid fa-link me-2" aria-hidden="true"></i>Aktywuj</a>
  95.                                                     {% endif %}
  96.                                                     <a class="dropdown-item" href="{{ path('project_delete', {'id': project.id}) }}" onclick="return confirm('Na pewno chcesz to usunąć?')"><i class="far fa-trash-alt me-2" aria-hidden="true"></i>Usuń</a>
  97.                                                     
  98.                                                 </div>
  99.                                             </div>
  100.                                             {% endif %}
  101.                                         </div>
  102.                                     </td>
  103.                                 </tr>
  104.                                 {% else %}
  105.                                 <tr>
  106.                                     {% include '_partials/components/no_result_table.html.twig' %}
  107.                                 </tr>
  108.                                 {% endfor %}
  109.                                 </tbody>
  110.                             </table>
  111.                             {% include '_partials/components/no_result_table.html.twig' %}
  112.                         </div>
  113.     
  114.                         {% include '_partials/components/pagination_list_button.html.twig' %}
  115.                     </div>
  116.                 </div><!-- end card -->
  117.             </div>
  118.             <!-- end col -->
  119.         </div>
  120.         <!-- end col -->
  121.     </div>
  122. {% endblock %}
  123.         {% block javascripts %}
  124.             {{ parent() }}
  125.             <script src="{{ asset('assets/velzon/libs/list.js/list.min.js') }}"></script>
  126.             <script src="{{ asset('assets/velzon/libs/list.pagination.js/list.pagination.min.js') }}"></script>
  127.             <script src="{{ asset('assets/velzon/js/pages/tablesjs/listjs.project.js') }}"></script>
  128.             <script src="{{ asset('assets/velzon/libs/sweetalert2/sweetalert2.min.js') }}"></script>
  129.         {% endblock %}