Commit d915e640 authored by Sylvain Coulange's avatar Sylvain Coulange
Browse files

ajout traitement wâ et tiret + fenêtre pour ajouter nouvelle entrée dans editDico.html

parent 5e6e73bf
......@@ -24,6 +24,12 @@ class Entree:
message: str
update: str
class LogStat:
cptEdit: int
cptModif: int
cptAdd: int
cptDel: int
class DicEntry:
mot: str
trans: str
......
......@@ -78,7 +78,7 @@ def dicoView(request):
data = Entree()
data.update = updateTime()
data.lenDic = txtphono.getLenDic()
data.lenModifDic = txtphono.getLenModifDic()
data.logStat = txtphono.getLogStat()
return render(request, 'editDico.html', {'data': data})
def dicoReq(request):
......
......@@ -69,10 +69,12 @@ $(document).ready(function(){
// on n'affiche que 50 résultats par page pour pas surcharger le navigateur
showPart(lastEntrShowed,50,data.listeEntrees);
document.getElementById('btnShowMore').style.display = '';
document.getElementById('btnShowMore').addEventListener('click',event => {
showPart(lastEntrShowed,50,data.listeEntrees);
});
if (Object.keys(data.listeEntrees).length > 50) {
document.getElementById('btnShowMore').style.display = '';
document.getElementById('btnShowMore').addEventListener('click',event => {
showPart(lastEntrShowed,50,data.listeEntrees);
});
}
}
function showPart(start,nb,dico) {
......@@ -248,6 +250,44 @@ function annuler(cptEntr) {
entrActif = 0;
}
function ajouter() {
var newMot = document.getElementById('newWord').value;
var newTrans = document.getElementById('newTrans').value;
if (newMot.length > 0 && newTrans.length > 0) {
validAddEntry(newMot,newTrans);
} else {
window.alert("Vous devez saisir un mot et au moins une transcription !");
}
}
function validAddEntry(mot, trans) {
document.getElementById('actionBlock').style.display = '';
document.body.style.cursor = "wait";
$.ajax({
url: '/addEntry/',
data: {
mot: mot,
trans: trans
},
dataType: 'json',
success: function(data) {
document.body.style.cursor = "default";
document.getElementById('actionBlock').style.display = 'none';
console.log(data.reponse);
window.alert(data.reponse);
document.getElementById('newWord').value = '';
document.getElementById('newTrans').value = '';
},
error: function(){
// document.getElementById('loader').style.display = 'none';
document.body.style.cursor = "default";
document.getElementById('actionBlock').style.display = 'none';
window.alert("L'ajout n'a pas pu être effectué !");
}
});
}
//////////////////////////////////////
////////// PARAMÉTRAGE POPUP /////////
......
......@@ -16,7 +16,7 @@ import sys
import os
import datetime
import json
from colorapp.models import Entree, DicEntry
from colorapp.models import Entree, DicEntry, LogStat
import tempfile
import csv
from collections import OrderedDict
......@@ -91,12 +91,19 @@ for i,j in logDic.items():
for k in j:
cptEdit+=1
print("Nombre de modifications du dictionnaire :",cptEdit)
def getLenModifDic():
cptEdit = 0
def getLogStat():
logStat = LogStat()
logStat.cptEdit = 0
logStat.cptModif = 0
logStat.cptAdd = 0
logStat.cptDel = 0
for i,j in logDic.items():
for k in j:
cptEdit+=1
return cptEdit
logStat.cptEdit+=1
if k['Type'] == "MODIF" : logStat.cptModif += 1
if k['Type'] == "ADD" : logStat.cptAdd += 1
if k['Type'] =="DEL" : logStat.cptDel += 1
return logStat
logBug = {}
with open(logBugFile, 'r') as logf:
......@@ -202,12 +209,15 @@ def addEntry(user,mot,trans):
for ind,i in enumerate(transList):
transList[ind] = i.strip()
word2trans[mot] = transList
rewriteDico()
writeLog(Type="ADD", user=user, mot=mot, oldTransList="", newTransList=transList)
print("Modification du dictionnaire par",user,": ajout de mot =",mot,"; transList = ",transList)
return "Ajout effectué avec succès ! Merci pour votre participation !"
if mot not in word2trans.keys():
word2trans[mot] = transList
rewriteDico()
writeLog(Type="ADD", user=user, mot=mot, oldTransList="", newTransList=transList)
print("Modification du dictionnaire par",user,": ajout de mot =",mot,"; transList = ",transList)
return "Ajout effectué avec succès ! Merci pour votre participation !"
else:
return "Ce mot est déjà dans le dictionnaire !"
def delEntry(user,mot):
if mot in word2trans.keys():
......
......@@ -139,6 +139,13 @@ traitement des affriquées, glide+V et palatalisation
background-clip: text;
-webkit-text-fill-color: transparent;
}
.phon_wa_maj {
background:
-webkit-linear-gradient(var(--phon_w) 62%, var(--phon_a_maj) 60%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
.phon_we_maj_nas {
background:
-webkit-linear-gradient(var(--phon_w) 62%, var(--phon_e_maj_nas) 60%);
......
......@@ -355,3 +355,19 @@ footer {
margin-right: auto;
}
.divAddEntree {
width: 80%;
border: gray 1px solid;
border-radius: 10px;
margin-top: 60px;
margin-bottom: 20px;
margin-right: auto;
margin-left: auto;
padding-bottom: 10px;
}
.divAddEntree h3 { font-size: 1.2em;}
.divAddEntree p { font-size: .8em;}
.btnAddNew {
transform: translateY(-3px);
}
\ No newline at end of file
......@@ -50,7 +50,7 @@
</div>
<button id="rechercher" title="Rechercher dans le dictionnaire">Rechercher</button>
<div class="info">Le dictionnaire fait actuellement <span id="dicoNbEntr">{{ data.lenDic }}</span> entrées.<br/>{{ data.lenModifDic }} modifications enregistrées par les utilisateurs.<br/><a style="cursor:pointer" onclick="getLogOfAll()">Historique complet des modifications du dictionnaire</a></div>
<div class="info">Le dictionnaire fait actuellement <span id="dicoNbEntr">{{ data.lenDic }}</span> entrées.<br/>{{ data.logStat.cptEdit }} modifications enregistrées par les utilisateurs ({{ data.logStat.cptAdd }} ajouts ; {{ data.logStat.cptModif }} éditions ; {{ data.logStat.cptDel }} suppressions)<br/><a style="cursor:pointer" onclick="getLogOfAll()">Historique complet des modifications du dictionnaire</a></div>
<!-- <div class="info warning">La modification du dictionnaire n'est pas encore possible.</div> -->
<div class="result">
<h3>Résultats de la recherche <span id="nbres"></span></h3>
......@@ -71,6 +71,12 @@
<button id="btnShowMore" class="btn btn-success" style="margin: 10px;display: none;" title="afficher plus de résultats"><span class="glyphicon glyphicon-plus" area-hidden="true"></span></button>
<!-- <button id="btnAddEntry" class="btn btn-primary" style="margin: 10px;" title="Ajouter une entrée">Ajouter une entrée</button> -->
<div id="actionBlock" style="display: none;"><div class="loader mainLoad"></div></div>
<div class="divAddEntree">
<h3>Ajouter une nouvelle entrée dans le dictionnaire</h3>
<p><i>(Vous pouvez saisir plusieurs transcriptions différentes en les séparant par une virgule)</i></p>
Mot : <input type="text" id="newWord" class="searchField" value=""> Transcription (API): <input id="newTrans" class="searchField api-kb" type="text" value=""/>
<button title="Ajouter cette entrée dans le dictionnaire" class="btn btn-success btnAddNew" onclick="ajouter()">Ajouter</button>
</div>
</div>
</div>
<div>
......
Supports Markdown
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