Merge branch 'master' into dist/eole/2.7.2/master

This commit is contained in:
2021-05-03 10:01:28 +02:00
3 changed files with 73 additions and 70 deletions

View File

@@ -18,7 +18,10 @@ document.addEventListener('DOMContentLoaded', function() {
locale: frLocale, locale: frLocale,
weekNumbers: true, weekNumbers: true,
selectable: true, selectable: true,
events: 'event/load/'+iduser, eventSources: [{
'id': 1,
'url': 'event/load/'+iduser,
}],
eventLimit:8, eventLimit:8,
eventDrop: function(info) { eventDrop: function(info) {
info.revert(); info.revert();

View File

@@ -18,10 +18,10 @@
.fc-content { .fc-content {
height: 40px; height: 40px;
} }
.fc-title { .fc-title {
font-weight: bolder; font-weight: bolder;
font-size: 12px; font-size: 12px;
} }
.eventAvatar { .eventAvatar {
@@ -30,7 +30,7 @@
float: left; float: left;
} }
.eventInfo{ .eventInfo{
margin: -5px 5px 0px 0px; margin: -5px 5px 0px 0px;
clear: both; clear: both;
} }
@@ -39,7 +39,7 @@
clear: both; clear: both;
} }
.eventEstimate { .eventEstimate {
margin: -3px 10px; margin: -3px 10px;
} }
.select2-results__group { .select2-results__group {
@@ -76,7 +76,7 @@
</label> </label>
<select class="select2entity" id="usersubmit" name="usersubmit"> <select class="select2entity" id="usersubmit" name="usersubmit">
{% if is_granted('ROLE_ADMIN') or is_granted('ROLE_MASTER') or is_granted('ROLE_VALIDATOR')%} {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_MASTER') or is_granted('ROLE_VALIDATOR')%}
{% for user in app.session.get('users') %} {% for user in app.session.get('users') %}
{% set selected="" %} {% set selected="" %}
{%if user.id==app.session.get('iduser') %} {%if user.id==app.session.get('iduser') %}
@@ -105,7 +105,7 @@
{% endfor %} {% endfor %}
</optgroup> </optgroup>
{% endfor %} {% endfor %}
</select> </select>
</div> </div>
@@ -114,27 +114,27 @@
<input type="checkbox" class="custom-control-input" id="amsubmit"> <input type="checkbox" class="custom-control-input" id="amsubmit">
<label class="custom-control-label" for="amsubmit">Evènement sur la matinée</label> <label class="custom-control-label" for="amsubmit">Evènement sur la matinée</label>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="custom-control custom-switch"> <div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="apsubmit"> <input type="checkbox" class="custom-control-input" id="apsubmit">
<label class="custom-control-label" for="apsubmit">Evènement sur l'après-midi</label> <label class="custom-control-label" for="apsubmit">Evènement sur l'après-midi</label>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="custom-control custom-switch"> <div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="astreinte"> <input type="checkbox" class="custom-control-input" id="astreinte">
<label class="custom-control-label" for="astreinte">Astreinte</label> <label class="custom-control-label" for="astreinte">Astreinte</label>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="custom-control custom-switch"> <div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="externaltrip"> <input type="checkbox" class="custom-control-input" id="externaltrip">
<label class="custom-control-label" for="externaltrip">Déplacement externe</label> <label class="custom-control-label" for="externaltrip">Déplacement externe</label>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="description" class="control-label"> <label for="description" class="control-label">
@@ -147,7 +147,7 @@
<input type="hidden" id="start" name="start" class="form-control" value=""> <input type="hidden" id="start" name="start" class="form-control" value="">
<input type="hidden" id="end" name="end" class="form-control" value=""> <input type="hidden" id="end" name="end" class="form-control" value="">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@@ -162,7 +162,7 @@
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<button onClick="eventUpdate()" class="btn btn-success">Valider</button> <button onClick="eventUpdate()" class="btn btn-success">Valider</button>
<button onClick="" class="btn btn-secondary" data-dismiss="modal">Annuler</button> <button onClick="" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
@@ -174,7 +174,7 @@
Intervenant<span class="mandatory">*</span> Intervenant<span class="mandatory">*</span>
</label> </label>
<select class="select2entity" id="userupdate" name="userupdate"> <select class="select2entity" id="userupdate" name="userupdate">
{% if is_granted('ROLE_ADMIN') or is_granted('ROLE_MASTER') or is_granted('ROLE_VALIDATOR')%} {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_MASTER') or is_granted('ROLE_VALIDATOR')%}
{% for user in users %} {% for user in users %}
<option value="{{user.id}}">{{user.displayname}}</option> <option value="{{user.id}}">{{user.displayname}}</option>
{% endfor %} {% endfor %}
@@ -203,7 +203,7 @@
<input type="checkbox" class="custom-control-input" id="amupdate"> <input type="checkbox" class="custom-control-input" id="amupdate">
<label class="custom-control-label" for="amupdate">Evènement sur la matinée</label> <label class="custom-control-label" for="amupdate">Evènement sur la matinée</label>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="custom-control custom-switch"> <div class="custom-control custom-switch">
@@ -216,7 +216,7 @@
<input type="checkbox" class="custom-control-input" id="externaltripupdate"> <input type="checkbox" class="custom-control-input" id="externaltripupdate">
<label class="custom-control-label" for="externaltripupdate">Déplacement externe</label> <label class="custom-control-label" for="externaltripupdate">Déplacement externe</label>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="description" class="control-label"> <label for="description" class="control-label">
Description Description
@@ -227,7 +227,7 @@
<input type="hidden" id="idevent" name="idevent" class="form-control" value=""> <input type="hidden" id="idevent" name="idevent" class="form-control" value="">
<input type="hidden" id="fgastreinte" name="fgastreinte" class="form-control" value=""> <input type="hidden" id="fgastreinte" name="fgastreinte" class="form-control" value="">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@@ -243,25 +243,25 @@ $(document).ready(function() {
$("#modalsubmit #user").select2({ $("#modalsubmit #user").select2({
theme: 'bootstrap4', theme: 'bootstrap4',
language: "fr" language: "fr"
}); });
$("#modalsubmit #task").select2({ $("#modalsubmit #task").select2({
placeholder: "Selectionnez un projet", placeholder: "Selectionnez un projet",
allowClear: true, allowClear: true,
theme: 'bootstrap4', theme: 'bootstrap4',
language: "fr" language: "fr"
}); });
$("#modalupdate #user").select2({ $("#modalupdate #user").select2({
theme: 'bootstrap4', theme: 'bootstrap4',
language: "fr" language: "fr"
}); });
$("#modalupdate #task").select2({ $("#modalupdate #task").select2({
placeholder: "Selectionnez un projet", placeholder: "Selectionnez un projet",
theme: 'bootstrap4', theme: 'bootstrap4',
language: "fr" language: "fr"
}); });
}); });
// Rendu d'un évenement // Rendu d'un évenement
@@ -276,7 +276,7 @@ function eventRender(info) {
content.append("<span class='eventUser float-left small'>"+info.event.extendedProps.username+"</span>"); content.append("<span class='eventUser float-left small'>"+info.event.extendedProps.username+"</span>");
var eventInfo=$(content).children('.eventUser'); var eventInfo=$(content).children('.eventUser');
// Ajout container // Ajout container
content.append("<span style='margin-top:-12px' class='eventInfo float-right'></span>"); content.append("<span style='margin-top:-12px' class='eventInfo float-right'></span>");
var eventInfo=$(content).children('.eventInfo'); var eventInfo=$(content).children('.eventInfo');
@@ -317,7 +317,7 @@ function eventSelect(selectionInfo) {
} }
// Valeur par défaut // Valeur par défaut
{% if (is_granted('ROLE_ADMIN') or is_granted('ROLE_VALIDATOR') or is_granted('ROLE_MASTER')) and app.session.get('iduser')!="all" %} {% if (is_granted('ROLE_ADMIN') or is_granted('ROLE_VALIDATOR') or is_granted('ROLE_MASTER')) and app.session.get('iduser')!="all" %}
$('#usersubmit').val({{app.session.get('iduser')}}).trigger("change"); $('#usersubmit').val({{app.session.get('iduser')}}).trigger("change");
{% else %} {% else %}
$('#usersubmit').val({{app.user.id}}).trigger("change"); $('#usersubmit').val({{app.user.id}}).trigger("change");
@@ -341,7 +341,7 @@ function eventSelect(selectionInfo) {
$('#modalsubmit #start').val(start.format("YYYY-MM-DD")); $('#modalsubmit #start').val(start.format("YYYY-MM-DD"));
$('#modalsubmit #end').val(end.format("YYYY-MM-DD")); $('#modalsubmit #end').val(end.format("YYYY-MM-DD"));
$('#modalsubmit #description').val(""); $('#modalsubmit #description').val("");
$('#modalsubmit #externaltrip').prop("checked",false); $('#modalsubmit #externaltrip').prop("checked",false);
@@ -369,7 +369,7 @@ function eventClick(info) {
$('#userupdate').val(userid).trigger("change"); $('#userupdate').val(userid).trigger("change");
$('#taskupdate').val(taskid).trigger("change"); $('#taskupdate').val(taskid).trigger("change");
$('#modalupdate #idevent').val(id); $('#modalupdate #idevent').val(id);
$('#modalupdate #fgastreinte').val(fgastreinte); $('#modalupdate #fgastreinte').val(fgastreinte);
$('#modalupdate #description').val(description); $('#modalupdate #description').val(description);
if (holiday) { if (holiday) {
@@ -409,7 +409,7 @@ function eventClick(info) {
$('#modalupdate #apupdate').prop("checked",true); $('#modalupdate #apupdate').prop("checked",true);
} }
} }
// Formulaire de création d'un évènement // Formulaire de création d'un évènement
$('#modalupdate').modal(); $('#modalupdate').modal();
} }
@@ -433,7 +433,7 @@ function eventSubmit() {
} }
if(!error) { if(!error) {
$.ajax({ $.ajax({
type: "POST", type: "POST",
data: { data: {
iduser: $("#usersubmit").val(), iduser: $("#usersubmit").val(),
@@ -444,7 +444,7 @@ function eventSubmit() {
ap: $("#modalsubmit #apsubmit").prop("checked"), ap: $("#modalsubmit #apsubmit").prop("checked"),
astreinte: $("#modalsubmit #astreinte").prop("checked"), astreinte: $("#modalsubmit #astreinte").prop("checked"),
externaltrip: $("#modalsubmit #externaltrip").prop("checked"), externaltrip: $("#modalsubmit #externaltrip").prop("checked"),
description: $("#modalsubmit #description").val() description: $("#modalsubmit #description").val()
}, },
url: "{{ path('app_event_submit') }}", url: "{{ path('app_event_submit') }}",
success: function (response) { success: function (response) {
@@ -453,7 +453,7 @@ function eventSubmit() {
$("#modalsubmit .modal-body").append("<div class='alert alert-danger' style='margin: 5px 0px'>"+response.error+"</div>"); $("#modalsubmit .modal-body").append("<div class='alert alert-danger' style='margin: 5px 0px'>"+response.error+"</div>");
} }
else { else {
calendar.addEvent(response); calendar.addEvent(response,1);
calendar.render; calendar.render;
$('#modalsubmit').modal('hide'); $('#modalsubmit').modal('hide');
} }
@@ -466,7 +466,7 @@ function eventSubmit() {
function eventUpdate() { function eventUpdate() {
$("#modalupdate .alert").remove(); $("#modalupdate .alert").remove();
$.ajax({ $.ajax({
type: "POST", type: "POST",
data: { data: {
idevent: $("#modalupdate #idevent").val(), idevent: $("#modalupdate #idevent").val(),
@@ -476,7 +476,7 @@ function eventUpdate() {
ap: $("#modalupdate #apupdate").prop("checked"), ap: $("#modalupdate #apupdate").prop("checked"),
fgastreinte: $("#modalupdate #fgastreinte").val(), fgastreinte: $("#modalupdate #fgastreinte").val(),
externaltrip: $("#modalupdate #externaltripupdate").prop("checked"), externaltrip: $("#modalupdate #externaltripupdate").prop("checked"),
description: $("#modalupdate #description").val() description: $("#modalupdate #description").val()
}, },
url: "{{ path('app_event_update') }}", url: "{{ path('app_event_update') }}",
success: function (response) { success: function (response) {
@@ -486,8 +486,8 @@ function eventUpdate() {
} }
else { else {
var event = calendar.getEventById($("#modalupdate #idevent").val()); var event = calendar.getEventById($("#modalupdate #idevent").val());
event.remove(); event.remove();
calendar.addEvent(response); calendar.addEvent(response);
calendar.render; calendar.render;
$('#modalupdate').modal('hide'); $('#modalupdate').modal('hide');
@@ -500,7 +500,7 @@ function eventUpdate() {
function eventDelete() { function eventDelete() {
$("#modalupdate .alert").remove(); $("#modalupdate .alert").remove();
$.ajax({ $.ajax({
type: "POST", type: "POST",
data: { data: {
idevent: $("#modalupdate #idevent").val(), idevent: $("#modalupdate #idevent").val(),
@@ -514,7 +514,7 @@ function eventDelete() {
} }
else { else {
var event = calendar.getEventById($("#modalupdate #idevent").val()); var event = calendar.getEventById($("#modalupdate #idevent").val());
event.remove(); event.remove();
$('#modalupdate').modal('hide'); $('#modalupdate').modal('hide');
} }
} }
@@ -539,4 +539,4 @@ $("#astreinte").change(function() {
} }
}); });
{% endblock %} {% endblock %}

View File

@@ -9,7 +9,7 @@
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> <![endif]-->
{% block head_style %} {% block head_style %}
{{ encore_entry_link_tags('app') }} {{ encore_entry_link_tags('app') }}
{% endblock head_style %} {% endblock head_style %}
@@ -90,7 +90,7 @@
color: #CFD8DC; color: #CFD8DC;
font-size: 16px; font-size: 16px;
padding: 0px 10px 0px 10px; padding: 0px 10px 0px 10px;
display: block; display: block;
text-transform: uppercase; text-transform: uppercase;
margin-left: 0px !important; margin-left: 0px !important;
font-weight: bold; font-weight: bold;
@@ -130,26 +130,26 @@
} }
@media (max-width: 991px) { @media (max-width: 991px) {
.contentsidebar { .contentsidebar {
margin-left: auto; margin-left: auto;
} }
#sidebar { #sidebar {
position: static; position: static;
margin:0px -15px; margin:0px -15px;
width: auto; width: auto;
} }
} }
a.btn { a.btn {
color:#ffffff; color:#ffffff;
} }
@media (min-width: 992px) { @media (min-width: 992px) {
#sidebar { #sidebar {
display: block; display: block;
} }
} }
{% if useheader is defined and useheader %} {% if useheader is defined and useheader %}
#main { #main {
@@ -159,7 +159,7 @@
th.dt-center, td.dt-center { text-align: center; } th.dt-center, td.dt-center { text-align: center; }
.new-page {display:none;} .new-page {display:none;}
{% if fgprint is defined and fgprint %} {% if fgprint is defined and fgprint %}
@@ -171,7 +171,7 @@
border :1px solid transparent; border :1px solid transparent;
page-break-after: always; page-break-after: always;
} }
#sidebar,.navbar,.sf-toolbar { #sidebar,.navbar,.sf-toolbar {
display: none; display: none;
} }
@@ -189,8 +189,8 @@
.homecard { .homecard {
display:inline-block; display:inline-block;
float:none; float:none;
} }
{% endif %} {% endif %}
{% block localstyle %} {% block localstyle %}
{% endblock %} {% endblock %}
@@ -246,7 +246,7 @@
{% endif %} {% endif %}
{% endif %} {% endif %}
</li> </li>
</ul> </ul>
</nav> </nav>
{% endif %} {% endif %}
@@ -254,7 +254,7 @@
{% set contentsidebar="" %} {% set contentsidebar="" %}
{% if usesidebar is defined and usesidebar %} {% if usesidebar is defined and usesidebar %}
{% set contentsidebar="contentsidebar" %} {% set contentsidebar="contentsidebar" %}
<div id="sidebar" class="collapse"> <div id="sidebar" class="collapse">
<ul style="padding-bottom:70px" class="nav"> <ul style="padding-bottom:70px" class="nav">
{% if is_granted('ROLE_ADMIN') or is_granted('ROLE_VALIDATOR') or is_granted('ROLE_MASTER') or is_granted('ROLE_USER') %} {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_VALIDATOR') or is_granted('ROLE_MASTER') or is_granted('ROLE_USER') %}
@@ -271,7 +271,7 @@
{% for i in 1..48 %} {% for i in 1..48 %}
{% set selected="" %} {% set selected="" %}
{%if i==app.session.get('nbmonth') %} {%if i==app.session.get('nbmonth') %}
{% set selected="selected" %} {% set selected="selected" %}
{% endif %} {% endif %}
<option value="{{i}}" {{selected}}>{{i}}</option> <option value="{{i}}" {{selected}}>{{i}}</option>
{% endfor %} {% endfor %}
@@ -321,7 +321,7 @@
<div class="select-control"> <div class="select-control">
<select class="form-control select2entity" id="sideproject" name="sideproject"> <select class="form-control select2entity" id="sideproject" name="sideproject">
<option value="all" selected>Tous les projets</option> <option value="all" selected>Tous les projets</option>
{% for project in app.session.get('projects') %} {% for project in app.session.get('projects')|sort((a, b) => a.displayname <=> b.displayname) %}
{% set selected="" %} {% set selected="" %}
{%if project.id==app.session.get('idproject') %} {%if project.id==app.session.get('idproject') %}
{% set selected="selected" %} {% set selected="selected" %}
@@ -330,24 +330,24 @@
{% endfor %} {% endfor %}
</select> </select>
</div> </div>
</li> </li>
<li class="last"></li> <li class="last"></li>
<li class="title">Planning</li> <li class="title">Planning</li>
<li> <li>
<a href="{{path("app_synthese")}}"> <a href="{{path("app_synthese")}}">
<i class="fa fa-id-card"></i>Synthese <i class="fa fa-id-card"></i>Synthese
</a> </a>
</li> </li>
<li> <li>
<a href="{{path("app_planning")}}"> <a href="{{path("app_planning")}}">
<i class="fa fa-tachometer-alt"></i>Planning <i class="fa fa-tachometer-alt"></i>Planning
</a> </a>
</li> </li>
<li> <li>
<a href="{{path("app_report")}}"> <a href="{{path("app_report")}}">
<i class="fa fa-pen-square"></i>Rapport <i class="fa fa-pen-square"></i>Rapport
@@ -377,7 +377,7 @@
<i class="fas fa-chart-line"></i>Statistiques <i class="fas fa-chart-line"></i>Statistiques
</a> </a>
</li> </li>
<li class="last"> <li class="last">
<a href="{{path("app_export_view")}}"> <a href="{{path("app_export_view")}}">
<i class="fa fa-file-download"></i>Exports <i class="fa fa-file-download"></i>Exports
@@ -405,7 +405,7 @@
<a href="{{path("app_validationtimer")}}"> <a href="{{path("app_validationtimer")}}">
<i class="fa fa-user-clock"></i>Validation Horaires <i class="fa fa-user-clock"></i>Validation Horaires
</a> </a>
</li> </li>
{% endif %} {% endif %}
@@ -422,13 +422,13 @@
<a href="{{path("app_project")}}"> <a href="{{path("app_project")}}">
<i class="fa fa-suitcase"></i>Projets <i class="fa fa-suitcase"></i>Projets
</a> </a>
</li> </li>
<li> <li>
<a href="{{path("app_offer")}}"> <a href="{{path("app_offer")}}">
<i class="fa fa-euro-sign"></i>Commandes <i class="fa fa-euro-sign"></i>Commandes
</a> </a>
</li> </li>
<li class="last"> <li class="last">
<a href="{{path("app_task")}}"> <a href="{{path("app_task")}}">
@@ -476,13 +476,13 @@
{%endif%} {%endif%}
<div id="mycontent" class="content {{contentsidebar}}"> <div id="mycontent" class="content {{contentsidebar}}">
{% block body %} {% block body %}
{% endblock %} {% endblock %}
</div> </div>
</main> </main>
{{ encore_entry_script_tags('app') }} {{ encore_entry_script_tags('app') }}
@@ -505,7 +505,7 @@
$('#sidemonth').on('select2:select', function (e) { $('#sidemonth').on('select2:select', function (e) {
var data = e.params.data; var data = e.params.data;
console.log(data.id); console.log(data.id);
$.ajax({ $.ajax({
type: "POST", type: "POST",
data: { data: {
nbmonth: data.id, nbmonth: data.id,
@@ -515,11 +515,11 @@
location.reload(); location.reload();
} }
}); });
}); });
$('#sideuser').on('select2:select', function (e) { $('#sideuser').on('select2:select', function (e) {
var data = e.params.data; var data = e.params.data;
$.ajax({ $.ajax({
type: "POST", type: "POST",
data: { data: {
iduser: data.id, iduser: data.id,
@@ -529,11 +529,11 @@
location.reload(); location.reload();
} }
}); });
}); });
$('#sideproject').on('select2:select', function (e) { $('#sideproject').on('select2:select', function (e) {
var data = e.params.data; var data = e.params.data;
$.ajax({ $.ajax({
type: "POST", type: "POST",
data: { data: {
idproject: data.id, idproject: data.id,
@@ -543,11 +543,11 @@
location.reload(); location.reload();
} }
}); });
}); });
$('#sideservice').on('select2:select', function (e) { $('#sideservice').on('select2:select', function (e) {
var data = e.params.data; var data = e.params.data;
$.ajax({ $.ajax({
type: "POST", type: "POST",
data: { data: {
idservice: data.id, idservice: data.id,
@@ -557,7 +557,7 @@
location.reload(); location.reload();
} }
}); });
}); });
</script> </script>
<script> <script>