Skip to content

Instantly share code, notes, and snippets.

@essembeh
Created February 27, 2013 15:53
Show Gist options
  • Save essembeh/5048933 to your computer and use it in GitHub Desktop.
Save essembeh/5048933 to your computer and use it in GitHub Desktop.
User script pour GreaseMonkey pour simplifier les imputations dotproject chez Sierra ;)
// ==UserScript==
// @name SimpleDotProject
// @namespace http://simpledotproject.essembeh.org
// @include http://dotproject*/dotproject/*?m=timecard&tab=1&*
// @grant none
// ==/UserScript==
function fireEvent (element, eventName) {
var evt = document.createEvent("HTMLEvents");
evt.initEvent(eventName, false, true);
element.dispatchEvent(evt);
}
function setProjectValues(projectId, taskId) {
var project = document.getElementsByName('task_project')[0];
project.selectedIndex = projectId;
fireEvent(project, "change");
var task = document.getElementsByName('task_log_task')[0];
task.selectedIndex = taskId;
fireEvent(task, "change");
var hour = document.getElementsByName('task_log_hours')[0];
hour.value = 8;
fireEvent(hour, "change");
document.getElementsByName('task_log_description')[0].value = "*";
}
function addButtons(){
var tdObject = document.forms["AddEdit"].btnFuseAction.parentNode;
tdObject.innerHTML =
'<input id="gm-ferie" class="button" type="Button" value="Ferié" />' +
'<input id="gm-conge" class="button" type="Button" value="Congé" />' +
'<input id="gm-travail" class="button" type="Button" value="Travail" />' +
tdObject.innerHTML;
addButtonListeners();
}
function addButtonListeners(){
document.getElementById("gm-ferie").addEventListener('click', function() {setProjectValues(1, 2); submitIt();}, true);
document.getElementById("gm-conge").addEventListener('click', function() {setProjectValues(1, 1); submitIt();}, true);
document.getElementById("gm-travail").addEventListener('click', function() {setProjectValues(3, 1); submitIt();}, true);
}
window.addEventListener("load", function(e) {
addButtons();
}, false);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment