diff --git a/index.html b/index.html index 996b3a6..bdb38e5 100644 --- a/index.html +++ b/index.html @@ -92,7 +92,7 @@ @@ -225,7 +225,7 @@
@@ -233,7 +233,7 @@
Transactions
-

TODO

+
@@ -281,9 +281,60 @@

Liste des utilisateurs

+ + +

Statistiques

+
diff --git a/js/init.js b/js/init.js index 952ad63..aefd451 100644 --- a/js/init.js +++ b/js/init.js @@ -12,10 +12,13 @@ var TRANSACTION_DUREE = 60 var PEUT_NFC = false // Préparation de l'interactivité +function desactiverForms() { + $('form').submit(function() { return false }); +} $(function(){ $('.button-collapse').sideNav(); $('.modal-trigger').leanModal() - $('form').submit(function() { return false }); + desactiverForms() $('[name=idCarte]').characterCounter(); }); @@ -39,6 +42,7 @@ var app = new Vue({ // Données clients: [], transactions: [], + utilisateurs: [], }, methods: { // API @@ -84,6 +88,20 @@ var app = new Vue({ } }) }, + actuUtilisateurs: function() { + var that = this + this.api("utilisateur/liste", {}, function(retour, donnees) { + switch(retour) { + case "ok": + that.utilisateurs = donnees.utilisateurs + break; + + default: + that.erreur(retour, donnees); + break; + } + }) + }, // Affichage toast: function(texte) { @@ -120,15 +138,57 @@ var app = new Vue({ })) that.toast(interieur); }, - decouvert: function(idCarte, decouvert, e) { + c_decouvert: function(client, e) { var that = this // Hack pour récupérer la vraie valeur (decouvert peut mais pas obligatoirement avoir la bonne valeur tel qu'implémenté dans le HTML actuellmenent) if (typeof(e) == 'object') { - decouvert = $(e.target).is(':checked') + client.decouvert = $(e.target).is(':checked') } - this.api("client/decouvert", {idCarte: idCarte, decouvert: decouvert}, function(retour, donnees) { + this.api("client/decouvert", {idCarte: client.idCarte, decouvert: client.decouvert}, function(retour, donnees) { + switch(retour) { + case "ok": + break; + + default: + that.erreur(retour, donnees); + break; + } + }); + }, + u_mdp: function(utilisateur) { + var that = this + this.api("utilisateur/mdp", {login: utilisateur.login, mdp: utilisateur.mdp}, function(retour, donnees) { switch(retour) { case "ok": + that.toast(utilisateur.login + " : mot de passe changé") + break; + + default: + that.erreur(retour, donnees); + break; + } + }); + }, + u_droit: function(utilisateur) { + var that = this + this.api("utilisateur/droit", {login: utilisateur.login, droit: utilisateur.droit}, function(retour, donnees) { + switch(retour) { + case "ok": + that.toast(utilisateur.login + " : droit changé") + break; + + default: + that.erreur(retour, donnees); + break; + } + }); + }, + u_carte: function(utilisateur) { + var that = this + this.api("utilisateur/carte", {login: utilisateur.login, idCarte: utilisateur.idCarte}, function(retour, donnees) { + switch(retour) { + case "ok": + that.toast(utilisateur.login + " : carte changée") break; default: @@ -231,6 +291,14 @@ var app = new Vue({ return minutes + ':' + (secondes < 10 ? '0' : '') + secondes } }, + components: { + 'todo': Vue.extend({template: '
Prochainement
'}), + }, + watch: { + utilisateurs: function() { + desactiverForms() + } + } }) Vue.filter('date', function(timestamp) { diff --git a/scss/style.scss b/scss/style.scss index 235b39f..3bf8c22 100644 --- a/scss/style.scss +++ b/scss/style.scss @@ -27,6 +27,7 @@ $tabs-bg-color: $primary-color !default; // Permet le footer de se mettre toujours en bas body { + overflow-y: scroll; // Toujours afficher la barre de défilment pour éviter les sautements display: flex; min-height: 100vh; flex-direction: column; @@ -107,6 +108,9 @@ form { .collapsible-body { padding: 20px; + p { + padding: inherit; + } } -- libgit2 0.21.2