30/04/2025 - 15h

Signed-off-by: cherif <cherif.balde@yahoo.fr>
master
cherif 2025-04-30 20:53:03 +02:00
parent 9f940f10f1
commit 198b6c8fd6
6 changed files with 4250 additions and 40 deletions

View File

@ -1,29 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="29/03/2025 - 21h">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="25/04/2025 - 15h">
<change afterPath="$PROJECT_DIR$/equipe_team_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Collection_Historique.py" beforeDir="false" afterPath="$PROJECT_DIR$/Collection_Historique.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/GlobalVariable.py" beforeDir="false" afterPath="$PROJECT_DIR$/GlobalVariable.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Inscription_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/Inscription_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Job_Cron.py" beforeDir="false" afterPath="$PROJECT_DIR$/Job_Cron.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Job_Cron_Common.py" beforeDir="false" afterPath="$PROJECT_DIR$/Job_Cron_Common.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Log/log_file.log" beforeDir="false" afterPath="$PROJECT_DIR$/Log/log_file.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Session_Formation.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Session_Formation_Sequence.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation_Sequence.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/agenda.py" beforeDir="false" afterPath="$PROJECT_DIR$/agenda.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/class_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/class_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ela_factures_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/ela_factures_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ela_user_account.py" beforeDir="false" afterPath="$PROJECT_DIR$/ela_user_account.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lms_chamilo/mysy_lms.py" beforeDir="false" afterPath="$PROJECT_DIR$/lms_chamilo/mysy_lms.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/domaine_formation_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/domaine_formation_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/note_evaluation_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/note_evaluation_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/partners.py" beforeDir="false" afterPath="$PROJECT_DIR$/partners.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/prj_common.py" beforeDir="false" afterPath="$PROJECT_DIR$/prj_common.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ressources_humaines.py" beforeDir="false" afterPath="$PROJECT_DIR$/ressources_humaines.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ressources_materiels.py" beforeDir="false" afterPath="$PROJECT_DIR$/ressources_materiels.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/strype_payement.py" beforeDir="false" afterPath="$PROJECT_DIR$/strype_payement.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/user_access_right.py" beforeDir="false" afterPath="$PROJECT_DIR$/user_access_right.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -38,7 +22,13 @@
</option>
</component>
<component name="Git.Settings">
<option name="PREVIOUS_COMMIT_AUTHORS">
<list>
<option value="cherif &lt;cherif.balde@yahoo.fr&gt;" />
</list>
</option>
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
<option name="SIGN_OFF_COMMIT" value="true" />
</component>
<component name="MarkdownSettingsMigration">
<option name="stateVersion" value="1" />
@ -94,20 +84,6 @@
<option name="presentableId" value="Default" />
<updated>1680804787304</updated>
</task>
<task id="LOCAL-00398" summary="19/09/2024 - 20h">
<created>1726770477810</created>
<option name="number" value="00398" />
<option name="presentableId" value="LOCAL-00398" />
<option name="project" value="LOCAL" />
<updated>1726770477810</updated>
</task>
<task id="LOCAL-00399" summary="23/09/2024 - 17h">
<created>1727105920855</created>
<option name="number" value="00399" />
<option name="presentableId" value="LOCAL-00399" />
<option name="project" value="LOCAL" />
<updated>1727105920856</updated>
</task>
<task id="LOCAL-00400" summary="25/09/2024 - 15h">
<created>1727271830872</created>
<option name="number" value="00400" />
@ -437,7 +413,21 @@
<option name="project" value="LOCAL" />
<updated>1743280368479</updated>
</task>
<option name="localTasksCounter" value="447" />
<task id="LOCAL-00447" summary="25/04/2025 - 15h">
<created>1745587661778</created>
<option name="number" value="00447" />
<option name="presentableId" value="LOCAL-00447" />
<option name="project" value="LOCAL" />
<updated>1745587661779</updated>
</task>
<task id="LOCAL-00448" summary="25/04/2025 - 15h">
<created>1745587733831</created>
<option name="number" value="00448" />
<option name="presentableId" value="LOCAL-00448" />
<option name="project" value="LOCAL" />
<updated>1745587733831</updated>
</task>
<option name="localTasksCounter" value="449" />
<servers />
</component>
<component name="Vcs.Log.Tabs.Properties">
@ -479,7 +469,6 @@
</option>
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="25/12/2024 - 22h30" />
<MESSAGE value="sdf" />
<MESSAGE value="sdfd" />
<MESSAGE value="sdfdd" />
@ -504,6 +493,7 @@
<MESSAGE value="10/03/2025 - 13h" />
<MESSAGE value="29/03/2025 - 9h" />
<MESSAGE value="29/03/2025 - 21h" />
<option name="LAST_COMMIT_MESSAGE" value="29/03/2025 - 21h" />
<MESSAGE value="25/04/2025 - 15h" />
<option name="LAST_COMMIT_MESSAGE" value="25/04/2025 - 15h" />
</component>
</project>

View File

@ -322,11 +322,18 @@ if (MYSY_ENV == "DEV"):
O365_SMTP_COUNT_port = 587
"""
# Tester le relay smtp perso (maison)
O365_SMTP_COUNT_password = 'cherif'
# Tester le relay smtp perso (maison - DIRTY MAIL)
"""O365_SMTP_COUNT_password = 'cherif'
O365_SMTP_COUNT_smtpsrv = "srvdmz.iexercice.com"
O365_SMTP_COUNT_user = "clientmail-vm2"
O365_SMTP_COUNT_From_User = "clientmail-vm2@iexercice.com"
O365_SMTP_COUNT_port = 587"""
# Tester le relay smtp perso (maison - mysy-training.fr)
O365_SMTP_COUNT_password = 'cherif'
O365_SMTP_COUNT_smtpsrv = "srvdmz.mysy-training.fr"
O365_SMTP_COUNT_user = "cbalde"
O365_SMTP_COUNT_From_User = "cbalde@mysy-training.fr"
O365_SMTP_COUNT_port = 587

File diff suppressed because one or more lines are too long

View File

@ -99,8 +99,6 @@ def Add_Class_Domaine(diction):
return False, " Un domaine avec le code '" + str(diction['code']) + "' existe déjà "
new_data = diction
del diction['token']
@ -185,6 +183,21 @@ def Update_Class_domaine(diction):
return False, " L'identifiant de le domaine est invalide "
# Verifier que code n'est pas pris par un autre domaine
is_existe_class_domaine = MYSY_GV.dbname['class_domaine'].count_documents({'code': str(diction['code']),
'valide': '1',
'partner_owner_recid': str(
my_partner['recid']),
"_id": {"$ne": ObjectId(
str(diction['_id']))}
})
if (is_existe_class_domaine > 0):
mycommon.myprint(
str(inspect.stack()[0][3]) + " Un domaine avec le code '" + str(diction['code']) + "' existe déjà ")
return False, " Un domaine avec le code '" + str(diction['code']) + "' existe déjà "
local_id = str(diction['_id'])
del diction['token']

1087
equipe_team_mgt.py Normal file

File diff suppressed because it is too large Load Diff

112
main.py
View File

@ -95,6 +95,7 @@ import suivi_pedagogique_mgt as suivi_pedagogique_mgt
import partner_produit_service_mgt as partner_produit_service_mgt
import model_planning_sequence_mgt as model_planning_sequence_mgt
import base_partner_catalog_config as base_partner_catalog_config
import equipe_team_mgt as equipe_team_mgt
import base_document_automatic_setup as base_document_automatic_setup
@ -12042,6 +12043,117 @@ def Monitoring_check_if_site_is_up():
return jsonify(status=localStatus, message=message )
"""
API pour ajouter une équipe d'employé (ex: equipe commerciale
"""
@app.route('/myclass/api/Add_Equipe_Team/', methods=['POST','GET'])
@crossdomain(origin='*')
def Add_Equipe_Team():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Add_Equipe_Team : payload = ",payload)
localStatus, message= equipe_team_mgt.Add_Equipe_Team(payload)
return jsonify(status=localStatus, message=message )
"""
API pour mettre à jour une équipe d'employé (ex: equipe commerciale
"""
@app.route('/myclass/api/Update_Equipe_Team/', methods=['POST','GET'])
@crossdomain(origin='*')
def Update_Equipe_Team():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Update_Equipe_Team : payload = ",payload)
localStatus, message= equipe_team_mgt.Update_Equipe_Team(payload)
return jsonify(status=localStatus, message=message )
"""
API pour mettre supprimer une équipe d'employé (ex: equipe commerciale
"""
@app.route('/myclass/api/Delete_Equipe_Team/', methods=['POST','GET'])
@crossdomain(origin='*')
def Delete_Equipe_Team():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Delete_Equipe_Team : payload = ",payload)
localStatus, message= equipe_team_mgt.Delete_Equipe_Team(payload)
return jsonify(status=localStatus, message=message )
"""
API pour recuperer la liste des équipes d'employé (ex: equipe commerciale) d'un partenaire
"""
@app.route('/myclass/api/Get_List_Equipe_Team/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_List_Equipe_Team():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_List_Equipe_Team : payload = ",payload)
localStatus, message= equipe_team_mgt.Get_List_Equipe_Team(payload)
return jsonify(status=localStatus, message=message )
"""
API pour recuperer la liste des équipes d'employé (ex: equipe commerciale) d'un partenaire
avec des filtres sur :
- code
- description
- membre (nom ou prenom ) equipe
"""
@app.route('/myclass/api/Get_List_Equipe_Team_With_Filter/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_List_Equipe_Team_With_Filter():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_List_Equipe_Team_With_Filter : payload = ",payload)
localStatus, message= equipe_team_mgt.Get_List_Equipe_Team_With_Filter(payload)
return jsonify(status=localStatus, message=message )
"""
API pour recuperer les données d'une équipe d'employés (ex: equipe commerciale) d'un partenaire,
y compris les membres
"""
@app.route('/myclass/api/Get_Given_Equipe_Team_With_Members/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_Given_Equipe_Team_With_Members():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_Given_Equipe_Team_With_Members : payload = ",payload)
localStatus, message= equipe_team_mgt.Get_Given_Equipe_Team_With_Members(payload)
return jsonify(status=localStatus, message=message )
"""
API pour ajouter / mettre à jour les membres d'une équipe
"""
@app.route('/myclass/api/Delete_Groupe_Equipe_Team_Membre/', methods=['POST','GET'])
@crossdomain(origin='*')
def Delete_Groupe_Equipe_Team_Membre():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Delete_Groupe_Equipe_Team_Membre : payload = ",payload)
localStatus, message= equipe_team_mgt.Delete_Groupe_Equipe_Team_Membre(payload)
return jsonify(status=localStatus, message=message )
"""
API pour supprimer les membres d'une équipe
"""
@app.route('/myclass/api/Add_Update_Equipe_Team_Membres/', methods=['POST','GET'])
@crossdomain(origin='*')
def Add_Update_Equipe_Team_Membres():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Add_Update_Equipe_Team_Membres : payload = ",payload)
localStatus, message= equipe_team_mgt.Add_Update_Equipe_Team_Membres(payload)
return jsonify(status=localStatus, message=message )
if __name__ == '__main__':
print(" debut api")
context = SSL.Context(SSL.SSLv23_METHOD)