Majoration sur K-Psul

En appuyant sur F9, il est possible de définir une majoration destinée à
un compte en donnant le trigramme du compte destinataire et la valeur en
euro de la majoration par article
This commit is contained in:
Aurélien Delobelle 2016-08-22 05:41:31 +02:00
parent 8b66294b41
commit e27559d123
6 changed files with 141 additions and 3 deletions

View file

@ -534,8 +534,8 @@ $(document).ready(function() {
var articleSelect = $('#article_autocomplete');
var articleId = $('#article_id');
var articleNb = $('#article_number');
// 8:Backspace|9:Tab|13:Enter|46:DEL|112-117:F1-6|121:F10|122:F11|123:F12
var normalKeys = /^(8|9|13|46|112|113|114|115|116|117|121|122|123)$/;
// 8:Backspace|9:Tab|13:Enter|46:DEL|112-117:F1-6|120-123:F9-F12
var normalKeys = /^(8|9|13|46|112|113|114|115|116|117|120|121|122|123)$/;
var articlesList = [];
function deleteNonMatching(array, str) {
@ -1023,6 +1023,69 @@ $(document).ready(function() {
history_container.children().remove();
}
// -----
// Addcost
// -----
function sendAddcost(trigramme, amount, password='') {
var data = {
trigramme: trigramme,
amount: amount,
}
$.ajax({
dataType: "json",
url : "{% url 'kfet.kpsul.update_addcost' %}",
method : "POST",
data : data,
beforeSend: function ($xhr) {
$xhr.setRequestHeader("X-CSRFToken", csrftoken);
if (password != '')
$xhr.setRequestHeader("KFetPassword", password);
},
})
.done(function(data) {
location.reload();
})
.fail(function($xhr) {
var data = $xhr.responseJSON;
switch ($xhr.status) {
case 403:
requestAuth(data, function(password) {
sendAddcost(trigramme, amount, password);
});
break;
case 400:
displayErrors(getErrorsHtml(data));
break;
}
});
}
function askAddcost() {
$.confirm({
title: 'Majoration',
content: '<input type="text" placeholder="Trigramme" autocomplete="off" name="trigramme" spellcheck="false" style="text-transform:uppercase" autofocus><input type="number" step="0.01" min="0.01" placeholder="€" name="amount">',
backgroundDismiss: true,
animation:'top',
closeAnimation:'bottom',
keyboardEnabled: true,
confirm: function() {
var trigramme = this.$content.find('input[name=trigramme]').val().toUpperCase();
var amount = this.$content.find('input[name=amount]').val();
sendAddcost(trigramme, amount);
},
onOpen: function() {
var that = this
this.$content.find('input[name=amount]').on('keypress', function(e) {
if (e.keyCode == 13)
that.$confirmButton.click();
});
},
onClose: function() { this._lastFocused = articleSelect; }
});
}
// -----
// Cancel from history
// -----
@ -1156,6 +1219,10 @@ $(document).ready(function() {
articleSelect.focus();
}
return false;
case 120:
// F9 - Addcost
askAddcost();
return false;
case 121:
// F10 - Hard reset
hardReset();