NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Feature & US
// @description Alerte le user s'il n'a pas d'US en cours ou si la methode sur laquelle il travaille n'a pas d'US/feature rattachée
// @version 1.1
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
// @author Aloïs
// @include /^https://.*-des\.f.v..d\.com//
// @icon https://www.google.com/s2/favicons?domain=faveod.com
// @license MIT
// @updateURL https://openuserjs.org/meta/Alobeast/Feature_US.meta.js
// @downloadURL https://openuserjs.org/install/Alobeast/Feature_US.user.js
// ==/UserScript==
// ==OpenUserJS==
// ==/OpenUserJS==
// jshint esversion: 6
// jshint jquery: true
// globals $, jQuery
window.onready = (function() {
const usSelected = !!document.querySelector(`#working_on`);
const hasPreviousVersions = !!document.querySelector('div.previous_versions');
let currentlyChosenUs = '';
if (!!document.querySelector(`#working_on`)) {
currentlyChosenUs = document.querySelector(`#working_on`).firstElementChild.innerText.substring(1, 7);
}
let specReferenceElement = $( "label:contains('Référence de spécifications : ')" )
if (specReferenceElement.length < 1) {
specReferenceElement = $( "label:contains('Specification Reference: ')" )
}
const specReference = specReferenceElement[0].firstElementChild.value;
currentlyChosenUs = currentlyChosenUs.replace(')','');
const $warningLogo = jQuery('<span></span>')
.attr('id', 'user-story-warning-logo')
.css('background-image', 'url(https://i.imgur.com/JW2wKDs.png)')
.css('height', '20px')
.css('width', '20px')
.css('display', 'inline-block')
.css('background-position', 'center')
.css('background-size', 'contain')
.css('margin-bottom', '-4px')
.css('margin-right', '4px')
// Si le user n'a pas d'US en cours on affiche l'alerte `ATTENTION vous n'avez pas sélectionné d'US`
if (usSelected === false) {
const $userStoryWarning = jQuery('<span></span>')
.attr('id', 'user-story-warning')
.text(`ATTENTION vous n'avez pas sélectionné d'US`)
.css('color', '#D04158')
.css('font-weight', 'bold')
.css('font-size', '1.1em')
jQuery('#content').prepend($userStoryWarning);
$userStoryWarning.prepend($warningLogo);
let counter = 1;
const isOdd = (x) => { return x & 1 }
setInterval(function() {
if(isOdd(counter) == 1) {
$warningLogo.css('background-image', 'url(https://i.imgur.com/JW2wKDs.png)')
counter += 1;
} else {
$warningLogo.css('background-image', 'url(https://i.imgur.com/iqfdJGd.png)')
counter += 1;
}
}, 1000);
// Si le user a une US en cours, et que celle ci correspond a l'US renseignée dans l'input Référence de spécifications de la logique en cours on affiche l'alerte `ATTENTION il est possible que cette logique ne soit encore rattachée à aucune feature`
// on verifie également qu'il ne s'agisse pas d'une logique nouvellement créée et qu'il n'y a qu'une seule US référencée dans "Référence de spécification" soit 6 caracteres max pour respecter le format "USxxx" ou "USxxxx"
} else if ((hasPreviousVersions == true) && (specReference === currentlyChosenUs) && (specReference.length <= 6)) {
const $logicNotLinkedWarning = jQuery('<span></span>')
.attr('id', 'logic_not_linked')
.text(`ATTENTION il est possible que cette logique ne soit encore rattachée à aucune feature`)
.css('color', '#D04158')
.css('font-weight', 'bold')
.css('font-size', '1.1em')
jQuery('#content').prepend($logicNotLinkedWarning);
$logicNotLinkedWarning.prepend($warningLogo);
let counter = 1;
const isOdd = (x) => { return x & 1 }
setInterval(function() {
if(isOdd(counter) == 1) {
$warningLogo.css('background-image', 'url(https://i.imgur.com/JW2wKDs.png)')
counter += 1;
} else {
$warningLogo.css('background-image', 'url(https://i.imgur.com/iqfdJGd.png)')
counter += 1;
}
}, 1000);
}
})();