Skip to content
Snippets Groups Projects
Commit 5e9068ca authored by Benjamin's avatar Benjamin
Browse files

ajout CRON pour initialisation dossiers + paramètre alfresco_ssl pour gérer la...

ajout CRON pour initialisation dossiers + paramètre alfresco_ssl pour gérer la vérification SSL lors de l'appel
parent c88f6e13
Branches
No related tags found
No related merge requests found
......@@ -32,6 +32,7 @@ Les données suivantes sont à renseigner dans le fichier de configuration d'Odo
Les données suivantes sont présentes dans la table **ir.config.parameter** :
* *alfresco_url* : url de l'API
* *alfresco_ssl* : **True** si on active la vérification SSL, **False** sinon (True par défaut)
Credits
......
......@@ -12,11 +12,12 @@
'cgscop_partner'
],
"data": [
"datas/ir_config_parameter.xml",
"views/assets.xml",
"views/alfresco_partner_files.xml",
"views/res_partner.xml",
"wizard/add_file_wizard.xml",
"datas/ir_config_parameter.xml",
"datas/cron_init_alfresco.xml",
],
'qweb': [
'static/src/xml/*.xml',
......
<odoo>
<data noupdate="0">
<record id="ir_cron_init_alfresco" model="ir.cron">
<field name="name">CG Scop - Alfresco - Initialisation dossiers</field>
<field name="active" eval="False" />
<field name="user_id" ref="base.user_root" />
<!-- <field name="interval_number">1</field> -->
<!-- <field name="interval_type">days</field> -->
<!-- <field name="numbercall">-1</field> -->
<!-- <field name="doall">1</field> -->
<!-- <field name="nextcall" >2019-12-01 01:00:00</field> -->
<field name="model_id" ref="model_res_partner" />
<field name="code">model._init_alfresco_folder()</field>
<field name="state">code</field>
<field name="priority" eval="5" />
</record>
</data>
</odoo>
\ No newline at end of file
......@@ -7,4 +7,9 @@
<field name="value">https://documents.scop.coop</field>
</record>
<record id="alfresco_ssl" model="ir.config_parameter">
<field name="key">alfresco.ssl</field>
<field name="value">False</field>
</record>
</odoo>
\ No newline at end of file
......@@ -29,31 +29,38 @@ class CgscopAlfresco(models.AbstractModel):
_logger.info("Calling %s" % url)
param = self.env['ir.config_parameter'].sudo()
alfresco_url = param.get_param('alfresco.url')
alfresco_ssl = True if param.get_param('alfresco.ssl') == 'True' else False
basicAuthCredentials = (
tools.config['alfresco_login'],
tools.config['alfresco_password'])
try:
if call_type == 'get':
response = requests.get(
alfresco_url + url,
auth=basicAuthCredentials,)
auth=basicAuthCredentials,
verify=alfresco_ssl)
elif call_type == 'post':
response = requests.post(
alfresco_url + url,
auth=basicAuthCredentials,
json=json)
json=json,
verify=alfresco_ssl)
elif call_type == 'delete':
response = requests.delete(
alfresco_url + url,
auth=basicAuthCredentials,
json=json)
json=json,
verify=alfresco_ssl)
except Exception as err:
_logger.warning(
"Erreur de connexion. URL: %s",
err.__str__(),
)
if response.status_code not in [200, 201]:
response = False
if not response:
raise exceptions.Warning(
"Oops... il y a un problème de connexion avec l'espace documentaire")
elif response.status_code not in [200, 201]:
raise exceptions.Warning(
"L'appel url '%s' a échoué\n"
"- Code erreur : %d\n"
......
......@@ -103,3 +103,19 @@ class AlfrescoPartner(models.Model):
"cgscop_alfresco.alfresco_partner_files_search").id,
'context': {'search_default_group_periode': True}
}
# ------------------------------------------------------
# CRON
# ------------------------------------------------------
def _init_alfresco_folder(self):
""" Fonction pour le cron permettant de créer un dossier
dans Alfresco pour l'ensemble des organismes qui n'ont pas
de nodeRef
"""
partners = self.env['res.partner'].search([
['is_cooperative', '=', True], ['id_alfresco', '=', False]])
for partner in partners:
id_alfresco = partner.alfresco_create_organism(partner)
partner.write({
'id_alfresco': id_alfresco,
})
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment