625 lines
18 KiB
Python
625 lines
18 KiB
Python
'''
|
|
Ce fichier contient les variables globales du systeme
|
|
'''
|
|
from pymongo import MongoClient
|
|
from spellchecker import SpellChecker
|
|
from nltk.stem.snowball import SnowballStemmer
|
|
import spacy
|
|
import logging
|
|
from autocorrect import Speller
|
|
from nltk.corpus import stopwords
|
|
import ela_spacy_common as lsc
|
|
import Env_Data as ENV_DATA
|
|
"""
|
|
Cette variable definit l'environnement de travail
|
|
"""
|
|
|
|
MYSY_ENV = ENV_DATA.MYSY_ENV
|
|
|
|
# Cette variable definit l'url de base du server
|
|
CLIENT_URL_BASE = ""
|
|
|
|
if (MYSY_ENV == "PROD"):
|
|
CONNECTION_STRING = "mongodb://localhost:27017/cherifdb"
|
|
client = MongoClient(CONNECTION_STRING)
|
|
dbname = client['cherifdb']
|
|
CLIENT_URL_BASE = 'https://www.mysy-training.com/'
|
|
|
|
|
|
elif (MYSY_ENV == "DEV"):
|
|
CONNECTION_STRING = "mongodb://localhost:27017/cherifdb_dev"
|
|
client = MongoClient(CONNECTION_STRING)
|
|
dbname = client['cherifdb_dev']
|
|
CLIENT_URL_BASE = 'http://localhost:3009/'
|
|
|
|
elif (MYSY_ENV == "REC"):
|
|
CONNECTION_STRING = "mongodb://localhost:27017/cherifdb_rec"
|
|
client = MongoClient(CONNECTION_STRING)
|
|
dbname = client['cherifdb_rec']
|
|
CLIENT_URL_BASE = 'https://dev.mysy-training.com/'
|
|
|
|
elif (MYSY_ENV == "DEM"):
|
|
CONNECTION_STRING = "mongodb://localhost:27017/cherifdb_demo"
|
|
client = MongoClient(CONNECTION_STRING)
|
|
dbname = client['cherifdb_demo']
|
|
CLIENT_URL_BASE = 'https://demo.mysy-training.com/'
|
|
|
|
|
|
|
|
YTUBES_CONNECTION_STRING = "mongodb://localhost:27017/"
|
|
YTUBES_client = MongoClient(YTUBES_CONNECTION_STRING)
|
|
YTUBES_dbname = YTUBES_client['mysyvideodb']
|
|
|
|
|
|
"""
|
|
Cette Variable definit les port de connexion
|
|
en dev ou en production
|
|
"""
|
|
MYSY_PORT_PROD = 5000
|
|
MYSY_PORT_DEV = 5001
|
|
MYSY_PORT_REC = 5001
|
|
MYSY_PORT_DEM = 5003
|
|
|
|
|
|
|
|
'''
|
|
Cette Variable defini le nombre minimum
|
|
de frequence d'un mot pour qu'il soit indexé.
|
|
|
|
en gros, dans une text, les mots apparaissent moins de 5 fois sont consideré
|
|
comme des mots à faible raisonnance'''
|
|
INDEX_MIN_OCCURENCE = 5
|
|
|
|
|
|
|
|
## Gle Variables
|
|
stemmer = SnowballStemmer(language='french')
|
|
nlp = spacy.load("fr_core_news_sm")
|
|
spell = SpellChecker(language='fr')
|
|
token_fr_pontuation = []
|
|
|
|
'''
|
|
La taille maximal d'un champs à retourner.
|
|
Au dela de 300 caractère, le système rame
|
|
'''
|
|
MAX_CARACT = 300 # Celui est utilisé pour les affichage courts et tronqués, comme sur la page principale du moteur
|
|
MAX_CARACT_DEDUIT = 150
|
|
TOKEN_SIZE = 25
|
|
MAX_CARACT_DETAIL = 1000 # Celui est utilisé pour les affichage globaux (si le texte est trop long, il va tronquer un peut mais cela permet de cadrer un peu les choses
|
|
|
|
|
|
|
|
DEBUG_LEVEL = logging.DEBUG
|
|
LOG_FILE_NAME = "./Log/log_file.log"
|
|
|
|
TEMPORARY_DIRECTORY_V2 = "./temp_direct/"
|
|
|
|
upload_folder = "./Data/"
|
|
ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif', 'webp'}
|
|
logging.basicConfig( level=DEBUG_LEVEL, filename=LOG_FILE_NAME)
|
|
AUTORIZED_SOURCE_IPV4=["127.0.0.1", "localhost", "88.170.110.220", "192.168.1.21", "192.168.1.48"]
|
|
|
|
|
|
#assign the default stopwords list to a variable
|
|
STOP_WORDS = spacy.lang.fr.stop_words.STOP_WORDS
|
|
stopWords = set(stopwords.words('french'))
|
|
sentence = "Bouygues a eu une coupure de réseau à Marseille chez ses clients marseillais et son couteau"
|
|
lsc.update_stopWords(stopWords)
|
|
|
|
#print(type(stopWords))
|
|
|
|
lsc.update_token_fr_pontuation(token_fr_pontuation)
|
|
spell_fr = Speller(lang='fr')
|
|
|
|
|
|
'''
|
|
Repertoire de stockage de video YouTubes
|
|
'''
|
|
YTUBES_ENSCRIPT_LOCATION = ""
|
|
|
|
|
|
'''
|
|
Email recever des alertes internes
|
|
'''
|
|
INTERNAL_MAIL_RECEVER = "contact@mysy-training.com"
|
|
INTERNAL_MAIL_SENDER = "contact@mysy-training.com"
|
|
INTERNAL_TEL_RECEVER = "+33769203945"
|
|
INTERNAL_TEL_SENDER = "+33769203945"
|
|
|
|
|
|
'''
|
|
Cette variable definit le nombre max
|
|
de retour à faire sur une requet de recherche
|
|
'''
|
|
QUERY_LIMIT_ROW = 50
|
|
|
|
'''
|
|
Cette variable definit le nombre max
|
|
retour à faire sur page d'acceuil '''
|
|
MAINPAGE_QUERY_LIMIT_ROW =50
|
|
|
|
|
|
'''
|
|
Cette variable definit le nombre de mots retourné dans le
|
|
cas d'une aide à avec une recherche vide
|
|
'''
|
|
HELP_WORD_QUERY_LIMIT = 3
|
|
|
|
|
|
'''
|
|
Les formats d'image accepté
|
|
'''
|
|
IMG_FORMAT=['jpg', 'jpeg', 'png', 'jpe', 'webp', 'gif']
|
|
|
|
"""
|
|
Image au formation PNG UNIQUEMENT
|
|
"""
|
|
IMG_PNG_FORMAT=['png']
|
|
|
|
'''
|
|
Sendinblue clea API
|
|
'''
|
|
SENDINBLUE_API_KEY = "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"
|
|
|
|
'''
|
|
Taux de TVA
|
|
'''
|
|
TVA_TAUX = 0.2
|
|
|
|
|
|
"""
|
|
Variable defini le mombre max de mots clés dans une formation
|
|
"""
|
|
MAX_KEYWORD = 3
|
|
|
|
"""
|
|
Connexion SFTP
|
|
"""
|
|
#MYSY_FTP_HOST = "192.168.1.21"
|
|
MYSY_FTP_HOST = "88.170.110.220"
|
|
MYSY_FTP_LOGIN = "mysysftpuser"
|
|
MYSY_FTP_PWD = "JvMysedrBsDMy01!+"
|
|
|
|
"""
|
|
Repertoire de depot des factures
|
|
"""
|
|
#INVOICE_DIRECTORY = "/var/www/html/sftp_iexercice/mysy_invoices"
|
|
INVOICE_DIRECTORY = "./Invoices/"
|
|
|
|
"""
|
|
Repertoire pour les liste d'emargement
|
|
"""
|
|
EMARGEMENT_DIRECTORY = "./Emargement/"
|
|
|
|
"""
|
|
"""
|
|
|
|
"""
|
|
Repertoire racine du ftp ou sont stocké les factures
|
|
"""
|
|
INVOICE_FTP_DIRECTORY = "https://sftp.iexercice.com/mysy_invoices/"
|
|
|
|
|
|
if (MYSY_ENV == "PROD"):
|
|
INVOICE_FTP_LOCAL_STORAGE_DIRECTORY = "/var/www/html/sftp_iexercice/mysy_invoices/"
|
|
|
|
elif (MYSY_ENV == "DEV"):
|
|
INVOICE_FTP_LOCAL_STORAGE_DIRECTORY = "/var/www/html/sftp_iexercice/mysy_invoices_dev/"
|
|
|
|
elif (MYSY_ENV == "REC"):
|
|
INVOICE_FTP_LOCAL_STORAGE_DIRECTORY = "/var/www/html/sftp_iexercice/mysy_invoices_rec/"
|
|
|
|
elif (MYSY_ENV == "REC"):
|
|
INVOICE_FTP_LOCAL_STORAGE_DIRECTORY = "/var/www/html/sftp_iexercice/mysy_invoices_demo/"
|
|
|
|
"""
|
|
Cette Variable definit le nombre de formation associées à retourner
|
|
"""
|
|
LIMIT_ASSOCIATED_TRAINING = 3
|
|
|
|
"""
|
|
Valeur MAX du display ranking accordé aux compte de type demo
|
|
"""
|
|
DEMO_RANKING_VALUE = "50"
|
|
|
|
|
|
"""
|
|
Sendinblu compte support
|
|
"""
|
|
SENDINBLUE_API_KEY_SUPPORT = "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"
|
|
|
|
|
|
"""
|
|
Variable SMTP de OFFICE 365, suite a l'abandon de sendinblu comme relay stmp
|
|
"""
|
|
if (MYSY_ENV == "PROD"):
|
|
O365_SMTP_COUNT_password = 'Xad47198'
|
|
O365_SMTP_COUNT_smtpsrv = "smtp.office365.com"
|
|
O365_SMTP_COUNT_user = "support@mysy-training.com"
|
|
O365_SMTP_COUNT_From_User = "support@mysy-training.com"
|
|
O365_SMTP_COUNT_port = 587
|
|
|
|
if (MYSY_ENV == "REC"):
|
|
O365_SMTP_COUNT_password = 'Xad47198'
|
|
O365_SMTP_COUNT_smtpsrv = "smtp.office365.com"
|
|
O365_SMTP_COUNT_user = "support@mysy-training.com"
|
|
O365_SMTP_COUNT_From_User = "support@mysy-training.com"
|
|
O365_SMTP_COUNT_port = 587
|
|
|
|
if (MYSY_ENV == "DEM"):
|
|
O365_SMTP_COUNT_password = 'Xad47198'
|
|
O365_SMTP_COUNT_smtpsrv = "smtp.office365.com"
|
|
O365_SMTP_COUNT_user = "support@mysy-training.com"
|
|
O365_SMTP_COUNT_From_User = "support@mysy-training.com"
|
|
O365_SMTP_COUNT_port = 587
|
|
|
|
|
|
if (MYSY_ENV == "DEV"):
|
|
"""O365_SMTP_COUNT_password = 'GomboyaVince1234+'
|
|
O365_SMTP_COUNT_smtpsrv = "smtp.office365.com"
|
|
O365_SMTP_COUNT_user = "cbalde@mysy-training.com"
|
|
O365_SMTP_COUNT_From_User = "cbalde@mysy-training.com"
|
|
O365_SMTP_COUNT_port = 587"""
|
|
|
|
O365_SMTP_COUNT_password = 'Sod78!526+'
|
|
O365_SMTP_COUNT_smtpsrv = "smtp.office365.com"
|
|
O365_SMTP_COUNT_user = "communication@mysytraining.fr"
|
|
O365_SMTP_COUNT_From_User = "communication@mysytraining.fr"
|
|
O365_SMTP_COUNT_port = 587
|
|
|
|
|
|
|
|
|
|
"""
|
|
Repertoire temporaire de telechargement ou de creation de fichier
|
|
"""
|
|
TEMPORARY_DIRECTORY = "./temp_direct"
|
|
|
|
|
|
"""
|
|
Nombre maximum de participants importable par csv
|
|
"""
|
|
MAX_PARTICIPANT_BY_CSV = 50
|
|
|
|
"""
|
|
Nombre maximum de clients de partner importable par csv
|
|
"""
|
|
MAX_PARTNER_CLIENT_BY_CSV = 100
|
|
|
|
|
|
|
|
"""
|
|
Stripe : Nom des produits et prix et la clé de config
|
|
"""
|
|
if (MYSY_ENV == "PROD"):
|
|
STRIPE_GOLD_PRICE_ID = "price_1NG2HdAbmaEugrFTMbzVRwj1"
|
|
STRIPE_GOLD_PRICE_ID_50_OFF = "price_1NG2HsAbmaEugrFTAiHh2SzD"
|
|
STRIPE_GOLD_PRICE_ID_95_OFF = "price_1NG2IJAbmaEugrFTMPdMIzNH"
|
|
|
|
STRIPE_STANDARD_PRICE_ID = "price_1NG2JmAbmaEugrFTBwRDLlbs"
|
|
STRIPE_STANDARD_PRICE_ID_50_OFF = "price_1NG2GtAbmaEugrFTyJavt1Lx"
|
|
STRIPE_STANDARD_PRICE_ID_95_OFF = "price_1NG2HBAbmaEugrFTaMsDGikP"
|
|
|
|
|
|
STRIPE_STANDARD_PRICE_ID = "price_1MUSoGAbmaEugrFTTjz5lSye"
|
|
STRIPE_TEST_PRICE_ID = "price_1MT0f0AbmaEugrFTJjdZZXG7"
|
|
STRIPE_CONFIG_KEY_PUB = "pk_live_51LUUfAAbmaEugrFTyfNe4Dj0vbxc5qXQqNs0rztjAKy8oSlc5EEQyJGjA8Z5kXmP2gvUMcYLUBYCIyWWzLCw59RY00PtGInkVf"
|
|
STRIPE_CONFIG_API_KEY = "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"
|
|
|
|
elif (MYSY_ENV == "DEV"):
|
|
STRIPE_GOLD_PRICE_ID = "price_1MT3FmAbmaEugrFTZ5vyJRcZ"
|
|
STRIPE_GOLD_PRICE_ID_50_OFF = "price_1NEpALAbmaEugrFTCDhlJyo3"
|
|
STRIPE_GOLD_PRICE_ID_95_OFF = "price_1NFyUEAbmaEugrFT5sRXixeZ"
|
|
|
|
|
|
STRIPE_STANDARD_PRICE_ID = "price_1MT3FLAbmaEugrFTDgw7MVgb"
|
|
STRIPE_STANDARD_PRICE_ID_50_OFF = "price_1NEpCOAbmaEugrFTcBnOf89X"
|
|
STRIPE_STANDARD_PRICE_ID_95_OFF = "price_1NFySwAbmaEugrFTxrQHhFN9"
|
|
|
|
|
|
|
|
STRIPE_TEST_PRICE_ID = "price_1MT3FLAbmaEugrFTDgw7MVgb"
|
|
STRIPE_CONFIG_KEY_PUB = "pk_test_51LUUfAAbmaEugrFTI25uZBD3IFjbtaL6jUfRV83diDf7nco8worna4NGKhMHbPP71WCwT5EHFRdDNatxPrJWwgZ300kgH5EO4p"
|
|
STRIPE_CONFIG_API_KEY = "sk_test_51LUUfAAbmaEugrFTrWsfcBWZtbBh9r3HCa2sgeyikG808LjSk3bAdFhV6KxgRZ3vFxooa6RE0c5zBkTuOUrKkyjy00BrsIXAPs"
|
|
|
|
|
|
|
|
elif (MYSY_ENV == "REC"):
|
|
STRIPE_GOLD_PRICE_ID = "price_1MT3FmAbmaEugrFTZ5vyJRcZ"
|
|
STRIPE_GOLD_PRICE_ID_50_OFF = "price_1NEpALAbmaEugrFTCDhlJyo3"
|
|
STRIPE_GOLD_PRICE_ID_95_OFF = "price_1NFyUEAbmaEugrFT5sRXixeZ"
|
|
STRIPE_GOLD_PRICE_ID_100_OFF = "price_1NEpeJAbmaEugrFTXT5OFciX"
|
|
|
|
STRIPE_STANDARD_PRICE_ID = "price_1MT3FLAbmaEugrFTDgw7MVgb"
|
|
STRIPE_STANDARD_PRICE_ID_50_OFF = "price_1NEpCOAbmaEugrFTcBnOf89X"
|
|
STRIPE_STANDARD_PRICE_ID_95_OFF = "price_1NFySwAbmaEugrFTxrQHhFN9"
|
|
STRIPE_STANDARD_PRICE_ID_100_OFF = "price_1NEpbrAbmaEugrFTgLABbIOF"
|
|
|
|
|
|
STRIPE_TEST_PRICE_ID = "price_1MT3FLAbmaEugrFTDgw7MVgb"
|
|
STRIPE_CONFIG_KEY_PUB = "pk_test_51LUUfAAbmaEugrFTI25uZBD3IFjbtaL6jUfRV83diDf7nco8worna4NGKhMHbPP71WCwT5EHFRdDNatxPrJWwgZ300kgH5EO4p"
|
|
STRIPE_CONFIG_API_KEY = "sk_test_51LUUfAAbmaEugrFTrWsfcBWZtbBh9r3HCa2sgeyikG808LjSk3bAdFhV6KxgRZ3vFxooa6RE0c5zBkTuOUrKkyjy00BrsIXAPs"
|
|
|
|
elif (MYSY_ENV == "DEM"):
|
|
STRIPE_GOLD_PRICE_ID = "price_1MT3FmAbmaEugrFTZ5vyJRcZ"
|
|
STRIPE_GOLD_PRICE_ID_50_OFF = "price_1NEpALAbmaEugrFTCDhlJyo3"
|
|
STRIPE_GOLD_PRICE_ID_95_OFF = "price_1NFyUEAbmaEugrFT5sRXixeZ"
|
|
STRIPE_GOLD_PRICE_ID_100_OFF = "price_1NEpeJAbmaEugrFTXT5OFciX"
|
|
|
|
STRIPE_STANDARD_PRICE_ID = "price_1MT3FLAbmaEugrFTDgw7MVgb"
|
|
STRIPE_STANDARD_PRICE_ID_50_OFF = "price_1NEpCOAbmaEugrFTcBnOf89X"
|
|
STRIPE_STANDARD_PRICE_ID_95_OFF = "price_1NFySwAbmaEugrFTxrQHhFN9"
|
|
STRIPE_STANDARD_PRICE_ID_100_OFF = "price_1NEpbrAbmaEugrFTgLABbIOF"
|
|
|
|
|
|
STRIPE_TEST_PRICE_ID = "price_1MT3FLAbmaEugrFTDgw7MVgb"
|
|
STRIPE_CONFIG_KEY_PUB = "pk_test_51LUUfAAbmaEugrFTI25uZBD3IFjbtaL6jUfRV83diDf7nco8worna4NGKhMHbPP71WCwT5EHFRdDNatxPrJWwgZ300kgH5EO4p"
|
|
STRIPE_CONFIG_API_KEY = "sk_test_51LUUfAAbmaEugrFTrWsfcBWZtbBh9r3HCa2sgeyikG808LjSk3bAdFhV6KxgRZ3vFxooa6RE0c5zBkTuOUrKkyjy00BrsIXAPs"
|
|
|
|
|
|
"""
|
|
Limite des zones de texte des formation
|
|
- porgramme
|
|
- objectif
|
|
- description
|
|
"""
|
|
CLASS_ZONE_PROGRAM_LIMIT = 1300
|
|
CLASS_ZONE_DESCRIP_LIMIT = 1000
|
|
CLASS_ZONE_OBJECTIF_LIMIT = 1000
|
|
|
|
|
|
"""
|
|
MariaDB database access
|
|
"""
|
|
|
|
if (MYSY_ENV == "PROD"):
|
|
MYSY_MARIADB_USER = "mysy_mariadb_user"
|
|
MYSY_MARIADB_USER_PASS = "fB5z%M)GG&g!n2c"
|
|
MYSY_MARIADB_HOST = "192.168.1.21"
|
|
MYSY_MARIADB_PORT = 3306
|
|
MYSY_LMS_BDD = "mysy_db_chamilo_prod"
|
|
MYSY_LMS_URL = "https://prodlms.mysy-hosting.fr/"
|
|
MYSY_LMS_BASE_DIRECTORY = "/var/www/html/chamilo_mysy_prod/"
|
|
LMS_BAS_URL = "mysy-hosting.fr/"
|
|
|
|
|
|
""" DEV on localHost
|
|
elif (MYSY_ENV == "DEV"):
|
|
MYSY_MARIADB_USER = "mysy_mariadb_user"
|
|
MYSY_MARIADB_USER_PASS = "fB5z%M)GG&g!n2c"
|
|
MYSY_MARIADB_HOST = "127.0.0.1"
|
|
MYSY_MARIADB_PORT = 3306
|
|
MYSY_LMS_BDD = "chamilo"
|
|
MYSY_LMS_URL = "http://localhost/mysylms/lmsdev/"
|
|
MYSY_LMS_BASE_DIRECTORY = "/var/www/html/chamilo_mysy/"
|
|
LMS_BAS_URL = "mysy-training.fr/"
|
|
|
|
|
|
elif (MYSY_ENV == "DEV"):
|
|
MYSY_MARIADB_USER = "mysy_mariadb_user"
|
|
MYSY_MARIADB_USER_PASS = "fB5z%M)GG&g!n2c"
|
|
MYSY_MARIADB_HOST = "192.168.1.21"
|
|
#MYSY_MARIADB_HOST = "88.170.110.220"
|
|
MYSY_MARIADB_PORT = 3306
|
|
MYSY_LMS_BDD = "chamilo_dev2"
|
|
MYSY_LMS_URL = "https://lms.mysy-training.com/"
|
|
MYSY_LMS_BASE_DIRECTORY = "/var/www/html/chamilo_mysy/"
|
|
LMS_BAS_URL = "mysy-training.fr/"
|
|
"""
|
|
elif (MYSY_ENV == "DEV"):
|
|
MYSY_MARIADB_USER = "mysy_mariadb_user"
|
|
MYSY_MARIADB_USER_PASS = "fB5z%M)GG&g!n2c"
|
|
MYSY_MARIADB_HOST = "88.170.110.220"
|
|
MYSY_MARIADB_PORT = 3306
|
|
MYSY_LMS_BDD = "chamilo_dev2"
|
|
MYSY_LMS_URL = "https://lms.mysy-training.com/"
|
|
MYSY_LMS_BASE_DIRECTORY = "/var/www/html/chamilo_mysy/"
|
|
LMS_BAS_URL = "mysy-training.com/"
|
|
|
|
|
|
elif (MYSY_ENV == "REC"):
|
|
MYSY_MARIADB_USER = "mysy_mariadb_user"
|
|
MYSY_MARIADB_USER_PASS = "fB5z%M)GG&g!n2c"
|
|
MYSY_MARIADB_HOST = "192.168.1.21"
|
|
MYSY_MARIADB_PORT = 3306
|
|
MYSY_LMS_BDD = "mysy_db_chamilo_rec"
|
|
MYSY_LMS_URL = "https://reclms.mysy-training.com/"
|
|
MYSY_LMS_BASE_DIRECTORY = "/var/www/html/chamilo_mysy_rec/"
|
|
LMS_BAS_URL = "mysy-hosting.com/"
|
|
|
|
elif (MYSY_ENV == "DEM"):
|
|
MYSY_MARIADB_USER = "mysy_mariadb_user"
|
|
MYSY_MARIADB_USER_PASS = "fB5z%M)GG&g!n2c"
|
|
MYSY_MARIADB_HOST = "192.168.1.21"
|
|
MYSY_MARIADB_PORT = 3306
|
|
MYSY_LMS_BDD = "mysy_db_chamilo_rec"
|
|
MYSY_LMS_URL = "https://demolms.mysy-training.com/"
|
|
MYSY_LMS_BASE_DIRECTORY = "/var/www/html/chamilo_mysy_demo/"
|
|
LMS_BAS_URL = "mysy-hosting.com/"
|
|
|
|
|
|
|
|
|
|
"""
|
|
Variable pour definir les unité de durée acceptées pour une formation
|
|
"""
|
|
CLASS_DURATION_UNIT = ['heure', 'jour', 'semaine', 'mois', 'annee', 'user_rythme']
|
|
# user_rythme : definit les formations ou la durée depend de la progression de l'utilisateur
|
|
|
|
|
|
"""
|
|
Varibale definit la taille maximiale des repertoire à créer par mysy
|
|
"""
|
|
DIRECTORY_MAX_LENGTH = 50
|
|
|
|
|
|
"""
|
|
Variable defini les type de remise (code promo) acceptés:
|
|
percent ou fix
|
|
"""
|
|
CODE_PROMO_TYPE = ['fix', 'percent']
|
|
|
|
"""
|
|
Variable qui defini les type de contact possible
|
|
"""
|
|
CONTACT_TYPE = ['liv', 'fac', 'aut', 'nor']
|
|
|
|
"""
|
|
Variable qui defini les collections qui accepte des contact
|
|
"""
|
|
CONTACT_COLLECTION = ['user_account', 'partnair_account', 'partner_client']
|
|
|
|
"""
|
|
Variable qui defini les type d'activité possible
|
|
"""
|
|
ACTIVITE_TYPE = ['email', 'call', 'meeting', 'cmd', 'devis', 'facture', 'autre']
|
|
|
|
"""
|
|
Variable qui defini les collections qui accepte les activités
|
|
"""
|
|
ACTIVITE_COLLECTION = ['user_account', 'partnair_account', 'partner_client']
|
|
|
|
"""
|
|
Variable qui defini les status qui sont acceptés pour une activité
|
|
encours : 0
|
|
fait : 1
|
|
annulé : -1
|
|
"""
|
|
|
|
ACTIVITE_STATUS = ['0', '-1', '1']
|
|
|
|
"""
|
|
Les types d'image authorisé a etre stockés en base de données
|
|
"""
|
|
BDD_STOCKAGE_IMG = ['logo', 'cachet', 'user']
|
|
|
|
|
|
"""
|
|
Pour les session, on definit les étapes suivantes :
|
|
0 => En projet
|
|
1 => En planification
|
|
2 => Planifiée
|
|
3 => Terminée
|
|
4 => Facturée
|
|
-1 => Annulée
|
|
"""
|
|
SESSION_ETAPE = ['-1', '0', '1', '2', '3', '4', '5']
|
|
|
|
|
|
"""
|
|
Les profils des ressources humaines autorisé
|
|
"""
|
|
RESSOURCE_PROFIL = ['enseignant', 'cadre', 'employe', 'autre', '']
|
|
|
|
"""
|
|
Dans le processus d'inscription, les statuts accepté sont :
|
|
- '-1' => Annulé
|
|
- 0 => Préinscription
|
|
- 1 => Inscription (validée)
|
|
- 2 => Encours (Inscription en cours de creation, ici, on ne declenche aucun email)
|
|
"""
|
|
INSCRIPTION_STATUS = ['-1', '0', '1', '2']
|
|
|
|
|
|
"""
|
|
Gestion de modele de courrier : Type de courrier autorisé
|
|
"""
|
|
MODELE_DOCUMENT_TYPE = ['sms', 'email', 'pdf']
|
|
|
|
"""
|
|
Gestion des commandes et devis des partenaires
|
|
"""
|
|
|
|
PARTNER_ORDER_TYPE = ['devis', 'commande']
|
|
|
|
"""
|
|
En termes de process, un document de type commande peut avoir le statut de :
|
|
• -1 => Annulé
|
|
• 0 => Brouillon
|
|
• 1 => En cours
|
|
• 2 => Traité (prêt à être facturée)
|
|
• 3 => Facturé (la facture est traitée dans un autre document).
|
|
"""
|
|
PARTNER_ORDER_STATUS = ['-1', '0', '1', '2', '3']
|
|
|
|
"""
|
|
Les devis :
|
|
En termes de process, un document de type devis peut avoir le un des statuts ci-dessous :
|
|
• Brouillon => valeur 0
|
|
• En cours => valeur 1
|
|
• Fermé => valeur 2
|
|
• Annulé => valeur -1
|
|
"""
|
|
PARTNER_QUOTATION_STATUS = ['-1', '0', '1', '2']
|
|
|
|
|
|
"""
|
|
Pour mettre en place un système de configuration global, on va definir les valeur acceptée
|
|
"""
|
|
PARTNER_BASE_CONFIG_NAME = ['tva', 'smtp_server', 'smtp_user', 'smtp_user_pwd', 'smtp_count_from_name',
|
|
'smtp_count_port', 'partner_smtp', 'partner_jour_heure' ]
|
|
|
|
|
|
"""
|
|
Pour la personnalisation des champ, seuls certains objet metier / collection
|
|
sont autorisés
|
|
"""
|
|
PERSONALISATION_AUTORIZED_COLLECTION = ['ressource_humaine', 'ressource_materielle', 'partner_client',
|
|
'myclass', 'session_formation', 'inscription']
|
|
|
|
|
|
|
|
"""
|
|
Les objets metiers qui accepte d'etre lié à un agenda.
|
|
Par defaut il en y a 2 :
|
|
- ressource_humaine et
|
|
- ressource_materielle
|
|
"""
|
|
ALLOWED_AGENDA_RELATED_COLLECTION = ['ressource_humaine', 'ressource_materielle', 'inscription', 'apprenant']
|
|
|
|
"""
|
|
Les types de location pour une session (intra ou extra ou autre)
|
|
"""
|
|
TRAINING_LOCATION_TYPE = ['intra', 'extra', 'autre', '']
|
|
|
|
|
|
"""
|
|
Gestion des champs spécifique : Type de champs autorisé
|
|
"""
|
|
SPECIFIC_FIELD_TYPE = ['float', 'string']
|
|
|
|
"""
|
|
Gestion des type d'evenement accepté dans un egend
|
|
- absence
|
|
- planning
|
|
- etc
|
|
"""
|
|
AGENDA_EVENT_TYPE = ['absence', 'planning', 'autre', '']
|
|
|
|
"""
|
|
Limite pour l'affichage des historique d'action coté front.
|
|
Par exemple on va afficher les 100 dernières action, mais pas tout.
|
|
"""
|
|
HISTORIQUE_MAX_EVENT = 100
|
|
|
|
"""
|
|
Type d'apprenant à l'inscription d'une session de formation
|
|
• 0 => autre
|
|
• 1 => salariés
|
|
• 2 => apprentis
|
|
• 3 => particuliers
|
|
• 4 => sans_emploi
|
|
"""
|
|
INSCRIPTION_TYPE_APPRENANT = [ '0', '1', '2', '3', '4']
|
|
|
|
|
|
"""
|
|
Gestion des prix d'achat / cout employé / cout location materiel
|
|
Ici on definit la périodicité
|
|
"""
|
|
PURCHASE_PRICE_PERIODICITY = ['fixe', 'heure', 'jour', 'mois', 'annee', ]
|
|
|
|
"""
|
|
Les civilité
|
|
"""
|
|
CIVILITE = ['m', 'mme', 'neutre', ] |