note sur les issues et report pv propal

This commit is contained in:
2024-09-06 17:56:42 +02:00
parent 4c9b0a1db2
commit 442718316d
7 changed files with 417 additions and 193 deletions

View File

@ -0,0 +1,23 @@
{% extends "base.html.twig" %}
{% block body %}
{% set statut="" %}
{% set milestone="" %}
{% for issue in issues %}
{% if statut!=issue.statut %}
<p>&nbsp;</p>
<h2>{{issue.statut}}</h2>
{% set statut=issue.statut %}
{% set milestone="" %}
{% endif %}
{% if milestone!=issue.milestone %}
<p>&nbsp;</p>
<h3>{{issue.milestone}}</h3>
{% set milestone=issue.milestone %}
{% endif %}
<li>{{issue.id}} = {{ issue.title }}</li>
{% endfor %}
{% endblock %}

View File

@ -35,6 +35,11 @@
margin-right:5px;
}
.tooltip-inner {
text-align: left !important; /* Aligne le texte à gauche */
white-space: pre-line; /* Conserve les retours à la ligne */
}
.assignee {
width:30px;
margin: 5px 5px 0px 0px;
@ -57,7 +62,6 @@
{% set start = microtime(true) %}
<div class="d-flex">
<div id="filters" class="d-flex flex-column pl-2 pr-2 " style="width:350px; background-color:var(--colorbgbodydark);min-height:1500px;">
<div style="width:100%" class="mt-3">
<label class="control-label" style="color:var(--colorftbodydark)">Filtre JALONS</label>
@ -163,7 +167,7 @@
{% for column in tbissues %}
<div class="d-inline-block mt-3 align-top mb-5 p-2" data-column="{{column.gicol}}" style="width: 18rem;">
<h2 style="text-transform: uppercase; text-align:center; font-size:28px">{{ column.nmcol }}</h2>
<h2 style="text-transform: uppercase; text-align:center; font-size:26px">{{ column.nmcol }}</h2>
<div class="card-body p-1">
{% for jalon in column.jalons %}
{% for sprint in jalon.sprints %}
@ -199,6 +203,7 @@
{% set datatypes="" %}
{% set dataprioritys="datapriority"~giteaprioritys|last %}
{% set issuprioritycolor=prioritycolor %}
{% for label in issue.giteajson.labels %}
{% if label.id not in giteacolumns and label.id in giteateams %}
{% set datateams=datateams~"datateam"~label.id~" " %}
@ -228,7 +233,9 @@
{% set backcolor="background-color:"~issue.scrumissueblock.color~";" %}
{% endif %}
<div id="issu{{ issue.id }}" data-id="{{ issue.id }}" data-issue="{{ issue.id }}" data-column="{{column.gicol}}" data-milestone="{{jalon.gijal}}" data-sprint="{{sprint.idspr}}" class="card mb-1 issue issue-{{issue.id}} {{datateams}} {{datatypes}} {{dataprioritys}} {{datalabels}} {{dataassignees}} state-{{issue.giteastate}}" style="border-left: 10px solid {{issuprioritycolor}}">
{% set notes=(not issue.notes is empty?issue.notes|striptags|replace({'\n': '<br>', '\r': '<br>'})|raw:"") %}
<div id="issu{{ issue.id }}" data-id="{{ issue.id }}" data-issue="{{ issue.id }}" data-column="{{column.gicol}}" data-milestone="{{jalon.gijal}}" data-sprint="{{sprint.idspr}}" class="card mb-1 issue issue-{{issue.id}} {{datateams}} {{datatypes}} {{dataprioritys}} {{datalabels}} {{dataassignees}} state-{{issue.giteastate}}" style="border-left: 10px solid {{issuprioritycolor}}" {{ (not notes is empty?'title='~notes:'') }}>
<div class="card-footer p-1 d-flex" style="line-height:16px; border-top:none; {{ backcolor }}" >
<div class="flex-grow-1 d-flex align-items-center" style="max-width:224px";>
<div class="pr-2 issu-id" style="cursor:move">
@ -320,6 +327,13 @@
</span>
</div>
<div id="notesissu{{ issue.id }}" class="notesissu mb-2" data-issue="{{ issue.id }}" data-giteaid="{{issue.giteanumber}}" data-giteatitle="{{ issue.giteatitle }}">
<i class="btn fas fa-clipboard p-0 m-0 fa-fw pl-1 pl-1"></i>
<span style="cursor:pointer;">
Notes
</span>
</div>
<div>
<input type="text" id="colorissu{{ issue.id }}" data-issue="{{ issue.id }}" class="pick-a-color form-control form-control spectrum sp-colorize" value="{{issue.color}}" autocomplete="off">
</div>
@ -485,6 +499,29 @@
</div>
</div>
<div id="mymodalnotes" class="modal" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title"></h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<input type="hidden" id="modal-issueid" name="modal-issueid" required="required" class=" form-control" value="">
<div style="width:100%">
<textarea id="modal-notes" style="width:100%; height:300px;">
</textarea>
</div>
<button id="issu_notes" class="btn btn-success mt-3">Enregistrer</button>
</div>
</div>
</div>
</div>
{% set end = microtime(true) %}
{% set duration = end - start %}
<p>render time: {{ duration }} seconds</p>
@ -515,6 +552,14 @@
}
$(document).ready(function() {
$(".issue").tooltip({
content: function() {
return $(this).data('tooltip'); // Utilise le contenu de l'attribut data-tooltip
},
items: '[data-tooltip]', // Spécifie les éléments qui déclenchent le tooltip
html: true // Autorise le HTML dans le tooltip (si nécessaire pour certains tooltips personnalisés)
});
// Apply Filter
function showhide() {
// Vue condensée
@ -830,6 +875,44 @@
});
});
$(document).on('click','.notesissu',function(){
$(".modal-title").html("#"+$(this).data("giteaid")+" - "+$(this).data("giteatitle"));
$("#modal-issueid").val($(this).data("issue"));
$.ajax({
method: "POST",
url: "{{path("app_scrumissue_info")}}",
data: {
id:$("#modal-issueid").val(),
},
success: function(data) {
$('#modal-notes').val(data.notes);
$("#mymodalnotes").modal('show');
$(".submenu").hide();
$("#modal-notes").focus();
},
});
});
$("#issu_notes").click(function(){
$.ajax({
method: "POST",
url: "{{path("app_scrumissue_notes")}}",
data: {
id:$("#modal-issueid").val(),
notes: $("#modal-notes").val(),
},
success: function(data) {
location.reload();
},
error: function (request, status, error) {
alert("pb sur enregistrement du ticket");
}
});
});
// Filter Milestones
function filtermilestones() {
$.ajax({