Example #1
0
 def EnvoyerTest(self, event):
     """ Envoi d'un Email de test """
     adresse = UTILS_Parametres.Parametres(mode="get", categorie="emails", nom="adresse_test", valeur=u"")      
     dlg = wx.TextEntryDialog(self, _(u"Saisissez une adresse Email et cliquez sur Ok :"), _(u"Envoi d'un Email de test"), adresse)
     if dlg.ShowModal() != wx.ID_OK:
         dlg.Destroy()
         return
     adresse = dlg.GetValue()
     dlg.Destroy()
     # Mémorise l'adresse saisie
     if UTILS_Envoi_email.ValidationEmail(adresse) == False :
         dlg = wx.MessageDialog(self, _(u"L'adresse saisie n'est pas valide !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
         dlg.ShowModal()
         dlg.Destroy()
         return
     UTILS_Parametres.Parametres(mode="set", categorie="emails", nom="adresse_test", valeur=adresse)
     # Vérifie si au moins un destintaire saisi
     listeDestinataires=self.ctrl_destinataires.GetDonnees()
     if len(listeDestinataires) == 0 :
         dlg = wx.MessageDialog(self, _(u"Vous devez sélectionner au moins un destinataire !\n\n(En cas de fusion, les données du premier destinataire seront utilisés)"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
         dlg.ShowModal()
         dlg.Destroy()
         return
     # Envoi du mail test
     self.Envoyer(listeDestinataires=[listeDestinataires[0],], adresseTest=adresse)    
Example #2
0
    def MAJ(self, block=True):
        """ MAJ du bouton Demandes """
        # Paramètres

        if self.lock.acquire(block) == True:
            try:
                index = UTILS_Parametres.Parametres(
                    mode="get",
                    categorie="portail",
                    nom="client_synchro_portail_delai",
                    valeur=1)
                self.delai = LISTE_DELAIS_SYNCHRO[index][0]
                self.synchro_ouverture = UTILS_Parametres.Parametres(
                    mode="get",
                    categorie="portail",
                    nom="client_synchro_portail_ouverture",
                    valeur=True)
            except Exception as e:
                self.lock.release()
                raise e
            else:
                self.lock.release()
            self.MAJ_bouton()
            return True
        else:
            return False
Example #3
0
    def AfficheAvertissement(self):
        if UTILS_Parametres.Parametres(mode="get", categorie="ne_plus_afficher", nom="infos_badgeage", valeur=False) == True :
            return
        
        import DLG_Message_html
        texte = u"""
<CENTER><IMG SRC="Static/Images/32x32/Information.png">
<BR><BR>
<FONT SIZE=2>
<B>Avertissement</B>
<BR><BR>
Cette fonctionnalité étant très récente, il est conseillé de multiplier les tests avant une utilisation en situation réelle. Si vous constatez un bug, n'hésitez pas à le signaler sur le forum de Noethys.
<BR><BR>
Vous pouvez découvrir un petit aperçu des nombreuses possibilités offertes par ce module sur le forum :
<A HREF="http://www.noethys.com/index.php?option=com_kunena&Itemid=7&func=view&catid=5&id=965#965">Cliquez ici</A>
<BR><BR>
<I>Pensez à configurer la synthèse vocale pour bénéficier au maximum de l'interface de badgeage !</I>
</FONT>
</CENTER>
"""
        dlg = DLG_Message_html.Dialog(self, texte=texte, titre=_(u"Information"), nePlusAfficher=True)
        dlg.ShowModal()
        nePlusAfficher = dlg.GetEtatNePlusAfficher()
        dlg.Destroy()
        if nePlusAfficher == True :
            UTILS_Parametres.Parametres(mode="set", categorie="ne_plus_afficher", nom="infos_badgeage", valeur=nePlusAfficher)
Example #4
0
    def OnBoutonTester(self, event):
        if self.GetPageActive().Validation() == False :
            return False

        # Récupération des paramètres
        dict_donnees = self.GetPageActive().GetDonnees()

        # Demande une adresse de destination
        adresse = UTILS_Parametres.Parametres(mode="get", categorie="emails", nom="adresse_test", valeur=u"")
        dlg = wx.TextEntryDialog(self, _(u"Saisissez une adresse Email de destination et cliquez sur Ok :"), _(u"Envoi d'un Email de test"), adresse)
        if dlg.ShowModal() != wx.ID_OK:
            dlg.Destroy()
            return
        adresse = dlg.GetValue()
        dlg.Destroy()
        # Mémorise l'adresse saisie
        if UTILS_Envoi_email.ValidationEmail(adresse) == False :
            dlg = wx.MessageDialog(self, _(u"L'adresse saisie n'est pas valide !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            return
        UTILS_Parametres.Parametres(mode="set", categorie="emails", nom="adresse_test", valeur=adresse)

        # Création du message de test
        message = UTILS_Envoi_email.Message(
            destinataires=[adresse, ],
            sujet=u"Test de messagerie",
            texte_html=u"<p>Ceci est un <b>test de messagerie</b> envoyé à %s.</p>" % datetime.datetime.now().strftime("%H:%M:%S"),
        )

        try :
            messagerie = UTILS_Envoi_email.Messagerie(
                backend=dict_donnees["moteur"],
                hote=dict_donnees["smtp"],
                port=dict_donnees["port"],
                utilisateur=dict_donnees["utilisateur"],
                motdepasse=dict_donnees["motdepasse"],
                email_exp=dict_donnees["adresse"],
                nom_exp=dict_donnees["nom_adresse"],
                timeout=10,
                use_tls=dict_donnees["startTLS"],
                parametres=dict_donnees["parametres"],
            )
            messagerie.Connecter()
            messagerie.Envoyer(message)
            messagerie.Fermer()
        except Exception as err:
            err = str(err)
            if six.PY2:
                err = err.decode("iso-8859-15")
            intro = _(u"L'envoi de l'email de test est impossible :")
            conclusion = _(u"Vérifiez votre connexion internet ou les paramètres de votre adresse d'expédition.")
            dlgErreur = DLG_Messagebox.Dialog(self, titre=_(u"Erreur"), introduction=intro, detail=err, conclusion=conclusion, icone=wx.ICON_ERROR, boutons=[_(u"Ok"),])
            dlgErreur.ShowModal()
            dlgErreur.Destroy()
            return False

        dlg = wx.MessageDialog(self, _(u"L'email de test a été envoyé avec succès."), _(u"Test de connexion"), wx.OK | wx.ICON_INFORMATION)
        dlg.ShowModal()
        dlg.Destroy()
Example #5
0
    def AfficheAvertissement(self):
        if UTILS_Parametres.Parametres(mode="get",
                                       categorie="ne_plus_afficher",
                                       nom="infos_etat_nomin",
                                       valeur=False) == True:
            return

        import DLG_Message_html
        texte = u"""
<CENTER><IMG SRC="Static/Images/32x32/Information.png">
<BR><BR>
<FONT SIZE=2>
<B>Avertissement</B>
<BR><BR>
La fonctionnalité 'Etat nominatif des consommations' étant très récente, je ne peux que vous conseiller de bien vérifier les résultats obtenus. Si vous constatez un bug, n'hésitez pas à le signaler sur le forum de Noethys.
<BR><BR>
D'autre part, cette fonctionnalité peut être ardue à appréhender en raison de ses nombreuses possibilités. Je vous propose de découvrir sur le forum un mode d'emploi complet sur son utilisation :
<BR>
<A HREF="http://www.noethys.com/index.php?option=com_kunena&Itemid=7&func=view&catid=5&id=772#772">Cliquez ici pour accéder au mode d'emploi</A>
</FONT>
</CENTER>
"""
        dlg = DLG_Message_html.Dialog(self,
                                      texte=texte,
                                      titre=_(u"Information"),
                                      nePlusAfficher=True)
        dlg.ShowModal()
        nePlusAfficher = dlg.GetEtatNePlusAfficher()
        dlg.Destroy()
        if nePlusAfficher == True:
            UTILS_Parametres.Parametres(mode="set",
                                        categorie="ne_plus_afficher",
                                        nom="infos_etat_nomin",
                                        valeur=nePlusAfficher)
Example #6
0
    def AnnonceRappel(self):
        # Affichage à 70 % de chance
        if random.randrange(1, 100) > 70 :
            return False
        
        # Vérifie si case Ne plus Afficher cochée ou non
        if UTILS_Parametres.Parametres(mode="get", categorie="ne_plus_afficher", nom="sauvegarde_automatique", valeur=False) == True :
            return False
        
        try :
            image = wx.Bitmap(Chemins.GetStaticPath("Images/48x48/Sauvegarder.png"), wx.BITMAP_TYPE_ANY)
            message1 = _(u"Vous n'avez paramétré aucune sauvegarde automatique.\n\nSouhaitez-vous le faire maintenant ?")
            dlg = dialogs.MultiMessageDialog(self.parent, message1, caption=_(u"Rappel de sauvegarde"), msg2=None, style = wx.NO | wx.CANCEL | wx.YES | wx.YES_DEFAULT, icon=image, btnLabels={wx.ID_YES : _(u"Oui"), wx.ID_NO : _(u"Ne plus rappeler"), wx.ID_CANCEL : _(u"Pas maintenant")})
            reponse = dlg.ShowModal() 
            dlg.Destroy() 
        except :
            reponse = None
        if reponse == wx.ID_YES :
            from Dlg import DLG_Sauvegardes_auto
            dlg = DLG_Sauvegardes_auto.Dialog(self.parent)
            dlg.ShowModal() 
            dlg.Destroy()
            return wx.ID_CANCEL
        if reponse == wx.ID_NO :
            UTILS_Parametres.Parametres(mode="set", categorie="ne_plus_afficher", nom="sauvegarde_automatique", valeur=True)
        if reponse == wx.ID_CANCEL :
            return True

        return True
Example #7
0
    def OnBoutonOk(self, event):
        # Vérification des données saisies
        if self.ctrl_etat_avant.GetValeur() == None :
            dlg = wx.MessageDialog(self, _(u"Vous devez obligatoirement sélectionner un état à convertir !"), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            return
        if self.ctrl_etat_apres.GetValeur() == None :
            dlg = wx.MessageDialog(self, _(u"Vous devez obligatoirement sélectionner l'état souhaité !"), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            return
        if self.ctrl_etat_avant.GetValeur() == self.ctrl_etat_apres.GetValeur()  :
            dlg = wx.MessageDialog(self, _(u"Les deux états sélectionnés doivent être différents !"), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            return

        # Mémorisation des paramètres
        etat_avant = self.ctrl_etat_avant.GetValeur()
        UTILS_Parametres.Parametres(mode="set", categorie="conversion_etat", nom="etat_avant", valeur=etat_avant)
        etat_apres = self.ctrl_etat_apres.GetValeur()
        UTILS_Parametres.Parametres(mode="set", categorie="conversion_etat", nom="etat_apres", valeur=etat_apres)

        if self.radio_lignes_affichees.GetValue() == True :
            UTILS_Parametres.Parametres(mode="set", categorie="conversion_etat", nom="option_lignes", valeur="lignes_affichees")
        if self.radio_lignes_selectionnees.GetValue() == True :
            UTILS_Parametres.Parametres(mode="set", categorie="conversion_etat", nom="option_lignes", valeur="lignes_selectionnees")

        # Fermeture de la fenêtre
        self.EndModal(wx.ID_OK)
Example #8
0
    def AfficheAvertissement(self):
        if UTILS_Parametres.Parametres(mode="get",
                                       categorie="ne_plus_afficher",
                                       nom="synchronisation_nomadhys",
                                       valeur=False) == True:
            return

        from Dlg import DLG_Message_html
        texte = u"""
<CENTER><IMG SRC="%s">
<BR><BR>
<FONT SIZE=2>
<B>Avertissement</B>
<BR><BR>
Cette nouvelle fonctionnalité est expérimentale.
<BR><BR>
Il est conseillé de tester son efficacité et sa stabilité dans un fichier test avant de l'utiliser dans votre fichier de données. 
<BR><BR>
Merci de signaler tout bug rencontré dans la rubrique "Signaler un bug " du forum de Noethys.
</FONT>
</CENTER>
""" % Chemins.GetStaticPath("Images/32x32/Information.png")
        dlg = DLG_Message_html.Dialog(self,
                                      texte=texte,
                                      titre=_(u"Information"),
                                      nePlusAfficher=True)
        dlg.ShowModal()
        nePlusAfficher = dlg.GetEtatNePlusAfficher()
        dlg.Destroy()
        if nePlusAfficher == True:
            UTILS_Parametres.Parametres(mode="set",
                                        categorie="ne_plus_afficher",
                                        nom="synchronisation_nomadhys",
                                        valeur=nePlusAfficher)
    def __init__(self, parent, IDinscription=None):
        wx.Dialog.__init__(self, parent, -1, name="DLG_Impression_inscription", style=wx.DEFAULT_DIALOG_STYLE)
        self.parent = parent
        self.IDinscription = IDinscription
        self.dictSave = {}
        self.listeAdresses = []
        
        # Importation des données
        self.dictInscription = self.Importation()
        self.IDfamille = self.dictInscription["IDFAMILLE"]
                
        # Bandeau
        intro = _(u"Vous pouvez ici éditer une confirmation d'inscription. Sélectionnez un modèle de document puis cliquez tout simplement sur 'Aperçu' ou sur 'Envoyer Par Email'.")
        titre = _(u"Edition d'une confirmation d'inscription")
        self.SetTitle(titre)
        self.ctrl_bandeau = CTRL_Bandeau.Bandeau(self, titre=titre, texte=intro, hauteurHtml=30, nomImage="Images/32x32/Imprimante.png")

        # Options
        self.staticbox_options_staticbox = wx.StaticBox(self, -1, _(u"Options"))
        self.label_modele = wx.StaticText(self, -1, _(u"Modèle :"))
        self.ctrl_modele = CTRL_Choix_modele.CTRL_Choice(self, categorie="inscription")
        self.bouton_gestion_modeles = wx.BitmapButton(self, -1, wx.Bitmap(Chemins.GetStaticPath(u"Images/16x16/Mecanisme.png"), wx.BITMAP_TYPE_ANY))
        
        self.label_signataire = wx.StaticText(self, -1, _(u"Signataire :"))
        self.ctrl_signataire = CTRL_Signataires(self)
        
        self.label_intro = wx.StaticText(self, -1, _(u"Intro :"))
        self.ctrl_intro = wx.CheckBox(self, -1, u"")
        self.ctrl_intro.SetValue(True)
        self.ctrl_texte_intro = wx.TextCtrl(self, -1, TEXTE_INTRO, style=wx.TE_MULTILINE)
        self.ctrl_texte_intro.SetMinSize((400, 120))
        self.label_tableau = wx.StaticText(self, -1, _(u"Tableau :"))
        self.ctrl_tableau = wx.CheckBox(self, -1, _(u"Afficher un tableau comportant les caractéristiques de l'inscription"))

        # Boutons
        self.bouton_aide = CTRL_Bouton_image.CTRL(self, texte=_(u"Aide"), cheminImage="Images/32x32/Aide.png")
        self.bouton_email = CTRL_Bouton_image.CTRL(self, texte=_(u"Envoyer par Email"), cheminImage="Images/32x32/Emails_exp.png")
        self.bouton_ok = CTRL_Bouton_image.CTRL(self, texte=_(u"Aperçu"), cheminImage="Images/32x32/Apercu.png")
        self.bouton_annuler = CTRL_Bouton_image.CTRL(self, texte=_(u"Fermer"), cheminImage="Images/32x32/Fermer.png")

        self.__set_properties()
        self.__do_layout()

        self.Bind(wx.EVT_BUTTON, self.OnBoutonModeles, self.bouton_gestion_modeles)
        self.Bind(wx.EVT_CHECKBOX, self.OnCheckIntro, self.ctrl_intro)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonEmail, self.bouton_email)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bouton_ok)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAnnuler, self.bouton_annuler)
        self.Bind(wx.EVT_CLOSE, self.OnBoutonAnnuler)
        
        # Init contrôles
        self.OnCheckIntro(None) 
        self.ctrl_texte_intro.SetValue(UTILS_Parametres.Parametres(mode="get", categorie="edition_confirmation_inscription", nom="intro", valeur=TEXTE_INTRO))
        self.ctrl_intro.SetValue(UTILS_Parametres.Parametres(mode="get", categorie="edition_confirmation_inscription", nom="check_intro", valeur=True))
        self.ctrl_tableau.SetValue(UTILS_Parametres.Parametres(mode="get", categorie="edition_confirmation_inscription", nom="check_tableau", valeur=True))
        self.OnCheckIntro(None)
        wx.CallLater(0, self.Layout)
 def OnBoutonAnnuler(self, event):
     # Historique
     self.Sauvegarder() 
     # Parametres
     UTILS_Parametres.Parametres(mode="set", categorie="edition_confirmation_inscription", nom="intro", valeur=self.ctrl_texte_intro.GetValue())
     UTILS_Parametres.Parametres(mode="set", categorie="edition_confirmation_inscription", nom="check_intro", valeur=self.ctrl_intro.GetValue())
     UTILS_Parametres.Parametres(mode="set", categorie="edition_confirmation_inscription", nom="check_tableau", valeur=self.ctrl_tableau.GetValue())
     # Fermeture de la fenêtre
     self.EndModal(wx.ID_OK)
Example #11
0
    def OnBoutonOk(self, event):
        # Vérification des données saisies
        if self.ctrl_unite_origine.GetValeur() == None :
            dlg = wx.MessageDialog(self, _(u"Vous devez obligatoirement sélectionner une unité à recopier !"), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            return
        if self.ctrl_unite_destination.GetValeur() == None :
            dlg = wx.MessageDialog(self, _(u"Vous devez obligatoirement sélectionner l'unité vers laquelle recopier !"), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            return
        if self.ctrl_unite_origine.GetValeur() == self.ctrl_unite_destination.GetValeur()  :
            dlg = wx.MessageDialog(self, _(u"Les deux unités sélectionnées doivent être différentes !"), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            return

        # Mémorisation des paramètres
        UTILS_Parametres.Parametres(mode="set", categorie="recopiage_conso", nom="unite_origine", valeur=self.ctrl_unite_origine.GetValeur())
        UTILS_Parametres.Parametres(mode="set", categorie="recopiage_conso", nom="unite_destination", valeur=self.ctrl_unite_destination.GetValeur())
        UTILS_Parametres.Parametres(mode="set", categorie="recopiage_conso", nom="param_horaires", valeur=self.check_param_horaires.GetValue())
        UTILS_Parametres.Parametres(mode="set", categorie="recopiage_conso", nom="param_quantite", valeur=self.check_param_quantite.GetValue())
        UTILS_Parametres.Parametres(mode="set", categorie="recopiage_conso", nom="param_etiquettes", valeur=self.check_param_etiquettes.GetValue())
        UTILS_Parametres.Parametres(mode="set", categorie="recopiage_conso", nom="param_etat", valeur=self.check_param_etat.GetValue())

        if self.radio_lignes_affichees.GetValue() == True :
            UTILS_Parametres.Parametres(mode="set", categorie="recopiage_conso", nom="option_lignes", valeur="lignes_affichees")
        if self.radio_lignes_selectionnees.GetValue() == True :
            UTILS_Parametres.Parametres(mode="set", categorie="recopiage_conso", nom="option_lignes", valeur="lignes_selectionnees")

        # Fermeture de la fenêtre
        self.EndModal(wx.ID_OK)
Example #12
0
 def OnBoutonFermer(self, event):
     UTILS_Parametres.Parametres(mode="set",
                                 categorie="rolmre",
                                 nom="code_col",
                                 valeur=self.ctrl_code_coll.GetValue())
     UTILS_Parametres.Parametres(mode="set",
                                 categorie="rolmre",
                                 nom="code_nat",
                                 valeur=self.ctrl_code_nat.GetValue())
     UTILS_Parametres.Parametres(mode="set",
                                 categorie="rolmre",
                                 nom="code_rec",
                                 valeur=self.ctrl_code_rec.GetValue())
     self.EndModal(wx.ID_CANCEL)
Example #13
0
    def Memorisation_parametres(self):
        # Mémorisation des préférences
        inclure_pieces_jointes = self.ctrl_parametres.GetPropertyValue(
            "inclure_pieces_jointes")
        format_nom_fichier = self.ctrl_parametres.GetPropertyValue(
            "format_nom_fichier")

        UTILS_Parametres.Parametres(mode="set",
                                    categorie="export_pes",
                                    nom="inclure_pieces_jointes",
                                    valeur=inclure_pieces_jointes)
        UTILS_Parametres.Parametres(mode="set",
                                    categorie="export_pes",
                                    nom="format_nom_fichier",
                                    valeur=format_nom_fichier)
Example #14
0
    def OnBoutonOk(self, event):
        # Largeur Colonnes Unités
        newLargeur = self.ctrl_largeurUnite.GetValue()
        try:
            newLargeur = int(newLargeur)
        except:
            dlg2 = wx.MessageDialog(
                self,
                _(u"La largeur des colonnes unités semble incorrecte !"),
                _(u"Erreur de saisie"), wx.OK | wx.ICON_INFORMATION)
            dlg2.ShowModal()
            dlg2.Destroy()
            dlg.Destroy()
            return
        if newLargeur < 30 or newLargeur > 300:
            dlg2 = wx.MessageDialog(
                self,
                _(u"La largeur des colonnes unités doit être comprise entre 30 et 300 !"
                  ), _(u"Erreur de saisie"), wx.OK | wx.ICON_INFORMATION)
            dlg2.ShowModal()
            dlg2.Destroy()
            return

        # Mémorisation paramètres
        UTILS_Parametres.Parametres(
            mode="set",
            categorie="parametres_remplissage",
            nom="masquer_anciennes_activites",
            valeur=int(self.ctrl_masquer_activites.GetValue()))

        # Fermeture de la fenêtre
        self.EndModal(wx.ID_OK)
Example #15
0
def CreateIDfamille(DB, parametres=None):
    """ Crée la fiche famille dans la base de données afin d'obtenir un IDfamille et un IDcompte_payeur """
    from Utils import UTILS_Internet
    date_creation = str(datetime.date.today())
    IDfamille = DB.ReqInsert("familles", [
        ("date_creation", date_creation),
    ])
    # Création du compte payeur
    IDcompte_payeur = DB.ReqInsert("comptes_payeurs", [
        ("IDfamille", IDfamille),
    ])
    # Création des codes internet
    try:
        internet_identifiant = parametres['identifiant']
    except:
        internet_identifiant = UTILS_Internet.CreationIdentifiant(
            IDfamille=IDfamille)
    try:
        internet_mdp = parametres['password1']
    except:
        taille = UTILS_Parametres.Parametres(mode="get",
                                             categorie="comptes_internet",
                                             nom="taille_passwords",
                                             valeur=8)
        internet_mdp = UTILS_Internet.CreationMDP(nbreCaract=taille)
    # Sauvegarde des données
    listeDonnees = [
        ("IDcompte_payeur", IDcompte_payeur),
        ("internet_actif", 1),
        ("internet_identifiant", internet_identifiant),
        ("internet_mdp", internet_mdp),
    ]
    print listeDonnees
    DB.ReqMAJ("familles", listeDonnees, "IDfamille", IDfamille)
    return IDfamille
def RestaurationConfiguration(nomListe=None, listeColonnesDefaut=[]):
    listeColonnesFinale = []

    # Mémorise les colonnes par défaut
    dictColonnes = {}
    for col in listeColonnesDefaut :
        dictColonnes[col.valueGetter] = col
    
    # Lecture du paramètres stocké
    texteDefaut = ConvertListeEnTexte(listeColonnesDefaut)
    texte = UTILS_Parametres.Parametres(mode="get", categorie="configuration_liste_colonnes", nom=nomListe, valeur=texteDefaut)
    listeChaines = texte.split("##")
    listeNomsTemp = []
    for chaine in listeChaines :
        try :
            nom, visible = chaine.split(";")
            if visible == "oui" :
                visible = True
            else :
                visible = False
                
            if dictColonnes.has_key(nom) :
                col = dictColonnes[nom]
                col.visible = visible
                listeColonnesFinale.append(col)
                listeNomsTemp.append(nom)
        except :
            pass
            
    # Vérifie que toutes les colonnes de la liste initiale ont été traitées
    for nom, col in dictColonnes.iteritems() :
        if nom not in listeNomsTemp :
            listeColonnesFinale.append(col)

    return listeColonnesFinale
Example #17
0
def InitIdentifiantsFiches():
    """ Remplit tous les champs identifiant et mdp de toutes les fiches familles """
    DB = GestionDB.DB()
    req = """SELECT IDfamille, nom, prenom FROM familles ORDER BY nom, prenom; """
    DB.executerReq(req)
    listeDonnees = DB.resultatReq()
    DB.close()

    taille = UTILS_Parametres.Parametres(mode="get",
                                         categorie="comptes_internet",
                                         nom="taille_passwords",
                                         valeur=7)

    DB = GestionDB.DB()
    for IDfamille, nom, prenom in listeDonnees:
        identifiant = CreationIdentifiant(IDfamille)
        mdp = CreationMDP(nbreCaract=taille)

        listeDonnees = [
            ("internet_identifiant", identifiant),
            ("internet_mdp", mdp),
            ("internet_actif", 1),
        ]

        # Modification de l'identité de l'ENFANT
        DB.ReqMAJ("familles", listeDonnees, "IDfamille", IDfamille)

    DB.commit()
    DB.close()
 def Sauvegarde(self, forcer=False):
     """ Mémorisation des valeurs du contrôle """
     dictValeurs = copy.deepcopy(self.GetPropertyValues())
     UTILS_Parametres.ParametresCategorie(
         mode="set",
         categorie="impression_recap_factures",
         dictParametres=dictValeurs)
Example #19
0
 def MemorisationParametres(self):
     dictValeurs = {
         "intro_activer" : self.ctrl_intro.GetValue(),
         "intro_texte" : self.ctrl_texte_intro.GetValue(),
         "prestations_afficher" : self.ctrl_prestations.GetValue(),
         }
     UTILS_Parametres.ParametresCategorie(mode="set", categorie="impression_recu", dictParametres=dictValeurs)
Example #20
0
    def RegenererMdp(self, event):
        if "********" in self.ctrl_mdp.GetValue():
            dlg = wx.MessageDialog(
                self,
                _(u"Attention, ce mot de passe a déjà été personnalisé par l'usager ! \n\nSouhaitez-vous vraiment modifier ce mot de passe ?"
                  ), _(u"Avertissement"),
                wx.YES_NO | wx.NO_DEFAULT | wx.CANCEL | wx.ICON_EXCLAMATION)
            reponse = dlg.ShowModal()
            dlg.Destroy()
            if reponse != wx.ID_YES:
                return False

        dlg = wx.MessageDialog(
            self,
            _(u"Vous êtes vraiment sûr de vouloir générer un nouveau mot de passe ?"
              ), _(u"Avertissement"),
            wx.YES_NO | wx.NO_DEFAULT | wx.CANCEL | wx.ICON_EXCLAMATION)
        reponse = dlg.ShowModal()
        dlg.Destroy()
        if reponse != wx.ID_YES:
            return False

        taille = UTILS_Parametres.Parametres(mode="get",
                                             categorie="comptes_internet",
                                             nom="taille_passwords",
                                             valeur=8)
        internet_mdp = UTILS_Internet.CreationMDP(nbreCaract=taille,
                                                  cryptage=False)
        self.ctrl_mdp.SetValue(internet_mdp)
Example #21
0
 def Sauvegarde(self):
     """ Mémorisation des valeurs du contrôle """
     # Récupération des noms et valeurs par défaut du contrôle
     dictValeurs = copy.deepcopy(self.GetPropertyValues())
     # Sauvegarde des valeurs
     UTILS_Parametres.ParametresCategorie(mode="set",
                                          categorie="impression_facture",
                                          dictParametres=dictValeurs)
 def Sauvegarde(self, forcer=False):
     """ Mémorisation des valeurs du contrôle """
     if self.GetPropertyByName(
             "memoriser_parametres").GetValue() == True or forcer == True:
         dictValeurs = copy.deepcopy(self.GetPropertyValues())
         UTILS_Parametres.ParametresCategorie(
             mode="set",
             categorie="impression_facture",
             dictParametres=dictValeurs)
Example #23
0
 def MemorisationParametres(self):
     # Mémorisation des paramètres
     if self.ctrl_origine.GetCode() != self.ctrl_destination.GetCode() :
         dictValeurs = {
             "origine" : self.ctrl_origine.GetCode(),
             "destination": self.ctrl_destination.GetCode(),
             "moyen": self.GetMoyen(),
             }
         UTILS_Parametres.ParametresCategorie(mode="set", categorie="locations_mesure_distance", dictParametres=dictValeurs)
Example #24
0
    def Sauvegarde(self):
        """ Mémorisation des valeurs du contrôle """
        # Mémorisation des paramètres dans la base de données
        dictValeurs = copy.deepcopy(self.GetPropertyValues())
        UTILS_Parametres.ParametresCategorie(mode="set", categorie="portail", dictParametres=dictValeurs)

        # Mémorisation de la config sur cet ordi
        for key in ("serveur_portail_activation", "serveur_synchro_delai", "serveur_synchro_ouverture", "hebergement_type") :
            UTILS_Config.SetParametre(key, self.GetPropertyByName(key).GetValue())
Example #25
0
 def MAJ(self):
     # Paramètres
     self.ctrl_factures.SetParametres(self.parent.dictParametres)
     # Montant
     try:
         montant = UTILS_Parametres.Parametres(mode="get", categorie="generation_factures", nom="cocher_montant_sup", valeur=0.0)
     except:
         montant = 0.0
     self.ctrl_option_montant.SetMontant(montant)
Example #26
0
    def __init__(self, parent):
        wx.Dialog.__init__(self, parent, -1, style=wx.DEFAULT_DIALOG_STYLE)
        self.parent = parent

        # Bandeau
        titre = _(u"Convertir l'état des consommations")
        self.SetTitle(titre)
        intro = _(u"Sélectionnez l'état à convertir puis l'état souhaité. Vous pouvez également préciser les lignes à impacter.")
        self.ctrl_bandeau = CTRL_Bandeau.Bandeau(self, titre=titre, texte=intro, hauteurHtml=30, nomImage="Images/32x32/Calendrier_modifier.png")

        # Conversion
        self.staticbox_conversion = wx.StaticBox(self, -1, _(u"Etats"))
        self.ctrl_etat_avant = CTRL_Etat(self)
        self.ctrl_image_conversion = wx.StaticBitmap(self, -1, wx.Bitmap(Chemins.GetStaticPath(u"Images/16x16/Fleche_droite2.png"), wx.BITMAP_TYPE_ANY))
        self.ctrl_etat_apres = CTRL_Etat(self)

        # Options
        self.staticbox_options = wx.StaticBox(self, -1, _(u"Options"))
        self.radio_lignes_affichees = wx.RadioButton(self, -1, _(u"Toutes les lignes affichées"), style=wx.RB_GROUP)
        self.radio_lignes_selectionnees = wx.RadioButton(self, -1, _(u"Toutes les lignes sélectionnées"))

        # Boutons
        self.bouton_aide = CTRL_Bouton_image.CTRL(self, texte=_(u"Aide"), cheminImage="Images/32x32/Aide.png")
        self.bouton_ok = CTRL_Bouton_image.CTRL(self, texte=_(u"Ok"), cheminImage="Images/32x32/Valider.png")
        self.bouton_annuler = CTRL_Bouton_image.CTRL(self, id=wx.ID_CANCEL, texte=_(u"Annuler"), cheminImage="Images/32x32/Annuler.png")

        self.__set_properties()
        self.__do_layout()

        self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bouton_ok)

        # Init
        etat_avant = UTILS_Parametres.Parametres(mode="get", categorie="conversion_etat", nom="etat_avant", valeur=None)
        self.ctrl_etat_avant.SetValeur(etat_avant)

        etat_apres = UTILS_Parametres.Parametres(mode="get", categorie="conversion_etat", nom="etat_apres", valeur=None)
        self.ctrl_etat_apres.SetValeur(etat_apres)

        option_lignes = UTILS_Parametres.Parametres(mode="get", categorie="conversion_etat", nom="option_lignes", valeur="lignes_affichees")
        if option_lignes == "lignes_affichees" :
            self.radio_lignes_affichees.SetValue(True)
        if option_lignes == "lignes_selectionnees" :
            self.radio_lignes_selectionnees.SetValue(True)
    def OnBoutonCafpro(self, event):
        # Mémorisation du numéro allocataire dans le presse-papiers
        num_allocataire = self.ctrl_numero.GetValue()
        clipdata = wx.TextDataObject()
        clipdata.SetText(num_allocataire)
        wx.TheClipboard.Open()
        wx.TheClipboard.SetData(clipdata)
        wx.TheClipboard.Close()

        # Vérifie si case Ne plus Afficher cochée ou non
        if UTILS_Parametres.Parametres(mode="get",
                                       categorie="ne_plus_afficher",
                                       nom="acces_cafpro",
                                       valeur=False) == False:
            texte = u"""
<CENTER><IMG SRC="Static/Images/32x32/Astuce.png">
<FONT SIZE=3>
<BR>
<B>Astuce</B>
<BR><BR>
Le numéro d'allocataire de la famille a été copié dans le presse-papiers.
<BR><BR>
Collez tout simplement ce numéro dans le champ de recherche du site CAFPRO grâce à la combinaison de touches <B>CTRL+V</B> de votre clavier !
</FONT>
</CENTER>
"""
            dlg = DLG_Message_html.Dialog(self,
                                          texte=texte,
                                          titre=_(u"Astuce"),
                                          nePlusAfficher=True,
                                          size=(200, 300))
            dlg.ShowModal()
            nePlusAfficher = dlg.GetEtatNePlusAfficher()
            dlg.Destroy()
            if nePlusAfficher == True:
                UTILS_Parametres.Parametres(mode="set",
                                            categorie="ne_plus_afficher",
                                            nom="acces_cafpro",
                                            valeur=nePlusAfficher)

        # Ouverture du navigateur
        import webbrowser
        webbrowser.open("http://www.caf.fr/cafpro/Ident.jsp")
    def OnBoutonOk(self, event):
        # Mémorisation paramètres
        UTILS_Parametres.Parametres(
            mode="set",
            categorie="parametres_remplissage",
            nom="masquer_anciennes_activites",
            valeur=int(self.ctrl_masquer_activites.GetValue()))

        # Fermeture de la fenêtre
        self.EndModal(wx.ID_OK)
Example #29
0
 def Importation(self):
     """ Importation des valeurs dans le contrôle """
     # Récupération des noms et valeurs par défaut du contrôle
     dictValeurs = copy.deepcopy(self.GetPropertyValues())
     # Recherche les paramètres mémorisés
     dictParametres = UTILS_Parametres.ParametresCategorie(mode="get", categorie="impression_facture", dictParametres=dictValeurs)
     # Envoie les paramètres dans le contrôle
     for nom, valeur in list(dictParametres.items()) :
         propriete = self.GetPropertyByName(nom)
         ancienneValeur = propriete.GetValue() 
         propriete.SetValue(valeur)
Example #30
0
    def __init__(self, parent):
        wx.Dialog.__init__(self, parent, -1, style=wx.DEFAULT_DIALOG_STYLE)
        self.parent = parent

        # Bandeau
        titre = _(u"Recopier des consommations")
        self.SetTitle(titre)
        intro = _(u"Vous pouvez ici recopier les consommations d'une unité sur une autre unité. Sélectionnez les unités à impacter puis cliquez sur Ok.")
        self.ctrl_bandeau = CTRL_Bandeau.Bandeau(self, titre=titre, texte=intro, hauteurHtml=30, nomImage="Images/32x32/Calendrier_modifier.png")

        # Unités
        self.staticbox_unites = wx.StaticBox(self, -1, _(u"Unités"))
        self.ctrl_unite_origine = CTRL_Unite(self)
        self.ctrl_image_recopiage = wx.StaticBitmap(self, -1, wx.Bitmap(Chemins.GetStaticPath(u"Images/16x16/Fleche_droite2.png"), wx.BITMAP_TYPE_ANY))
        self.ctrl_unite_destination = CTRL_Unite(self)

        # Paramètres
        self.staticbox_parametres = wx.StaticBox(self, -1, _(u"Informations à recopier"))
        self.check_param_horaires = wx.CheckBox(self, -1, _(u"Horaires"))
        self.check_param_quantite = wx.CheckBox(self, -1, _(u"Quantité"))
        self.check_param_etiquettes = wx.CheckBox(self, -1, _(u"Etiquettes"))
        self.check_param_etat = wx.CheckBox(self, -1, _(u"Etat"))

        # Options
        self.staticbox_options = wx.StaticBox(self, -1, _(u"Options"))
        self.radio_lignes_affichees = wx.RadioButton(self, -1, _(u"Toutes les lignes affichées"), style=wx.RB_GROUP)
        self.radio_lignes_selectionnees = wx.RadioButton(self, -1, _(u"Toutes les lignes sélectionnées"))

        # Boutons
        self.bouton_aide = CTRL_Bouton_image.CTRL(self, texte=_(u"Aide"), cheminImage="Images/32x32/Aide.png")
        self.bouton_ok = CTRL_Bouton_image.CTRL(self, texte=_(u"Ok"), cheminImage="Images/32x32/Valider.png")
        self.bouton_annuler = CTRL_Bouton_image.CTRL(self, id=wx.ID_CANCEL, texte=_(u"Annuler"), cheminImage="Images/32x32/Annuler.png")

        self.__set_properties()
        self.__do_layout()

        self.Bind(wx.EVT_CHOICE, self.OnChoixUnite, self.ctrl_unite_origine)
        self.Bind(wx.EVT_CHOICE, self.OnChoixUnite, self.ctrl_unite_destination)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bouton_ok)

        # Init
        self.ctrl_unite_origine.SetValeur(UTILS_Parametres.Parametres(mode="get", categorie="recopiage_conso", nom="unite_origine", valeur=None))
        self.ctrl_unite_destination.SetValeur(UTILS_Parametres.Parametres(mode="get", categorie="recopiage_conso", nom="unite_destination", valeur=None))
        self.check_param_horaires.SetValue(UTILS_Parametres.Parametres(mode="get", categorie="recopiage_conso", nom="param_horaires", valeur=True))
        self.check_param_quantite.SetValue(UTILS_Parametres.Parametres(mode="get", categorie="recopiage_conso", nom="param_quantite", valeur=True))
        self.check_param_etiquettes.SetValue(UTILS_Parametres.Parametres(mode="get", categorie="recopiage_conso", nom="param_etiquettes", valeur=True))
        self.check_param_etat.SetValue(UTILS_Parametres.Parametres(mode="get", categorie="recopiage_conso", nom="param_etat", valeur=True))

        option_lignes = UTILS_Parametres.Parametres(mode="get", categorie="recopiage_conso", nom="option_lignes", valeur="lignes_affichees")
        if option_lignes == "lignes_affichees" :
            self.radio_lignes_affichees.SetValue(True)
        if option_lignes == "lignes_selectionnees" :
            self.radio_lignes_selectionnees.SetValue(True)

        self.OnChoixUnite(None)