{% extends 'Common/base.html.twig' %}
{% import 'Common/parts/functions.html.twig' as function %}
{% block title %}{{ 'admin.distr_network.show.title'|trans }} - {{ distributionNetwork.name | title }} | {{ parent() }}{% endblock %}
{% block classBody %}distr-network {{ parent() }}{% endblock %}
{% block ogTitle %}{{ 'admin.distr_network.show.title'|trans }} - {{ distributionNetwork.name | title }} | {{ parent() }}{% endblock ogTitle %}
{% block javascripts %}
{{ parent() }}
{{ encore_entry_script_tags('leaflet_js') }}
{{ encore_entry_script_tags('wt_distr_network_show') }}
{% endblock javascripts %}
{% block stylesheets %}
{{ parent() }}
{{ encore_entry_link_tags('leaflet_styles') }}
<link rel="stylesheet" href="{{ asset('assets/lib/slick-carousel/slick/slick.css') }}" type="text/css" media="all" />
<link rel="stylesheet" href="{{ asset('assets/lib/slick-carousel/slick/slick-theme.css') }}" type="text/css" media="all" />
{% endblock stylesheets %}
{% block contents %}
<div class="container-small" ng-controller="showDistrNetworkCtrl">
<nav class="mb-2" aria-label="breadcrumb">
<ol class="breadcrumb mb-0">
<li class="breadcrumb-item"><a href="{{path('web_init')}}">Inicio</a></li>
<li class="breadcrumb-item">{{ distributionNetwork.country.name | title }}</li>
<li class="breadcrumb-item active" aria-current="page">
{{ distributionNetwork.name | title }}
{% if is_granted('IS_AUTHENTICATED_REMEMBERED') and app.user.user.hasRole('ROLE_ADMIN') %}
(<a href="{{path('web_admin_distribution_network_edit', {'distributionNetworkId': distributionNetwork.id})}}">Editar</a>)
{% endif %}
</li>
</ol>
</nav>
<div class="pb-9">
<h2 class="mb-4">
{{ distributionNetwork.name | title }}
{% if distributionNetwork.responsableOrganizationOperator is none %}
<span class="fas fa-star-half-alt text-warning fs-1" title="Sin reclamar"></span>
<span class="fas fa-star-half-alt text-warning fs-1" title="Sin verificar"></span>
{% elseif distributionNetwork.responsableOrganizationOperator.checkPermission('PERMISSION_EDIT_DISTRIBUTION_NETWORK', distributionNetwork) %}
<span class="fas fa-star text-success fs-1" title="Registrado"></span>
<span class="fas fa-star text-success fs-1" title="Verificado"></span>
{% else %}
<span class="fas fa-star text-success fs-1" title="Registrado"></span>
<span class="fas fa-star-half-alt text-warning fs-1" title="Sin verificar"></span>
{% endif %}
</h2>
<div class="row g-5 mb-5">
<div class="col-12 col-lg-8" ng-init="initDistributionNetworkMap({{distributionNetwork.centerLatitude}},{{distributionNetwork.centerLongitude}}, '{{geometryPolygonArray}}')">
<div id="distribution_network_map" style="height:400px;width:100%"></div>
</div>
<div class="col-12 col-lg-4">
<h3 class="mb-3" >Red de Distribución</h3>
<div class="mb-2">
<h6 class="mb-0">Red de Distribución</h6>
<div class="">{{ distributionNetwork.name | title }}</div>
</div>
<div class="mb-2">
<h6 class="mb-0">Tipo</h6>
<div class="">{{ ('distributionNetwork.type.' ~ distributionNetwork.type) | trans }}</div>
</div>
{% if distributionNetwork.type == 'DN_TYPE_INTERMEDIATE' or distributionNetwork.type == 'DN_TYPE_INTERNAL' %}
<div class="mb-2">
<h6 class="mb-0">Perteneciente a</h6>
<a href="{{ path('web_public_distribution_network_show_by_id', {'distributionNetworkId': distributionNetwork.parent.id }) }}"
class="">{{ distributionNetwork.parent.name | title }}</a>
</div>
{% endif %}
<div class="mb-2">
<h6 class="mb-0">País</h6>
<div class="">{{ distributionNetwork.country.name | title }}</div>
</div>
{#
<div class="mb-2">
<h6 class="mb-0">Whaterpoints</h6>
<div class="">
{{ distributionNetwork.whaterPoints | length}}
{% if (distributionNetwork.whaterPoints | length)> 0 %}
<a href="#" class="fs--1" ng-click="showWhaterPointsInMap()">(Ver en el mapa)</a>
<div class="alert alert-soft-success px-1 py-1 ng-hide" role="alert" ng-show="showWhaterPoints" >Estas viendo los Whaterpoints de la red</div>
{% endif %}
</div>
</div>
#}
{{ function.showFlashes() }}
{% if is_granted('IS_AUTHENTICATED_FULLY') and distributionNetwork.responsableOrganizationOperator is none %}
<div class="card">
<div class="card-body">
{% form_theme form 'Form/bootstrap_5_layout.html.twig' %}
{{ form_start(form , {'action': path('web_public_distribution_network_show_by_slug', { 'distributionNetworkSlug': distributionNetwork.slug }),
'method': 'POST',
'attr': { 'id': form.vars.name }}) }}
<div class="col-auto mb-1">
{{ form_label(form.message) }}
{{ form_widget(form.message, {'attr': {'placeholder': ('admin.ownership_request.form.fields.text_placeholder_distribution_network'|trans({'%distribution_network_name%':distributionNetwork.name })) }}) }}
{{ form_errors(form.message) }}
</div>
<div class="col-auto mb-1">
{{ form_widget(form.check, {'attr': {'class': 'form-check-input' }}) }}
<label class="form-label fs--1 text-none" for="app_register_distribution_network_ownership_request_check">{{'admin.ownership_request.form.fields.check'|trans({'%distribution_network_name%':distributionNetwork.name })}}</label>
</div>
<button class="btn btn-phoenix-secondary me-2 mb-2 mb-sm-0 mt-2"
id='register_ownership_request'
ng-init="registerOwnershipRequest()"
data-user-id="{{app.user.user.id}}"
data-distr-network-id="{{distributionNetwork.id}}"
{% if not enableRequestOwnership %} disabled="disabled" {% endif %}
type="submit">Solicitar
</button>
{{ form_errors(form) }}
{{ form_rest(form) }}
{{ form_end(form) }}
</div>
</div>
{% elseif distributionNetwork.responsableOrganizationOperator is none %}
<p class="fs--2">Para solicitar la propiedad de esta red de distribución y manejar su informacion, debes estar registrado en whater.app y pasar por un proceso de validación. Hazlo <a href="{{path('web_signup')}}">aquí</a>.</p>
{% endif %}
</div>
</div>
<div class="row g-5 mb-5">
<div class="col-xl-6">
<h3 class="mb-3" >Calidad del agua oficial</h3>
<ul class="list-group">
{% if distributionNetwork.responsableOrganizationGovernment is not none %}
<li class="list-group-item">
<h4 class="mb-3">Responsable</h4>
<div class="row ms-2">
<div class="col-12 col-lg-4 mb-2">
<h6 class="mb-0">Nombre</h6>
<div class="">{{ distributionNetwork.responsableOrganizationGovernment.name | title }}</div>
</div>
<div class="col-12 col-lg-4 mb-2">
<h6 class="mb-0">Ultima información</h6>
<div class="">
{% if analytics['organ_government'] is not none %}
{{ analytics['organ_government'].analyzedAt | date('d-m-Y') }}
{% else %}
-
{% endif %}
</div>
</div>
<div class="col-12 col-lg-4 mb-2">
<h6 class="mb-0">Estado</h6>
<div class="">
{% if analytics['organ_government'] is not none %}
{% if analytics['organ_government'].result == 'SUITABLE' %}
<a href="{{ url('web_public_analytical_show', {'analyticalId': analytics['organ_government'].id }) }}"
class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-circle-green.svg')) }}" />
Apta
</a>
{% elseif analytics['organ_government'].result == 'NOT_SUITABLE' %}
<a href="{{ url('web_public_analytical_show', {'analyticalId': analytics['organ_government'].id }) }}"
class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-circle-red.svg')) }}" />
No apta
</a>
{% else %}
<a href="{{ url('web_public_analytical_show', {'analyticalId': analytics['organ_government'].id }) }}"
class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-document-error.svg')) }}" />
Sin Información
</a>
{% endif %}
{% else %}
<div class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-document-error.svg')) }}" />
Sin Información
</div>
{% endif %}
</div>
</div>
</div>
</li>
{% endif %}
{% if distributionNetwork.responsableOrganizationOperator is not none %}
<li class="list-group-item">
<h4 class="mb-3">Operador responsable</h4>
<div class="row ms-2">
<div class="col-12 col-lg-4 mb-2">
<h6 class="mb-0">Nombre</h6>
<div class="">{{ distributionNetwork.responsableOrganizationOperator.name | title }}</div>
</div>
<div class="col-12 col-lg-4 mb-2">
<h6 class="mb-0">Ultima información</h6>
<div class="">
{% if analytics['organ_operator'] is not none %}
{{ analytics['organ_operator'].analyzedAt | date('d-m-Y') }}
{% else %}
-
{% endif %}
</div>
</div>
<div class="col-12 col-lg-4 mb-2">
<h6 class="mb-0">Estado</h6>
<div class="">
{% if analytics['organ_operator'] is not none %}
{% if analytics['organ_operator'].result == 'SUITABLE' %}
<a href="{{ url('web_public_analytical_show', {'analyticalId': analytics['organ_operator'].id }) }}"
class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-circle-green.svg')) }}" />
Apta
</a>
{% elseif analytics['organ_operator'].result == 'NOT_SUITABLE' %}
<a href="{{ url('web_public_analytical_show', {'analyticalId': analytics['organ_operator'].id }) }}"
class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-circle-red.svg')) }}" />
No apta
</a>
{% else %}
<a href="{{ url('web_public_analytical_show', {'analyticalId': analytics['organ_operator'].id }) }}"
class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-document-error.svg')) }}" />
Sin Información
</a>
{% endif %}
{% else %}
<div class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-document-error.svg')) }}" />
Sin Información
</div>
{% endif %}
</div>
</div>
</div>
</li>
{% endif %}
{% if distributionNetwork.responsableOrganizationCorporative is not none %}
<li class="list-group-item">
<h4 class="mb-3">Responsable corporativo</h4>
<div class="row ms-2">
<div class="col-12 col-lg-4 mb-2">
<h6 class="mb-0">Nombre</h6>
<div class="">{{ distributionNetwork.responsableOrganizationCorporative.name | title }}</div>
</div>
<div class="col-12 col-lg-4 mb-2">
<h6 class="mb-0">Ultima información</h6>
<div class="">
{% if analytics['organ_corporative'] is not none %}
{{ analytics['organ_corporative'].analyzedAt | date('d-m-Y') }}
{% else %}
-
{% endif %}
</div>
</div>
<div class="col-12 col-lg-4 mb-2">
<h6 class="mb-0">Estado</h6>
<div class="">
{% if analytics['organ_corporative'] is not none %}
{% if analytics['organ_corporative'].result == 'SUITABLE' %}
<a href="{{ url('web_public_analytical_show', {'analyticalId': analytics['organ_corporative'].id }) }}"
class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-circle-green.svg')) }}" />
Apta
</a>
{% elseif analytics['organ_corporative'].result == 'NOT_SUITABLE' %}
<a href="{{ url('web_public_analytical_show', {'analyticalId': analytics['organ_corporative'].id }) }}"
class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-circle-red.svg')) }}" />
No apta
</a>
{% else %}
<a href="{{ url('web_public_analytical_show', {'analyticalId': analytics['organ_corporative'].id }) }}"
class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-document-error.svg')) }}" />
Sin Información
</a>
{% endif %}
{% else %}
<div class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-document-error.svg')) }}" />
Sin Información
</div>
{% endif %}
</div>
</div>
</div>
</li>
{% endif %}
{% if distributionNetwork.responsableOrganizationUbication is not none %}
<li class="list-group-item">
<h4 class="mb-3">Responsable de ubicación</h4>
<div class="row ms-2">
<div class="col-12 col-lg-4 mb-2">
<h6 class="mb-0">Nombre</h6>
<div class="">{{ distributionNetwork.responsableOrganizationUbication.name | title }}</div>
</div>
<div class="col-12 col-lg-4 mb-2">
<h6 class="mb-0">Ultima información</h6>
<div class="">
{% if analytics['organ_ubication'] is not none %}
{{ analytics['organ_ubication'].analyzedAt | date('d-m-Y') }}
{% else %}
-
{% endif %}
</div>
</div>
<div class="col-12 col-lg-4 mb-2">
<h6 class="mb-0">Estado</h6>
<div class="">
{% if analytics['organ_ubication'] is not none %}
{% if analytics['organ_ubication'].result == 'SUITABLE' %}
<a href="{{ url('web_public_analytical_show', {'analyticalId': analytics['organ_ubication'].id }) }}"
class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-circle-green.svg')) }}" />
Apta
</a>
{% elseif analytics['organ_ubication'].result == 'NOT_SUITABLE' %}
<a href="{{ url('web_public_analytical_show', {'analyticalId': analytics['organ_ubication'].id }) }}"
class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-circle-red.svg')) }}" />
No apta
</a>
{% else %}
<a href="{{ url('web_public_analytical_show', {'analyticalId': analytics['organ_ubication'].id }) }}"
class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-document-error.svg')) }}" />
Sin Información
</a>
{% endif %}
{% else %}
<div class="fw-bold">
<img style="height:30px;" class="ms-2"
src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-document-error.svg')) }}" />
Sin Información
</div>
{% endif %}
</div>
</div>
</div>
</li>
{% endif %}
{% if distributionNetwork.type == 'DN_TYPE_EXTERNAL' %}
<div class="row my-4">
<div class="col-12" >
<h3 class="mb-3" >Municipios</h3>
<ul class="list-group">
{% for town in distributionNetwork.towns %}
<li class="list-group-item">
<a href="{{ path('web_public_town_show_by_slug',{'townSlug':town.slug})}}"
class="fs-0 fw-bold">{{ town.name | title }}</a>
{% if town.countryArea is not none %}
({{town.countryArea.name}}, {{ town.country.name }})
{% else %}
({{ town.country.name }})
{% endif %}
</li>
{% endfor %}
</ul>
</div>
</div>
{% elseif distributionNetwork.type == 'DN_TYPE_INTERMEDIATE' %}
<div class="row g-5 mb-5">
<div class="col-12" >
<h3 class="mb-3" >Ubicaciones</h3>
<ul class="list-group">
{% for ubication in distributionNetwork.ubications %}
<li class="list-group-item">
<a href="{{ path('web_public_ubication_show',{'ubicationId':ubication.id})}}"
class="fs-0 fw-bold">{{ ubication.name | title }}</a>
{% if ubication.town.countryArea is not none %}
({{ubication.town.name | title}}, {{ubication.town.countryArea.name | title }}, {{ ubication.town.country.name | title}})
{% else %}
({{ubication.town.name | title}}, {{ubication.town.country.name | title }})
{% endif %}
</li>
{% endfor %}
</ul>
</div>
</div>
{% elseif distributionNetwork.type == 'DN_TYPE_INTERNAL' %}
<div class="row g-5 mb-5">
<div class="col-12" >
<h3 class="mb-3" >Establecimientos</h3>
<ul class="list-group">
{% for establishment in distributionNetwork.establishments %}
<li class="list-group-item">
<a href="{{ path('web_public_establishment_show',{'establishmentId':establishment.id})}}"
class="fs-0 fw-bold">{{ establishment.name | title }}</a>
{% if establishment.town.countryArea is not none %}
({{establishment.town.name | title}}, {{establishment.town.countryArea.name | title }}, {{ establishment.town.country.name | title}})
{% else %}
({{establishment.town.name | title}}, {{establishment.town.country.name | title }})
{% endif %}
</li>
{% endfor %}
</ul>
</div>
</div>
{% endif %}
<div class="row g-5 mb-5">
<div class="col-12" >
{% set distributionSubNetworks = [] %}
{% if distributionNetwork.type == 'DN_TYPE_EXTERNAL' %}
<h3 class="mb-3" >Subredes intermedias ({{ distributionNetwork.children | length }})</h3>
{% set distributionSubNetworks = distributionNetwork.children %}
{% elseif distributionNetwork.type == 'DN_TYPE_INTERMEDIATE' %}
<h3 class="mb-3" >Subredes internas ({{ distributionNetwork.children | length }})</h3>
{% set distributionSubNetworks = distributionNetwork.children %}
{% elseif distributionNetwork.type == 'DN_TYPE_INTERNAL' %}
{% set distributionSubNetworks = [] %}
{% endif %}
<ul class="list-group">
{% for distributionSubNetwork in distributionSubNetworks %}
<li class="list-group-item">
<a href="{{ path('web_public_distribution_network_show_by_id',{'distributionNetworkId':distributionSubNetwork.id})}}"
class="fs-0 fw-bold">{{ distributionSubNetwork.name | title }}</a>
<div class="ms-2 me-auto">
Tipo:
<span class="fw-bold">{{ ('distributionNetwork.type.' ~ distributionSubNetwork.type) | trans }}</span>
</div>
<div class="ms-2 me-auto">
Estado:
{% if distributionSubNetwork.whaterStatus == 'DN_STATUS_SUITABLE' %}
<span class="fw-bold text-success ">Apta</span>
{% elseif distributionSubNetwork.whaterStatus == 'DN_STATUS_NOT_SUITABLE' %}
<span class="fw-bold text-danger ">No apta</span>
{% else %}
<span class="fw-bold">Sin Información</span>
{% endif %}
</div>
<div class="ms-2 me-auto">
Fecha última actualización:
<span class="fw-bold">{{distributionSubNetwork.lastAnalitycsUpdateAt | date('d-m-Y') }}</span>
</div>
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
<div class="col-xl-6">
{% if is_granted('IS_AUTHENTICATED_FULLY') and app.user %}
<h3 class="mb-2">¡Danos tu opinión!</h3>
{% set myvaloration = app.user.user.valorationForDistributionNetwork(distributionNetwork.id) %}
<div class="row align-items-center pb-3" ng-init="initValorations('{{distributionNetwork.id}}')" >
<div class="col-2">General:</div>
<div class="col-10">
<div class="radio-container d-flex" id="select-general-quality" {% if myvaloration is not none %}data-valoration="{{myvaloration.generalValoration}}"{% endif %}>
<div class="mx-3">
<input type="radio" id="radio-val1" name="general" value="DN_QUALITY_ACCEPTABLE_VALORATION">
<label for="radio-val1"><img style="height:40px;" src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-face-smile.svg')) }}" data-bs-toggle="tooltip" data-bs-placement="top" title="Aceptable" /></label>
</div>
<div class="mx-3">
<input type="radio" id="radio-val2" name="general" value="DN_QUALITY_NEEDS_IMPROVEMENT_VALORATION">
<label for="radio-val2"><img style="height:40px;" src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-face-normal.svg')) }}" data-bs-toggle="tooltip" data-bs-placement="top" title="Mejorable"/></label>
</div>
<div class="mx-3">
<input type="radio" id="radio-val3" name="general" value="DN_QUALITY_NOT_ACCEPTABLE_VALORATION">
<label for="radio-val3"><img style="height:40px;" src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-face-sad.svg')) }}" data-bs-toggle="tooltip" data-bs-placement="top" title="No aceptable"/></label>
</div>
</div>
</div>
</div>
<h6 class="mt-2 mb-2">Danos una valoración más específica evaluando los siguientes parámetros </h6>
<div class="row pb-3">
<div class="row align-items-center" >
<div class="col-2 text-end">Sabor:</div>
<div class="col-10">
<div class="radio-container d-flex" id="select-taste-quality" {% if myvaloration is not none %}data-valoration="{{myvaloration.tasteValoration}}"{% endif %}>
<label class="me-3"><input type="radio" name="taste" value="DN_QUALITY_ACCEPTABLE_VALORATION"> {{ ('distribution_network_valoration.quality.DN_QUALITY_ACCEPTABLE_VALORATION') | trans}}</label>
<label class="me-3"><input type="radio" name="taste" value="DN_QUALITY_NEEDS_IMPROVEMENT_VALORATION"> {{ ('distribution_network_valoration.quality.DN_QUALITY_NEEDS_IMPROVEMENT_VALORATION') | trans}}</label>
<label><input type="radio" name="taste" value="DN_QUALITY_NOT_ACCEPTABLE_VALORATION"> {{ ('distribution_network_valoration.quality.DN_QUALITY_NOT_ACCEPTABLE_VALORATION') | trans}}</label>
</div>
</div>
</div>
<div class="row align-items-center">
<div class="col-2 text-end">Olor:</div>
<div class="col-10">
<div class="radio-container d-flex" id="select-smell-quality" {% if myvaloration is not none %}data-valoration="{{myvaloration.smellValoration}}"{% endif %}>
<label class="me-3"><input type="radio" name="smell" value="DN_QUALITY_ACCEPTABLE_VALORATION"> {{ ('distribution_network_valoration.quality.DN_QUALITY_ACCEPTABLE_VALORATION') | trans}}</label>
<label class="me-3"><input type="radio" name="smell" value="DN_QUALITY_NEEDS_IMPROVEMENT_VALORATION"> {{ ('distribution_network_valoration.quality.DN_QUALITY_NEEDS_IMPROVEMENT_VALORATION') | trans}}</label>
<label><input type="radio" name="smell" value="DN_QUALITY_NOT_ACCEPTABLE_VALORATION"> {{ ('distribution_network_valoration.quality.DN_QUALITY_NOT_ACCEPTABLE_VALORATION') | trans}}</label>
</div>
</div>
</div>
<div class="row align-items-center">
<div class="col-2 text-end">Color:</div>
<div class="col-10">
<div class="radio-container d-flex" id="select-color-quality" {% if myvaloration is not none %}data-valoration="{{myvaloration.colorValoration}}"{% endif %}>
<label class="me-3"><input type="radio" name="color" value="DN_QUALITY_ACCEPTABLE_VALORATION"> {{ ('distribution_network_valoration.quality.DN_QUALITY_ACCEPTABLE_VALORATION') | trans}}</label>
<label class="me-3"><input type="radio" name="color" value="DN_QUALITY_NEEDS_IMPROVEMENT_VALORATION"> {{ ('distribution_network_valoration.quality.DN_QUALITY_NEEDS_IMPROVEMENT_VALORATION') | trans}}</label>
<label><input type="radio" name="color" value="DN_QUALITY_NOT_ACCEPTABLE_VALORATION"> {{ ('distribution_network_valoration.quality.DN_QUALITY_NOT_ACCEPTABLE_VALORATION') | trans}}</label>
</div>
</div>
</div>
<div class="row align-items-center">
<div class="col-2 text-end">Turbidez:</div>
<div class="col">
<div class="radio-container d-flex" id="select-turbidity-quality" {% if myvaloration is not none %}data-valoration="{{myvaloration.turbidityValoration}}"{% endif %}>
<label class="me-3"><input type="radio" name="turbidity" value="DN_QUALITY_ACCEPTABLE_VALORATION"> {{ ('distribution_network_valoration.quality.DN_QUALITY_ACCEPTABLE_VALORATION') | trans}}</label>
<label class="me-3"><input type="radio" name="turbidity" value="DN_QUALITY_NEEDS_IMPROVEMENT_VALORATION"> {{ ('distribution_network_valoration.quality.DN_QUALITY_NEEDS_IMPROVEMENT_VALORATION') | trans}}</label>
<label><input type="radio" name="turbidity" value="DN_QUALITY_NOT_ACCEPTABLE_VALORATION"> {{ ('distribution_network_valoration.quality.DN_QUALITY_NOT_ACCEPTABLE_VALORATION') | trans}}</label>
</div>
</div>
</div>
</div>
{% endif %}
{% if is_granted('IS_AUTHENTICATED_FULLY') and app.user and app.user.user.whaterOrganization and distributionNetwork.responsableOrganizationUbication and app.user.user.whaterOrganization == distributionNetwork.responsableOrganizationUbication %}
<h5 class="mt-3 mb-2"
ng-init="initRating('{{distributionNetwork.id}}','{{distributionNetwork.totalColor | json_encode }}','{{distributionNetwork.totalSmell | json_encode}}','{{distributionNetwork.totalTaste | json_encode}}','{{distributionNetwork.totalTurbidity | json_encode}}','{{distributionNetwork.totalGeneral | json_encode}}')">
Resultado de valoraciones de usuarios
</h5>
<div class="row">
<div class="col-md-2 text-center mb-2" >
<div class="fs-0"></div>
</div>
<div class="col-md-3 text-center mb-2" >
<div>Aceptable: </div>
</div>
<div class="col-md-4 text-center mb-2" >
<div>Mejorable: </div>
</div>
<div class="col-md-3 text-center mb-2" >
<div>No aceptable: </div>
</div>
</div>
<div class="row">
<div class="col-md-2 text-end mb-2" >
<div class="fs-0">General:</div>
</div>
<div class="col-md-3 text-center mb-2" >
<div id="totalAcceptableGeneral" ></div>
</div>
<div class="col-md-4 text-center mb-2" >
<div id="totalNeedsImprovementGeneral" ></div>
</div>
<div class="col-md-3 text-center mb-2" >
<div id="totalNotAcceptableGeneral" ></div>
</div>
</div>
<div class="row">
<div class="col-md-2 text-end mb-2" >
<div class="fs-0">Sabor:</div>
</div>
<div class="col-md-3 text-center mb-2" >
<div id="totalAcceptableTaste" ></div>
</div>
<div class="col-md-4 text-center mb-2" >
<div id="totalNeedsImprovementTaste" ></div>
</div>
<div class="col-md-3 text-center mb-2" >
<div id="totalNotAcceptableTaste" ></div>
</div>
</div>
<div class="row">
<div class="col-md-2 text-end mb-2" >
<div class="fs-0">Olor:</div>
</div>
<div class="col-md-3 text-center mb-2" >
<div id="totalAcceptableSmell" ></div>
</div>
<div class="col-md-4 text-center mb-2" >
<div id="totalNeedsImprovementSmell" ></div>
</div>
<div class="col-md-3 text-center mb-2" >
<div id="totalNotAcceptableSmell" ></div>
</div>
</div>
<div class="row">
<div class="col-md-2 text-end mb-2" >
<div class="fs-0">Color:</div>
</div>
<div class="col-md-3 text-center mb-2" >
<div id="totalAcceptableColor" ></div>
</div>
<div class="col-md-4 text-center mb-2" >
<div id="totalNeedsImprovementColor" ></div>
</div>
<div class="col-md-3 text-center mb-2" >
<div id="totalNotAcceptableColor" ></div>
</div>
</div>
<div class="row">
<div class="col-md-2 text-end mb-2" >
<div class="fs-0">Turbidez: </div>
</div>
<div class="col-md-3 text-center mb-2" >
<div id="totalAcceptableTurbidity" ></div>
</div>
<div class="col-md-4 text-center mb-2" >
<div id="totalNeedsImprovementTurbidity" ></div>
</div>
<div class="col-md-3 text-center mb-2" >
<div id="totalNotAcceptableTurbidity" ></div>
</div>
</div>
{% endif %}
<div class="d-flex align-items-center">
<div class="">
{% if distributionNetwork.averageUserGeneral is not none %}
{% if distributionNetwork.averageUserGeneral <= 3 %}
<img style="height:40px;" src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-face-sad.svg')) }}" data-bs-toggle="tooltip" data-bs-placement="top" title="No aceptable"/>
{% elseif distributionNetwork.averageUserGeneral > 3 and distributionNetwork.averageUserGeneral < 8 %}
<img style="height:40px;" src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-face-normal.svg')) }}" data-bs-toggle="tooltip" data-bs-placement="top" title="Mejorable"/>
{% elseif distributionNetwork.averageUserGeneral >= 8 %}
<img style="height:40px;" src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-face-smile.svg')) }}" data-bs-toggle="tooltip" data-bs-placement="top" title="Aceptable"/>
{% endif %}
{% elseif distributionNetwork.averageProfessionalGeneral is not none %}
{% if distributionNetwork.averageProfessionalGeneral <= 3 %}
<img style="height:40px;" src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-face-sad.svg')) }}" data-bs-toggle="tooltip" data-bs-placement="top" title="No aceptable"/>
{% elseif distributionNetwork.averageUserGeneral > 3 and distributionNetwork.averageProfessionalGeneral < 8 %}
<img style="height:40px;" src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-face-normal.svg')) }}" data-bs-toggle="tooltip" data-bs-placement="top" title="Mejorable"/>
{% elseif distributionNetwork.averageProfessionalGeneral >= 8 %}
<img style="height:40px;" src="{{ absolute_url(asset('/assets/images/widget_icons/whater-widget-face-smile.svg')) }}" data-bs-toggle="tooltip" data-bs-placement="top" title="Aceptable"/>
{% endif %}
{% endif %}
</div>
<div class="d-flex align-items-center">
{% if distributionNetwork.averageUserGeneral is none and distributionNetwork.averageProfessionalGeneral is none %}
<div class="ms-3 text-1000">
<div class="text-muted">Este whaterpoint aún no ha recibido valoraciones.</div>
</div>
{% else %}
<div class="ms-3 text-1000">
{% if distributionNetwork.averageUserGeneral is not none %}
<div>La valoracion media de usuarios es de <span class="fw-bold">{{distributionNetwork.averageUserGeneral | number_format(2, ',', '.') }}</span> sobre 10</div>
{% endif %}
{% if distributionNetwork.averageProfessionalGeneral is not none %}
<div>La valoracion media de profesionales es de <span class="fw-bold">{{distributionNetwork.averageProfessionalGeneral | number_format(2, ',', '.')}}</span> sobre 10</div>
{% endif %}
</div>
{% endif %}
</div>
</div>
<h3 class="mt-5 mb-2" >
Comentarios de los usuarios
</h3>
{% set allow_comment_button = true %}
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
{% for valoration in distributionNetwork.valorations %}
{% if valoration.createdBy.equals(app.user.user) and valoration.userCommentText is not none %}
{% set allow_comment_button = false %}
{% endif %}
{% endfor %}
<div class="d-flex flex-row-reverse mb-2">
<button class="btn btn-secondary btn-sm" type="button"
{% if allow_comment_button %}
ng-click="createCommentModal()"
{% else %}
disabled="disabled"
{% endif %}
>Añadir comentario</button>
</div>
{% endif %}
<div class="row pb-3">
<div class="col-12 col-xl-auto flex-1">
{% set num_comments = 0 %}
{% for valoration in distributionNetwork.valorations %}
{% if valoration.hideUserComment == false and valoration.userCommentText is not none %}
{% set num_comments = num_comments + 1 %}
<div class="border-2 border-dashed mb-3 pt-2 border-top">
<div class="d-flex">
<div class="fs--1 text-600">
<span class="fa-solid fa-clock me-2"></span>
<span class="fw-semi-bold me-1">{{ valoration.createdAt | date('d-m-Y H:i') }}</span>
</div>
<p class="fs--1 mb-0 text-600">
por
<span class=" fw-semi-bold">{{ valoration.createdBy.fullName }}</span>
</p>
</div>
<p class="mt-2 ms-3 text-1000">{{valoration.userCommentText | nl2br }}</p>
{% if valoration.commentImage is not none %}
<div class="w-100 w-md-50 ms-md-3">
<a href="{{ vich_uploader_asset(valoration.commentImage, 'fileDistributionNetworkValorationImage') }}" data-gallery="gallery-posts-0">
<img class="rounded h-100 w-100" src="{{ vich_uploader_asset(valoration.commentImage, 'fileDistributionNetworkValorationImage') | imagine_filter('distribution_network_valoration_image_thumb_300_200') }}" alt="..." />
</a>
</div>
{% endif %}
{% set allow_delete = false %}
{% set allow_reply = false %}
{% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
{% if app.user.user.checkPermission('PERMISSION_EDIT_DISTRIBUTION_NETWORK',distributionNetwork) %}
{% set allow_delete = true %}
{% set allow_reply = true %}
{% endif %}
{% if app.user.user.hasRole('ROLE_ADMIN') %}
{% set allow_delete = true %}
{% endif %}
{% endif %}
<div class="mt-2 ms-md-3">
{% if allow_delete %}
<button class="btn btn-link p-0 text-900 fw-bolder mb-2" type="button" ng-click="deleteCommentModal('{{valoration.id}}')" data-valoration-id="{{valoration.id}}">
<span class="fa-solid fa-trash-alt fs--2 me-1 text-danger"></span>
<span class="fw-bold fs--2 text-danger">Eliminar mensaje</span>
</button>
{% endif %}
{% if allow_reply %}
<button class="btn btn-link p-0 text-900 fw-bolder mb-2" type="button" ng-click="replyCommentModal('{{valoration.id}}')" data-valoration-id="{{valoration.id}}">
<span class="fa-solid fa-reply fs--2 me-1">
</span>
<span class="fw-bold fs--2">
{% if valoration.responseCommentText is none%}
Responder mensaje
{% else %}
Editar respuesta
{% endif %}
</span>
</button>
{% endif %}
</div>
{% if valoration.responseCommentText %}
<div class="d-flex ms-md-3">
<div class="fs--1 text-600">
<span class="fa-solid fa-clock me-2"></span>
<span class="fw-semi-bold me-1">{{ valoration.responseCommentAt | date('d-m-Y H:i') }}</span>
</div>
<p class="fs--1 mb-0 text-600">
por
{% if distributionNetwork.responsableOrganizationUbication is not none %}
<span class=" fw-semi-bold">{{distributionNetwork.responsableOrganizationUbication.name}}</span>
{% else %}
<span class=" fw-semi-bold">whater.app</span>
{% endif %}
</p>
</div>
<p class="mt-2 ms-3 text-1000">{{valoration.responseCommentText | nl2br }}</p>
{% endif %}
</div>
{% endif %}
{% endfor %}
{% if num_comments == 0 %}
<p class="mt-2 ms-3 text-1000">
<span class="text-muted">Este whaterpoint aún no ha recibido comentarios.</span>
</p>
{% endif %}
{% if not is_granted('IS_AUTHENTICATED_FULLY') %}
<a href="{{path('web_login', {'_target_path': path('web_public_distribution_network_show_by_id',{'distributionNetworkId': distributionNetwork.id})})}}">Entra y comenta!</a>
{%endif %}
</div>
</div>
</div>
</div>
{% if (recommendedProducts | length ) > 0 %}
<div class="row g-5 mb-5">
<div class="col-12">
<h3 class="mb-3">Productos recomendados</h3>
<div class="row">
{% for product in recommendedProducts %}
<div class="col-6 col-lg-2 col-md-3">
<div class="product-card h-100">
<div class="d-flex flex-column justify-content-between h-100">
<div class="">
<a class="border border-1 rounded-3 position-relative mb-2"
{% if single_page is defined and single_page == true %}
target="_blank"
{% endif %}
href="{{ path('web_public_show_product', {'productSlug':product.productSlug})}}" >
<img class="img-fluid product-image"
{% if (product.images| length) > 0 %}
src="{{ vich_uploader_asset( product.images.0, 'fileProductImage') | imagine_filter('product_list_image') }}"
{% else %}
src="{{asset('/assets/images/gota-foto-3@2x.png')}}"
{% endif %}
/>
</a>
<a class="text-decoration-none"
{% if single_page is defined and single_page == true %}
target="_blank"
{% endif %}
href="{{ path('web_public_show_product', {'productSlug':product.productSlug})}}" >
<span class="product-name fw-bold text-dark">{{product.productLabel}}</span>
</a>
</div>
<div class="d-flex align-items-center justify-content-end mb-1">
<p class="mb-0 text-700 product-price-label">Desde {{product.productPrice}}€</p>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
{% endif %}
{% if (distributionNetworkArticles | length ) > 0 %}
<div class="row g-5 mb-5">
<div class="col-12">
<div class="row g-0 py-3 align-items-end justify-content-between">
<h3 class="flex-1 mb-0 text-nowrap me-3">Artículos recomendados</h3>
</div>
</div>
{% for article in distributionNetworkArticles %}
<div class="col-4 my-2 py-1">
<div class="card" >
{% if article.headerImageUrl %}
<a href="{{ url('web_blog_show_article', { 'articleSlug' : article.slug('es'), '_locale': 'es' })}}">
<img class="card-img-top" src="{{ article.headerImageUrl | imagine_filter('whater_blog_header_list_image_1200_200') }}" title="{{ article.title('es') }}">
</a>
{% endif %}
<div class="card-body">
<a class="text-dark" href="{{ url('web_blog_show_article', { 'articleSlug' : article.slug('es'), '_locale': 'es' })}}">
<h3 class="card-title">{{ article.title('es') }}</h3>
</a>
<p class="card-text">{{ article.content('es') | striptags | u.truncate(350) |raw }}...</p>
<div class="fs--1 text-muted">{{ article.publishAt | date('d-m-Y') }} - {{ article.publishAt | ago }}</div>
<div class="my-1">
{% for metaKeyword in article.metaKeywords('es') %}
<a class="text-muted fs--1">#{{ metaKeyword | replace({' ': '-'})}}</a>
{% endfor %}
</div>
</div>
</div>
</div>
{% endfor %}
</div>
{% endif %}
</div>
<div class="modal fade" id="createCommentModal" tabindex="-1" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="createCommentModalLabel">Añadir comentario</h5>
<button class="btn p-1" type="button" data-bs-dismiss="modal" aria-label="Close">
<span class="fas fa-times fs--1"></span>
</button>
</div>
<div class="modal-body">
<textarea class="form-control mb-3" ng-model="valorationCommentText" rows="4"></textarea>
<div class="mt-2">¿Quieres subir una foto? (min 300x300)</div>
<input id="fileImageInput" type="file" ng-model="valorationCommentImage" accept="image/*" class="form-control">
</div>
<div class="modal-footer">
<button class="btn btn-primary" type="button" ng-click="acceptCommentModalButton()">Aceptar</button>
<button class="btn btn-outline-primary" type="button" data-bs-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="deleteCommentModal" tabindex="-1" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="deleteCommentModalLabel">Eliminar comentario</h5>
<button class="btn p-1" type="button" data-bs-dismiss="modal" aria-label="Close">
<span class="fas fa-times fs--1"></span>
</button>
</div>
<div class="modal-body">
<p>Estás a punto de eliminar este comentario. ¿Deseas continuar?</p>
<p>El usuario no podrá volver a realizar un comentario sobre esta red de distribution.</p>
</div>
<div class="modal-footer">
<button class="btn btn-danger" type="button" ng-click="acceptDeleteCommentModalButton()">Aceptar</button>
<button class="btn btn-secondary" type="button" data-bs-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="replyCommentModal" tabindex="-1" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="replyCommentModalLabel">Añadir comentario</h5>
<button class="btn p-1" type="button" data-bs-dismiss="modal" aria-label="Close">
<span class="fas fa-times fs--1"></span>
</button>
</div>
<div class="modal-body">
<textarea class="form-control mb-3" ng-model="valorationReplyCommentText" rows="4"></textarea>
</div>
<div class="modal-footer">
<button class="btn btn-primary" type="button" ng-click="acceptReplyCommentModalButton()">Aceptar</button>
<button class="btn btn-outline-primary" type="button" data-bs-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</div>
{% endblock contents %}