Commit 878653e8 authored by Eric Seigne's avatar Eric Seigne
Browse files

version 1.8.6

parent a8b64129
1.8.5
# 1.8.6
- ajoute une vérification des données saisies (TVA) pour éviter d'envoyer
des montants "impossibles"
# 1.8.5
- ajoute un bouton pour supprimer un compte de la liste des comptes préférés
- affiche le choix du compte par défaut au lancement si on a plusieurs comptes
actifs
......
<?xml version='1.0' encoding='utf-8'?>
<widget id="fr.caprel.doliscan" version="1.8.5" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<widget id="fr.caprel.doliscan" version="1.8.6" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>doliscan</name>
<description>DoliSCAN is a tiny app for french people looking for a free and self hosting "notes de frais/expenses report" solution.</description>
<author email="eric.seigne@cap-rel.fr" href="https://cap-rel.fr">Eric Seigne</author>
......@@ -152,5 +152,5 @@
</feature>
</platform>
<plugin name="cordova-plugin-calendar" />
<preference name="OverrideUserAgent" value="Mozilla/5.0 OpenNDF/1.8.5 Android" />
<preference name="OverrideUserAgent" value="Mozilla/5.0 OpenNDF/1.8.6 Android" />
</widget>
......@@ -116,6 +116,30 @@
<script type="text/javascript">
function checkForm(leform) {
//Ajouter une verification d'ensemble sur les données de la tva pour ne pas avoir des valeurs totalement absurdes
//erreur de saisie, ou saisie du montant HT au lieu du montant de la TVA etc.
let min = 0;
let max = computeHTAmount(4, null);
if ($('#tvaVal4').val() < min || $('#tvaVal4').val() > max) {
ons.notification.alert("Le montant de la TVA (" + $('#tvaVal4').val() + "€) n'est pas cohérent.", { title: "Erreur" });
return;
}
max = computeHTAmount(3, null);
if ($('#tvaVal3').val() < min || $('#tvaVal3').val() > max) {
ons.notification.alert("Le montant de la TVA (" + $('#tvaVal3').val() + "€) n'est pas cohérent.", { title: "Erreur" });
return;
}
max = computeHTAmount(2, null);
if ($('#tvaVal2').val() < min || $('#tvaVal2').val() > max) {
ons.notification.alert("Le montant de la TVA (" + $('#tvaVal2').val() + "€) n'est pas cohérent.", { title: "Erreur" });
return;
}
max = computeHTAmount(1, null);
if ($('#tvaVal1').val() < min || $('#tvaVal1').val() > max) {
ons.notification.alert("Le montant de la TVA (" + $('#tvaVal1').val() + "€) n'est pas cohérent.", { title: "Erreur" });
return;
}
if (genericCheckForm(leform)) {
let objForm = document.getElementById(leform);
addLocalStorageEntry('objetsDivers', objForm.elements['label'].value);
......
......@@ -100,6 +100,17 @@
<script type="text/javascript">
function checkForm(leform) {
//Ajouter une verification d'ensemble sur les données de la tva pour ne pas avoir des valeurs totalement absurdes
//erreur de saisie, ou saisie du montant HT au lieu du montant de la TVA etc.
let min = 0;
let max = $('#ttc').val();
if ($('#tvaVal4').val() < min || $('#tvaVal4').val() > max) {
ons.notification.alert("Le montant de la TVA (" + $('#tvaVal4').val() + "€) n'est pas cohérent.", { title: "Erreur" });
return;
}
let objForm = document.getElementById(leform);
//On bidouille la valeur du champ "label" pour ajouter l'objet de la dépense
let labelValue = objForm.elements['label'].value;
......
......@@ -108,6 +108,26 @@
<script type="text/javascript">
function checkForm(leform) {
//Ajouter une verification d'ensemble sur les données de la tva pour ne pas avoir des valeurs totalement absurdes
//erreur de saisie, ou saisie du montant HT au lieu du montant de la TVA etc.
let min = 0;
let max = computeHTAmount(4, null);
if ($('#tvaVal4').val() < min || $('#tvaVal4').val() > max) {
ons.notification.alert("Le montant de la TVA (" + $('#tvaVal4').val() + "€) n'est pas cohérent.", { title: "Erreur" });
return;
}
max = computeHTAmount(3, null);
if ($('#tvaVal3').val() < min || $('#tvaVal3').val() > max) {
ons.notification.alert("Le montant de la TVA (" + $('#tvaVal3').val() + "€) n'est pas cohérent.", { title: "Erreur" });
return;
}
max = computeHTAmount(2, null);
if ($('#tvaVal2').val() < min || $('#tvaVal2').val() > max) {
ons.notification.alert("Le montant de la TVA (" + $('#tvaVal2').val() + "€) n'est pas cohérent.", { title: "Erreur" });
return;
}
if (genericCheckForm(leform)) {
let objForm = document.getElementById(leform);
addLocalStorageEntry('objetsResto', objForm.elements['label'].value);
......@@ -116,4 +136,4 @@
}
</script>
</ons-page>
</ons-page>
\ No newline at end of file
......@@ -2,7 +2,7 @@
* (c) Éric Seigne <eric.seigne@cap-rel.fr> - 2019-2020 - GNU AGPLv3
* full source code in src/ subfolder, this file is minifyed
*/
var globalAppVersion="1.8.5";var globalDevMode=false;var globalMyCamera;var globalpictureSource;var globaldestinationType;var globalNetworkResponse=Date.now();var globalCurrentPage="";var globalCurrentTitle="";var globalTenMinuts=60*10*1000;var globalCompatibleWithAPIVersion=4;var globalDoliScanDomain="";var globalLastInsertId="";var globalSyncInProgress=false;var globalPictureFileName="";var globalPicturesAvailable=[];var globalSyncObject=[];var dataLDF="";var dataIK="";var globalMyNavigator=undefined;var globalResumable=undefined;var globalProgressBar=undefined;var globalTypeFrais="";var globalVehiculeEd=undefined;var loginAPIKeyErrorInProgress=false;var globalSrvKeys=['email','api_token','firstname','name','adresse','cp','ville','pays','send_copy_to','compta_email','compta_ik','compta_peage','compta_hotel','compta_train','compta_carburant','compta_taxi','compta_restauration','compta_divers','compta_compteperso','compta_tvadeductible','official_app_version','official_app_message','mode_simple','compta_tva_tx1','compta_tva_tx2','compta_tva_tx3','compta_tva_tx4'];function errorHandlerCustomFile(title,message){myDebug('errorHandlerCustomFile : '+title+' -- message follow:');myDebug(message);}
var globalAppVersion="1.8.6";var globalDevMode=false;var globalMyCamera;var globalpictureSource;var globaldestinationType;var globalNetworkResponse=Date.now();var globalCurrentPage="";var globalCurrentTitle="";var globalTenMinuts=60*10*1000;var globalCompatibleWithAPIVersion=4;var globalDoliScanDomain="";var globalLastInsertId="";var globalSyncInProgress=false;var globalPictureFileName="";var globalPicturesAvailable=[];var globalSyncObject=[];var dataLDF="";var dataIK="";var globalMyNavigator=undefined;var globalResumable=undefined;var globalProgressBar=undefined;var globalTypeFrais="";var globalVehiculeEd=undefined;var loginAPIKeyErrorInProgress=false;var globalSrvKeys=['email','api_token','firstname','name','adresse','cp','ville','pays','send_copy_to','compta_email','compta_ik','compta_peage','compta_hotel','compta_train','compta_carburant','compta_taxi','compta_restauration','compta_divers','compta_compteperso','compta_tvadeductible','official_app_version','official_app_message','mode_simple','compta_tva_tx1','compta_tva_tx2','compta_tva_tx3','compta_tva_tx4'];function errorHandlerCustomFile(title,message){myDebug('errorHandlerCustomFile : '+title+' -- message follow:');myDebug(message);}
function loadCustomCSS(){if((typeof cordova=='undefined')||(cordova===null)||(cordova=="")){return;}
if((typeof cordova.file=='undefined')||(cordova.file===null)||(cordova.file=="")){return;}
if((typeof cordova.file.cacheDirectory=='undefined')||(cordova.file.cacheDirectory===null)||(cordova.file.cacheDirectory=="")){return;}
......@@ -388,7 +388,8 @@ function nbFR(nb){res=new Intl.NumberFormat('fr-FR',{style:'currency',currency:'
function basename(path){return path.replace(/\\/g,'/').replace(/.*\//,'');}
function dirname(path){return path.replace(/\\/g,'/').replace(/\/[^\/]*$/,'');;}
function computeHT(taux,destination){let ttc=$('#ttc').val();let ttcVal=parseFloat(ttc.replace(",","."));let keyTaux="compta_tva_tx"+taux;let valTaux=localGetData(keyTaux);let ht=(ttcVal/((valTaux/100)+1)).toFixed(2);$(destination).val(ht);}
function computeHTAmount(taux,destination){let ttc=$('#ttc').val();let ttcVal=parseFloat(ttc.replace(",","."));let keyTaux="compta_tva_tx"+taux;let valTaux=localGetData(keyTaux);let ht=(ttcVal/((valTaux/100)+1));let diff=ttcVal-ht;let arrondis=Math.round(diff*100)/100;$(destination).val(arrondis);}
function computeHTAmount(taux,destination){let ttc=$('#ttc').val();let ttcVal=parseFloat(ttc.replace(",","."));let keyTaux="compta_tva_tx"+taux;let valTaux=localGetData(keyTaux);let ht=(ttcVal/((valTaux/100)+1));let diff=ttcVal-ht;let arrondis=Math.round(diff*100)/100;if(destination!=null){$(destination).val(arrondis);}
return arrondis;}
function compareVersions(a,b,taille=3){myDebug("compare version "+a+" et "+b+";")
if(a==""||a===undefined||a==null||b===undefined||b==null||b==""){myDebug(" retour -2");return-2;}
var pa=a.split('.');var pb=b.split('.');for(var i=0;i<taille;i++){var na=Number(pa[i]);var nb=Number(pb[i]);if(na>nb){myDebug(" retour 1");return 1;}
......
......@@ -3,7 +3,7 @@
*/
// **********************************************************************
//Ne pas toucher, mis à jour automatiquement à partir du config.xml
var globalAppVersion = "1.8.5"; // mis à jour automatiquement à partir du fichier config.xml lors du build android
var globalAppVersion = "1.8.6"; // mis à jour automatiquement à partir du fichier config.xml lors du build android
// **********************************************************************
......
......@@ -107,10 +107,10 @@ function computeHT(taux, destination) {
* destination. Exemple montant TTC saisi de 12€ si on clique sur le bouton
* tva 20% ça ira écrire 2€ dans la case de destination
*
* @param {float} taux indice 1/2/3/4 pour trouver la valeur du taux
* @param {float} taux indice 1/2/3/4 pour trouver la valeur du taux
* @param {object} destination objet de destination
*
* @return {[type]} [return description]
* @return {float} resultat resultat du calcul
*/
function computeHTAmount(taux, destination) {
let ttc = $('#ttc').val();
......@@ -124,7 +124,10 @@ function computeHTAmount(taux, destination) {
let ht = (ttcVal / ((valTaux / 100) + 1));
let diff = ttcVal - ht;
let arrondis = Math.round(diff * 100) / 100;
$(destination).val(arrondis);
if (destination != null) {
$(destination).val(arrondis);
}
return arrondis;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment