Maj V1.0.6

This commit is contained in:
pablo rodriguez 2023-07-22 21:19:40 +02:00
parent 46e758ede3
commit e9ea186de8
17 changed files with 302 additions and 131 deletions

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

78
resources/portevoie.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -73,7 +73,7 @@ public class importInscriptionXLS {
for (Cell cell : sheet.getRow(0)) {
if(cell.getCellType()==CellType.STRING) {
String nameColumns = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(cell.getStringCellValue());
String nameColumns = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(cell.getStringCellValue());
if(nameColumns.equals(commandes.nomColonneNomEtudiant)) nomPresent=true;
if(nameColumns.equals(commandes.nomColonnePrenomEtudiant)) prenomPresent=true;
if(nameColumns.equals(commandes.nomColonneCodeEtudiant)) codePresent=true;
@ -119,14 +119,14 @@ public class importInscriptionXLS {
// Création ou insertion des informations récupéré dans le HashMap Student;
if(Student.get(commandes.nomColonneExcel_Formation)!=null) {
String nameFormation = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(Student.get(commandes.nomColonneExcel_Formation));
String nameFormation = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(Student.get(commandes.nomColonneExcel_Formation));
noeud nFormation = null;
// récupère le noeud formation ou bien création du noeud formation
if(nYear.getChild(nameFormation)!=null) {
nFormation = nYear.getChild(nameFormation);
}else {
nFormation = new noeud(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nameFormation));
nFormation = new noeud(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nameFormation));
nFormation.setAttribut("Colonne_Groupe_Documentation", "true");
nFormation.setAttribut("Colonne_Groupe_Informatique", "true");
nFormation.setAttribut("Colonne_Groupe_LV1", "true");
@ -175,7 +175,7 @@ public class importInscriptionXLS {
|| entry.getKey().equals(commandes.nomColonneExcel_MailPersoEtudiant)
|| entry.getKey().equals(commandes.nomColonneExcel_MailUnivEtudiant)
|| entry.getKey().equals(commandes.nomColonneExcel_PortableEtudiant)) {
nStudent.setAttribut(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(entry.getKey()), entry.getValue());
nStudent.setAttribut(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(entry.getKey()), entry.getValue());
}
}

View File

@ -35,7 +35,7 @@ public class lectureCSV {
entete = false;
int compteur = 0 ;
for (String value : data) {
value = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(value);
value = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(value);
Head.setAttribut("C"+String.valueOf(compteur), value);
compteur++;
}

View File

@ -22,7 +22,7 @@ public class majBaseWithCSV {
if(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.")!=null) {
if(!nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.").isEmpty()) {
if(!isExisteFormationIntoBase(nBase, nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib."))) {
noeud nFormation = new noeud( supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.")));
noeud nFormation = new noeud( supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.")));
nFormation.setAttribut("Colonne_Groupe_Documentation", "true");
nFormation.setAttribut("Colonne_Groupe_Informatique", "true");
nFormation.setAttribut("Colonne_Groupe_LV1", "true");
@ -57,7 +57,7 @@ public class majBaseWithCSV {
private static boolean isExisteFormationIntoBase(noeud nBase , String attribut) {
if(defaut_Year!=null) {
if(nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(attribut))!=null) {
if(nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(attribut))!=null) {
return true;
}
}
@ -77,7 +77,7 @@ public class majBaseWithCSV {
if(isValidEightDigits(nStudent.getAttributes("Individu_-_Code_Etudiant")) && !isOnlySpace ) {
if(isExisteFormationIntoBase(nBase, nStudent.getAttributes("IAE_-_Etape_lib."))) {
noeud nBF = nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nStudent.getAttributes("IAE_-_Etape_lib.")));
noeud nBF = nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nStudent.getAttributes("IAE_-_Etape_lib.")));
if(nBF.getChild("n"+nStudent.getAttributes("Individu_-_Code_Etudiant").trim())==null) {

View File

@ -23,10 +23,10 @@ import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import Inscriptions.importInscriptionCSV;
import Inscriptions.importInscriptionXLS;
import base.CreateUpdateZipArchive;
import base.Hash;
@ -113,13 +113,19 @@ public class Window_demarre extends JFrame {
}
};
// Planification de la tâche de sauvegarde automatique à exécuter toutes les 5 minutes 10 * 60 * 1000
timer.schedule(autoSaveTask, 0, 300000);
// Planification de la tâche de sauvegarde automatique à exécuter toutes les 1 minutes 10 * 60 * 1000
timer.schedule(autoSaveTask, 0, 60000);
if(commandes.newVersion && !commandes.messageVersion.isEmpty()) {
String message = "<html>" + commandes.messageVersion + "</html>";
JOptionPane.showMessageDialog(null, message,"Information version",JOptionPane.INFORMATION_MESSAGE);
}
if(!commandes.messageAlerte.isEmpty()) {
String message = "<html>" + commandes.messageAlerte + "</html>";
JOptionPane.showMessageDialog(null, message);
JOptionPane.showMessageDialog(null, message,"Information",JOptionPane.INFORMATION_MESSAGE);
}
} catch (Exception e) {
@ -142,11 +148,11 @@ public class Window_demarre extends JFrame {
frmEvalwriter.setTitle("Gestion des inscriptions et des groupes - langues - informatique - stage - rentrée");
//frmEvalwriter.setBounds(100, 100, 765, 641);
frmEvalwriter.setBounds(100, 100, 765, 641);
//frmEvalwriter.setBounds(100, 100, 765, 640);
frmEvalwriter.setBounds(100, 100, 765, 640);
//Affiche le bouton "Nouvelle version dispoinible".
if(commandes.newVersion) frmEvalwriter.setBounds(100, 100, 765, 745);
if(commandes.newVersion) frmEvalwriter.setBounds(100, 100, 765, 712);
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
@ -159,20 +165,6 @@ public class Window_demarre extends JFrame {
frmEvalwriter.setResizable(false);
btnExporterTouteLaBase = new JButton("<html>Exporter toute la base dans<br>un classeur MS Excel</html>");
btnExporterTouteLaBase.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/exportbasetoexcel.png")));
btnExporterTouteLaBase.setFont(new Font("Arial", Font.BOLD, 16));
btnExporterTouteLaBase.setBounds(10, 530, 360, 60);
frmEvalwriter.getContentPane().add(btnExporterTouteLaBase);
actImporterInscriptionDepuisCSV = new JButton("<html>Importer des inscriptions<br>depuis CSV (UTF-8, point-virgule)</html>");
actImporterInscriptionDepuisCSV.setHorizontalAlignment(SwingConstants.LEFT);
actImporterInscriptionDepuisCSV.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/importationcsv.png")));
actImporterInscriptionDepuisCSV.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 16));
actImporterInscriptionDepuisCSV.setBounds(409, 721, 377, 60);
actImporterInscriptionDepuisCSV.setForeground(Color.DARK_GRAY);
frmEvalwriter.getContentPane().add(actImporterInscriptionDepuisCSV);
JLabel lblTitre = new JLabel();
lblTitre.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/accueil.png")));
@ -181,26 +173,6 @@ public class Window_demarre extends JFrame {
lblTitre.setFont(new Font("Pacifico", Font.PLAIN, 26));
lblTitre.setBounds(10, 35, 700, 202);
frmEvalwriter.getContentPane().add(lblTitre);
btnMiseAJourDepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/majInscriptionToBase.png")));
btnMiseAJourDepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16));
btnMiseAJourDepuisClasseur.setBounds(10, 460, 360, 60);
frmEvalwriter.getContentPane().add(btnMiseAJourDepuisClasseur);
btnGestionnaire.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/gestionnaire_bouton.png")));
btnGestionnaire.setFont(new Font("Arial", Font.BOLD, 16));
btnGestionnaire.setBounds(380, 460, 360, 131);
frmEvalwriter.getContentPane().add(btnGestionnaire);
btnimporterDesInscriptionsdepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/bouton_inscription_excel.png")));
btnimporterDesInscriptionsdepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16));
btnimporterDesInscriptionsdepuisClasseur.setBounds(10, 320, 360, 60);
frmEvalwriter.getContentPane().add(btnimporterDesInscriptionsdepuisClasseur);
btnNAideMiseAJour.setForeground(Color.GRAY);
btnNAideMiseAJour.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12));
btnNAideMiseAJour.setBounds(380, 419, 360, 30);
frmEvalwriter.getContentPane().add(btnNAideMiseAJour);
lblAuteurVersion.setVerticalAlignment(SwingConstants.TOP);
lblAuteurVersion.setHorizontalAlignment(SwingConstants.LEFT);
@ -209,34 +181,114 @@ public class Window_demarre extends JFrame {
lblAuteurVersion.setBounds(22, 11, 307, 55);
frmEvalwriter.getContentPane().add(lblAuteurVersion);
lblFondImage.setVerticalAlignment(SwingConstants.BOTTOM);
lblFondImage.setBounds(10, 0, 730, 317);
frmEvalwriter.getContentPane().add(lblFondImage);
affichageImageDeFond();
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
tabbedPane.setBounds(10, 320, 729, 271);
tabbedPane.setFont(new Font("Arial", Font.BOLD, 14));
JPanel tabGestionnaire = new JPanel();
tabbedPane.addTab("<html>Gestion de<br>la base de données</html>", tabGestionnaire);
JPanel tabInscriptions = new JPanel();
tabbedPane.addTab("<html>Inscriptions<br>des étudiants</html>", tabInscriptions);
JPanel tabExporteImporte = new JPanel();
tabbedPane.addTab("<html>Exporter et importer des données<br>depuis un classeur Ms Excel</html>", tabExporteImporte);
tabbedPane.setEnabledAt(2, true);
JPanel tabAides = new JPanel();
tabbedPane.addTab("Aides", tabAides);
frmEvalwriter.getContentPane().add(tabbedPane);
tabExporteImporte.setLayout(null);
btnExporterTouteLaBase = new JButton("<html>Exporter toute la base dans<br>un classeur MS Excel</html>");
btnExporterTouteLaBase.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/exportbasetoexcel.png")));
btnExporterTouteLaBase.setFont(new Font("Arial", Font.BOLD, 16));
btnExporterTouteLaBase.setBounds(370, 10, 340, 80);
tabExporteImporte.add(btnExporterTouteLaBase);
// frmEvalwriter.getContentPane().add(btnExporterTouteLaBase);
// actImporterInscriptionDepuisCSV = new JButton("<html>Importer des inscriptions<br>depuis CSV (UTF-8, point-virgule)</html>");
// actImporterInscriptionDepuisCSV.setHorizontalAlignment(SwingConstants.LEFT);
// actImporterInscriptionDepuisCSV.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/importationcsv.png")));
// actImporterInscriptionDepuisCSV.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 16));
// actImporterInscriptionDepuisCSV.setBounds(409, 721, 377, 60);
// actImporterInscriptionDepuisCSV.setForeground(Color.DARK_GRAY);
// frmEvalwriter.getContentPane().add(actImporterInscriptionDepuisCSV);
btnMiseAJourDepuisClasseur = new JButton("<html>Mise à jour de la base depuis<br>un classeur Ms Excel</html>");
btnMiseAJourDepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/majInscriptionToBase.png")));
btnMiseAJourDepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16));
btnMiseAJourDepuisClasseur.setBounds(10, 10, 340, 200);
tabExporteImporte.add(btnMiseAJourDepuisClasseur);
tabGestionnaire.setLayout(null);
// frmEvalwriter.getContentPane().add(btnMiseAJourDepuisClasseur);
btnGestionnaire = new JButton("");
btnGestionnaire.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/gestionnaire_bouton.png")));
btnGestionnaire.setFont(new Font("Arial", Font.BOLD, 16));
btnGestionnaire.setBounds(10, 10, 340, 200);
tabGestionnaire.add(btnGestionnaire);
tabInscriptions.setLayout(null);
// frmEvalwriter.getContentPane().add(btnGestionnaire);
btnimporterDesInscriptionsdepuisClasseur = new JButton("<html>Importer des inscriptions<br>depuis un classeur Ms Excel</html>");
btnimporterDesInscriptionsdepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/bouton_inscription_excel.png")));
btnimporterDesInscriptionsdepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16));
btnimporterDesInscriptionsdepuisClasseur.setBounds(10, 10, 340, 200);
tabInscriptions.add(btnimporterDesInscriptionsdepuisClasseur);
tabAides.setLayout(null);
// frmEvalwriter.getContentPane().add(btnimporterDesInscriptionsdepuisClasseur);
btnNAideMiseAJour = new JButton("Aide à la mise en jour");
btnNAideMiseAJour.setForeground(Color.GRAY);
btnNAideMiseAJour.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12));
btnNAideMiseAJour.setBounds(288, 21, 426, 30);
tabAides.add(btnNAideMiseAJour);
// frmEvalwriter.getContentPane().add(btnNAideMiseAJour);
btnNewVersion.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/newVersion.png")));
btnNewVersion.setFont(new Font("Tahoma", Font.BOLD, 16));
btnNewVersion.setBounds(10, 602, 729, 63);
frmEvalwriter.getContentPane().add(btnNewVersion);
btnNewVersion.setBounds(20, 602, 705, 63);
btnNewVersion.setVisible(commandes.newVersion);
frmEvalwriter.getContentPane().add(btnNewVersion);
btnHelpDownload = new JButton("Aide au téléchargement et à l'installation");
btnHelpDownload.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12));
btnHelpDownload.setForeground(Color.GRAY);
btnHelpDownload.setBounds(10, 665, 729, 30);
frmEvalwriter.getContentPane().add(btnHelpDownload);
btnHelpDownload.setBounds(288, 84, 426, 30);
// tabAideParamètres.add(btnHelpDownload);
tabAides.add(btnHelpDownload);
btnAideImportationInscriptionXLSX.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12));
btnAideImportationInscriptionXLSX.setBounds(380, 385, 360, 30);
frmEvalwriter.getContentPane().add(btnAideImportationInscriptionXLSX);
btnAideImportationInscriptionXLSX.setBounds(288, 52, 426, 30);
btnAideImportationInscriptionXLSX.setForeground(Color.GRAY);
tabAides.add(btnAideImportationInscriptionXLSX);
JButton btnAideImportationInscriptionCSV = new JButton("Aide à l'importation des inscriptions depuis fichier CSV");
btnAideImportationInscriptionCSV.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12));
btnAideImportationInscriptionCSV.setBounds(409, 762, 377, 30);
frmEvalwriter.getContentPane().add(btnAideImportationInscriptionCSV);
btnAideImportationInscriptionCSV.setForeground(Color.GRAY);
// JButton btnAideImportationInscriptionCSV = new JButton("Aide à l'importation des inscriptions depuis fichier CSV");
// btnAideImportationInscriptionCSV.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12));
// btnAideImportationInscriptionCSV.setBounds(409, 762, 377, 30);
// frmEvalwriter.getContentPane().add(btnAideImportationInscriptionCSV);
// btnAideImportationInscriptionCSV.setForeground(Color.GRAY);
JButton btnParametresClasseurInscription = new JButton("<html>Paramètres classeur<br>des inscriptions</html>");
btnParametresClasseurInscription.addActionListener(new ActionListener() {
@ -244,25 +296,24 @@ public class Window_demarre extends JFrame {
Window_parametreImportationInscription.Affiche();
}
});
btnParametresClasseurInscription.setFont(new Font("Arial", Font.BOLD, 16));
btnParametresClasseurInscription.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/parametreImportationIncriptions.png")));
btnParametresClasseurInscription.setBounds(10, 390, 360, 60);
frmEvalwriter.getContentPane().add(btnParametresClasseurInscription);
btnParametresClasseurInscription.setBounds(370, 10, 340, 80);
tabInscriptions.add(btnParametresClasseurInscription);
// frmEvalwriter.getContentPane().add(btnParametresClasseurInscription);
JButton btnRenommerActiverColonne = new JButton("<html>Renommer et activer<br>des colonnes</html>");
btnRenommerActiverColonne.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/newColumnsApplication.png")));
btnRenommerActiverColonne.setFont(new Font("Arial", Font.BOLD, 16));
btnRenommerActiverColonne.setBounds(380, 320, 360, 60);
btnRenommerActiverColonne.setBounds(370, 10, 340, 80);
btnRenommerActiverColonne.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Window_renommerColonne.Affiche();
}
});
frmEvalwriter.getContentPane().add(btnRenommerActiverColonne);
btnHelpDownload.setVisible(commandes.newVersion);
tabGestionnaire.add(btnRenommerActiverColonne);
ListenerAction();
@ -340,11 +391,11 @@ public class Window_demarre extends JFrame {
});
// Bouton importer des inscriptions depuis un fichier CSV.
actImporterInscriptionDepuisCSV.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
importInscriptionCSV.importe();
}
});
// actImporterInscriptionDepuisCSV.addActionListener(new ActionListener() {
// public void actionPerformed(ActionEvent e) {
// importInscriptionCSV.importe();
// }
// });
// Bouton Aide à l'importation des inscription depuis un classeur Ms Excel
btnAideImportationInscriptionXLSX.addActionListener(new ActionListener() {

View File

@ -66,6 +66,7 @@ import base.sauvegardeXMLBase.saveType;
import outils.FileChooserXML;
import outils.commandes;
import outils.noeud;
import outils.supprimeCaracatresSpeciaux;
public class Window_gestionnaire extends JFrame {
@ -1381,9 +1382,12 @@ public class Window_gestionnaire extends JFrame {
noeud nStudent = nF.getChild(codeStudent);
// Les caractères < ou > ou " sont interdits car ils sont interprétés comme du code XML.
value = supprimeCaracatresSpeciaux.LesCaracteresCodeXML(value);
boolean isOnlySpace = value.matches("\\s+");
if(!isOnlySpace) {
try {
try {
nStudent.setAttribut(key, value.trim() );
sauvegardeXMLBase.save(commandes.nBase, saveType.SANS_MESSAGE,"");
}catch (Exception e1) {
@ -1394,9 +1398,8 @@ public class Window_gestionnaire extends JFrame {
table.setValueAt(oldValue, row, column);
}
// Après majFiltres il y a automatiquelent majTable.
// Après la procédure "majFiltres", il y a automatique la procédure "majTable".
majFiltres();
//majTable();
}
});

View File

@ -94,15 +94,15 @@ public class NomDeColonneInscriptionTable {
commandes.nomFeuilleExcel_Inscription = "Inscrits détail";
commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_Formation);//"IAE_-_Version_detape_lib._web";
commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_NomEtudiant);//"Individu_-_Nom";
commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant);; //"Individu_-_Prenom";
commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_CodeEtudiant);//"Individu_-_Code_Etudiant";
commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant); //"Profil_etudiant_lib.";
commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_BacEtudiant);//"Bac_ou_equivalence_lib.";
commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PortableEtudiant);//"Individu_-_Tel._portable";
commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant);//"Individu_-_Email_personnel";
commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant);//"Individu_-_Email";
commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_Formation);//"IAE_-_Version_detape_lib._web";
commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_NomEtudiant);//"Individu_-_Nom";
commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant);; //"Individu_-_Prenom";
commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_CodeEtudiant);//"Individu_-_Code_Etudiant";
commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant); //"Profil_etudiant_lib.";
commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_BacEtudiant);//"Bac_ou_equivalence_lib.";
commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PortableEtudiant);//"Individu_-_Tel._portable";
commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant);//"Individu_-_Email_personnel";
commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant);//"Individu_-_Email";
commandes.nomColonne_Option_1 = "Option_1";
@ -130,61 +130,61 @@ public class NomDeColonneInscriptionTable {
if(nomColonne.containsKey("Excel_Formation")) {
commandes.nomColonneExcel_Formation = nomColonne.get("Excel_Formation");
commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_Formation);
commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_Formation);
}
if(nomColonne.containsKey("Excel_Individu_-_Nom")) {
commandes.nomColonneExcel_NomEtudiant = nomColonne.get("Excel_Individu_-_Nom");
commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_NomEtudiant);
commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_NomEtudiant);
}
if(nomColonne.containsKey("Excel_Individu_-_Prenom")) {
commandes.nomColonneExcel_PrenomEtudiant = nomColonne.get("Excel_Individu_-_Prenom");
commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant);
commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant);
}
if(nomColonne.containsKey("Excel_Individu_-_Code_Etudiant")) {
commandes.nomColonneExcel_CodeEtudiant = nomColonne.get("Excel_Individu_-_Code_Etudiant");
commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_CodeEtudiant);
commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_CodeEtudiant);
}
if(nomColonne.containsKey("Excel_Profil_etudiant_lib.")) {
commandes.nomColonneExcel_ProfilEtudiant = nomColonne.get("Excel_Profil_etudiant_lib.");
commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant);
commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant);
}
if(nomColonne.containsKey("Excel_Bac_ou_equivalence_lib.")) {
commandes.nomColonneExcel_BacEtudiant = nomColonne.get("Excel_Bac_ou_equivalence_lib.");
commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_BacEtudiant);
commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_BacEtudiant);
}
if(nomColonne.containsKey("Excel_Individu_-_Tel._portable")) {
commandes.nomColonneExcel_PortableEtudiant = nomColonne.get("Excel_Individu_-_Tel._portable");
commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PortableEtudiant);
commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PortableEtudiant);
}
if(nomColonne.containsKey("Excel_Individu_-_Email_personnel")) {
commandes.nomColonneExcel_MailPersoEtudiant = nomColonne.get("Excel_Individu_-_Email_personnel");
commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant);
commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant);
}
if(nomColonne.containsKey("Excel_Individu_-_Email")) {
commandes.nomColonneExcel_MailUnivEtudiant = nomColonne.get("Excel_Individu_-_Email");
commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant);
commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant);
}
if(nomColonne.containsKey("Excel_Feuille_Inscription")) commandes.nomFeuilleExcel_Inscription = nomColonne.get("Excel_Feuille_Inscription");
if(nomColonne.containsKey("nomColonne_Option_1")) {
commandes.nomColonne_Option_1 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_1"));
commandes.nomColonne_Option_1 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_1"));
commandes.enabled_Colonne_Option_1 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_1"));
}
if(nomColonne.containsKey("nomColonne_Option_2")) {
commandes.nomColonne_Option_2 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_2"));
commandes.nomColonne_Option_2 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_2"));
commandes.enabled_Colonne_Option_2 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_2"));
}
if(nomColonne.containsKey("nomColonne_Option_3")) {
commandes.nomColonne_Option_3 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_3"));
commandes.nomColonne_Option_3 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_3"));
commandes.enabled_Colonne_Option_3 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_3"));
}
if(nomColonne.containsKey("nomColonne_Option_4")) {
commandes.nomColonne_Option_4 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_4"));
commandes.nomColonne_Option_4 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_4"));
commandes.enabled_Colonne_Option_4 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_4"));
}
if(nomColonne.containsKey("nomColonne_Option_5")) {
commandes.nomColonne_Option_5 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_5"));
commandes.nomColonne_Option_5 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_5"));
commandes.enabled_Colonne_Option_5 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_5"));
}
@ -322,8 +322,8 @@ public class NomDeColonneInscriptionTable {
// Remplissage de la listNomDesColonnes et vérification
for (Map.Entry<String, String> entry : nomColonne.entrySet()) {
if(!commandes.listNomDesColonnes.contains(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(entry.getValue()))) {
commandes.listNomDesColonnes.add(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(entry.getValue()));
if(!commandes.listNomDesColonnes.contains(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(entry.getValue()))) {
commandes.listNomDesColonnes.add(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(entry.getValue()));
}else {
message.append("<p>Le nom de la colonne " + entry.getKey() + " = "+ entry.getValue() + " est en double.</p>");
result =true;

View File

@ -55,8 +55,22 @@ public class base {
nBase.setAttribut("Excel_Feuille_Inscription",commandes.nomFeuilleExcel_Inscription);
nBase.setAttribut("nomColonne_Option_1", "Option_1");
nBase.setAttribut("Enabled_Colonne_Option_1", "false");
String defaultValue = "2022-2023";
nBase.setAttribut("nomColonne_Option_2", "Atelier-rentree_horaire");
nBase.setAttribut("Enabled_Colonne_Option_2", "true");
nBase.setAttribut("nomColonne_Option_3", "Atelier_pre-rentree_enseignant");
nBase.setAttribut("Enabled_Colonne_Option_3", "true");
nBase.setAttribut("nomColonne_Option_4", "Atelier_pre-rentree_salle");
nBase.setAttribut("Enabled_Colonne_Option_4", "true");
nBase.setAttribut("nomColonne_Option_5", "Information");
nBase.setAttribut("Enabled_Colonne_Option_5", "false");
String defaultValue = "2023-2024";
String userInput = JOptionPane.showInputDialog("Quelle est l'année universitaire ? ",defaultValue);
String regex = "(\\d{4})-(\\d{4})";
@ -72,7 +86,7 @@ public class base {
if (secondNumber==(firstNumber+1)) {
if(!userInput.isEmpty()) {
userInput = "Years_" + supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(userInput);
userInput = "Years_" + supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(userInput);
nBase.addChild(new noeud(userInput));
nBase.setAttribut("defaut_Year", userInput);

View File

@ -52,15 +52,11 @@ public class recupeBases {
File file = new File(filePath);
noeud nSauvegardeBase = null;
if (file.exists()) {
//lecture du fichier base.xml
String directoryName = Paths.get("").toAbsolutePath().toString()+ "/base/base_sauvegarde.xml";
String xmlString = lectureFileToString.lecture(directoryName);
nSauvegardeBase = lectureXML.lectureStringToNoeud(xmlString);
}
return nSauvegardeBase;

View File

@ -100,6 +100,21 @@ public class VersionChecker {
}
pattern = "messageVersion-(.*?)-messageVersion";
regex = Pattern.compile(pattern);
matcher = regex.matcher(content);
// message alerte sur le site de la forge de chapril
while (matcher.find()) {
// Récupérer le texte entre les balises messageAlerte
// -br- retour à la ligne
// -b- et -/b- en gras
// -u- et -/u- soiligné
commandes.messageVersion = matcher.group(1);
commandes.messageVersion = commandes.messageVersion.replaceAll("-br-", "<br>").replaceAll("-b-", "<b>").replaceAll("-/b-", "</b>").replaceAll("-u-", "<u>").replaceAll("-/u-", "</u>")
.replaceAll("-h1-", "<h1>").replaceAll("-/h1-", "</h1>").replaceAll("-h2-", "<h2>").replaceAll("-/h2-", "</h2>").replaceAll("-p-", "<p>").replaceAll("-/p-", "</p>");
}
// Définir le motif de la regex
pattern = "messageAlerte-(.*?)-messageAlerte";
@ -113,11 +128,15 @@ public class VersionChecker {
// -b- et -/b- en gras
// -u- et -/u- soiligné
commandes.messageAlerte = matcher.group(1);
commandes.messageAlerte = commandes.messageAlerte.replaceAll("-br-", "<br>").replaceAll("-b-", "<b>").replaceAll("-/b-", "</b>").replaceAll("-u-", "<u>").replaceAll("-/u-", "</u>");
commandes.messageAlerte = commandes.messageAlerte.replaceAll("-br-", "<br>").replaceAll("-b-", "<b>").replaceAll("-/b-", "</b>").replaceAll("-u-", "<u>").replaceAll("-/u-", "</u>")
.replaceAll("-h1-", "<h1>").replaceAll("-/h1-", "</h1>").replaceAll("-h2-", "<h2>").replaceAll("-/h2-", "</h2>").replaceAll("-p-", "<p>").replaceAll("-/p-", "</p>");
}
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "<html><h2>Pas de connexion internet.</h2><br>"
+ "Impossible de vérifier si une nouvelle version est disponible.<br>"
+ "Impossible d'afficher le message d'information, s'il est disponible</ul>.</html>");
e.printStackTrace();
}
}

View File

@ -69,7 +69,7 @@ public class importAllBaseToExcel {
trouveColonneFormation = true;
indexColonneFormation = cell.getColumnIndex();
}
if(cell.getStringCellValue().equals("Individu_-_Code_Etudiant")) {
if(cell.getStringCellValue().equals(commandes.nomColonneCodeEtudiant)) {
trouveColonneCode = true;
indexColonneCode = cell.getColumnIndex();
}
@ -88,10 +88,9 @@ public class importAllBaseToExcel {
noeud nBF = null;
noeud nStudent = null;
// Colonne formation doit être la première colonne
if(row.getCell(indexColonneFormation)!=null) {
if(row.getCell(indexColonneFormation).getCellType() == CellType.STRING) {
nBF = nYear.getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(row.getCell(indexColonneFormation).getStringCellValue()));
nBF = nYear.getChild(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(row.getCell(indexColonneFormation).getStringCellValue()));
}
}else {
continue;
@ -115,6 +114,7 @@ public class importAllBaseToExcel {
if(nStudent!=null) {
CellType cellType = cell.getCellType();
if (cellType == CellType.STRING) {
String cellValue = cell.getStringCellValue().trim();
if(sheet.getRow(0).getCell(indexCol)!=null) {
@ -122,6 +122,7 @@ public class importAllBaseToExcel {
if(isString) {
String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue());
if(value!=null && !cellValue.isEmpty()) {
cellValue = supprimeCaracatresSpeciaux.LesCaracteresCodeXML(cellValue);
boolean isOnlySpaces = value.matches("\\s+");
if(!isOnlySpaces)if(!cellValue.equals(value)) {
nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue);
@ -153,8 +154,8 @@ public class importAllBaseToExcel {
boolean isString = sheet.getRow(0).getCell(indexCol).getCellType() == CellType.STRING;
if(isString) {
String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue());
boolean isOnlySpaces = value.matches("\\s+");
if(value!=null && !cellValue.isEmpty()) {
boolean isOnlySpaces = value.matches("\\s+");
if(!isOnlySpaces)if(!cellValue.equals(value)) {
nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue);
compteur++;
@ -171,7 +172,8 @@ public class importAllBaseToExcel {
if(isString) {
String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue());
if(value!=null && !cellValue.isEmpty()) {
boolean isOnlySpaces = value.matches("\\s+");
cellValue = supprimeCaracatresSpeciaux.LesCaracteresCodeXML(cellValue);
boolean isOnlySpaces = value.matches("\\s+");
if(!isOnlySpaces)if(!cellValue.equals(value)) {
nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue);
compteur++;
@ -194,7 +196,7 @@ public class importAllBaseToExcel {
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la class importAllBaseToExcel", JOptionPane.ERROR_MESSAGE);
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la classe \"importAllBaseToExcel\"", JOptionPane.ERROR_MESSAGE);
}
sauvegardeXMLBase.saveModif(commandes.nBase, compteur);
}

View File

@ -11,7 +11,7 @@ import java.util.List;
public class commandes {
public static noeud nBase = null; // La base de données sous forme de noeud.
public static String version = "1.0.5"; // La version actuelle
public static String version = "1.0.6"; // La version actuelle
// Les colonnes obligatoires à l'inscription des étudaints.
// nom des colonnes après traitement des caractères (Accès à la base XML)
@ -41,14 +41,12 @@ public class commandes {
// liste des noms des colonnes pour éviter les colitions.
public static List<String> listNomDesColonnes = new ArrayList<String>();
// Messages et sécurité
public static Boolean newVersion = false; //Permet de vérifier l'existance d'un nouvelle version.
public static Boolean helpme1 = false; //M'aider à compléter mon service annuel.
public static Boolean blocageApplication = false; //Blocage total de l'application.
public static String messageAlerte = ""; //Message alerte
public static String messageVersion = ""; //Message version
//noms des colonnes de l'application qui sont modifiables
public static String nomColonne_Option_1 = "Option_1";

View File

@ -251,17 +251,22 @@ public class noeud implements Cloneable{
}
/**
* Changement du nom d'un attribut.
* @param oldName
* @param newName
* Modification du nom d'un attribut.<br>
* Si le string "oldName" est nul alors création de l'attribut "newName" avec une valeur vide.
* @param oldName : ancien nom de l'attribut.
* @param newName : nouveau nom de l'attribut.
*/
public void changeAttributName(String oldName, String newName) {
if(attributes.get(oldName)==null) {
return;
if(oldName!=null) {
if(attributes.get(oldName)==null) {
return;
}
String value = attributes.get(oldName);
attributes.remove(oldName);
attributes.put(newName, value);
}else {
attributes.put(newName, "");
}
String value = attributes.get(oldName);
attributes.remove(oldName);
attributes.put(newName, value);
}

View File

@ -4,7 +4,7 @@ import java.text.Normalizer;
public class supprimeCaracatresSpeciaux {
public static String TousLesCaracatresSpeciaux(String str) {
public static String TousLesCaracteresSpeciaux(String str) {
// Supprimer les accents
String normalizedStr = Normalizer.normalize(str, Normalizer.Form.NFD);
@ -18,5 +18,10 @@ public class supprimeCaracatresSpeciaux {
return replaceSpace;
}
public static String LesCaracteresCodeXML(String str) {
return str.replaceAll("<", "").replaceAll(">", "").replaceAll("\"", "");
}
}