Skip to content

Commit

Permalink
Merge pull request #226 from Evarisk/7.7.5
Browse files Browse the repository at this point in the history
7.7.5
  • Loading branch information
nicolas-eoxia authored Jul 11, 2022
2 parents 359473f + f65fbf1 commit 8f3bb94
Show file tree
Hide file tree
Showing 12 changed files with 4,289 additions and 4,007 deletions.
8,004 changes: 4,002 additions & 4,002 deletions core/assets/js/backend.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion digirisk.config.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Digirisk",
"slug": "digirisk",
"version": "7.7.4",
"version": "7.7.5",
"description": "L'application Digirisk",
"insert_scripts_pages_js": [
"digirisk-welcome",
Expand Down
2 changes: 1 addition & 1 deletion digirisk.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* Plugin Name: Digirisk
* Plugin URI: http://www.evarisk.com/document-unique-logiciel
* Description: Avec le plugin Digirisk vous pourrez réaliser, de façon simple et intuitive, le ou les documents uniques de vos entreprises et gérer toutes les données liées à la sécurité de votre personnel.
* Version: 7.7.4
* Version: 7.7.5
* Author: Evarisk
* Author URI: http://www.evarisk.com
* License: AGPLv3
Expand Down
30 changes: 30 additions & 0 deletions modules/export_import/action/export.action.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ public function __construct() {
add_action( 'wp_ajax_digi_export_data', array( $this, 'callback_export_data' ) );
add_action( 'wp_ajax_digi_export_tree_data', array( $this, 'callback_export_tree_data' ) );
add_action( 'wp_ajax_digi_export_risks_data', array( $this, 'callback_export_risks_data' ) );
add_action( 'wp_ajax_digi_export_risksigns_data', array( $this, 'callback_export_risksigns_data' ) );
add_action( 'wp_ajax_digi_export_global_data', array( $this, 'callback_export_global_data' ) );
}

/**
Expand Down Expand Up @@ -73,6 +75,34 @@ public function callback_export_risks_data() {

wp_send_json_success( $response );
}

/**
* Fonction de rappel pour l'export des données des signalisations
*
* @since 7.7.5
* @version 7.7.5
*/
public function callback_export_risksigns_data() {
check_ajax_referer( 'digi_export_risksigns_data' );

$response = Export_Class::g()->exec_risksigns();

wp_send_json_success( $response );
}

/**
* Fonction de rappel pour l'export des données des signalisations
*
* @since 7.7.5
* @version 7.7.5
*/
public function callback_export_global_data() {
check_ajax_referer( 'digi_export_global_data' );

$response = Export_Class::g()->exec_global();

wp_send_json_success( $response );
}
}

new export_action();
2 changes: 1 addition & 1 deletion modules/export_import/asset/js/export_import.backend.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ window.eoxiaJS.digirisk.export.init = function() {
* @return {void}
*/
window.eoxiaJS.digirisk.export.event = function() {
jQuery( document ).on( 'submit', '#digi-data-export #digi-export-form, #digi-data-export #digi-export-tree, #digi-data-export #digi-export-risks', window.eoxiaJS.digirisk.export.create_export );
jQuery( document ).on( 'submit', '#digi-data-export #digi-export-form, #digi-data-export #digi-export-tree, #digi-data-export #digi-export-risks, #digi-data-export #digi-export-risksigns, #digi-data-export #digi-export-global', window.eoxiaJS.digirisk.export.create_export );
jQuery( document ).on( 'change', '#digi-data-export #digi-import-form input[type="file"]', window.eoxiaJS.digirisk.export.make_import );
};

Expand Down
115 changes: 115 additions & 0 deletions modules/export_import/class/export.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,34 @@ public function exec_risks() {
return $this->generate_zip( $data_to_export, 'risques');
}

/**
* Appelles différentes méthodes pour récupérer toutes les données pour exporter le DigiRisk
*
* @since 6.1.5
* @version 6.4.1
*
* @return array
*/
public function exec_risksigns() {
$data_to_export = $this->export_all_risksigns();
return $this->generate_zip( $data_to_export, 'signalisations');
}

/**
* Appelles différentes méthodes pour récupérer toutes les données pour exporter le DigiRisk
*
* @since 6.1.5
* @version 6.4.1
*
* @return array
*/
public function exec_global() {
$data_to_export = $this->export_groupments(0,false);
$data_to_export[] = $this->export_all_risks();
$data_to_export[] = $this->export_all_risksigns();
return $this->generate_zip( $data_to_export, 'global');
}

/**
* Exportes tout le contenu d'un groupement
*
Expand Down Expand Up @@ -122,6 +150,41 @@ public function export_all_risks( $parent_id = 0) {
return $list_data_exported;
}

/**
* Exportes tout le contenu d'un groupement
*
* @since 6.1.5
* @version 6.5.0
*
* @param integer $parent_id (optional) Le groupement parent.
*
* @return array
*/
public function export_all_risksigns( $parent_id = 0) {
$society = Society_Class::get_current_society();

$risksigns = get_posts(
array(
'numberposts' => -1,
'post_parent' => $society['id'],
'post_status' => array( 'publish', 'inherit' ),
'post_type' => 'digi-recommendation',
)
);

$list_data_exported = array();

if ( ! empty( $risksigns ) ) {
foreach ( $risksigns as $element ) {
// Récupères les signalisations du groupement.
$element->list_risksign = Recommendation::g()->get( array( 'id' => $element->ID ) );
$list_data_exported[] = array_shift($this->export_risksigns( $element->list_risksign ));
}
}

return $list_data_exported;
}

/**
* Exportes tout le contenu d'un groupement
*
Expand Down Expand Up @@ -278,6 +341,39 @@ public function export_risks( $risks ) {
return $data_risks_to_export;
}

/**
* Exportes les champs nécessaires d'une signalisation.
*
* @since 7.7.5
* @version 7.7.5
*
* @param array $risksigns Le tableau des signalisations.
* @return array
*/
public function export_risksigns( $risksigns ) {
$data_risksigns_to_export = array();

if ( ! empty( $risksigns ) ) {
foreach ( $risksigns as $element ) {
$tmp_risksign_data = array(
'title' => $element->data['title'],
'slug' => $element->data['slug'],
'status' => $element->data['status'],
'content' => $element->data['content'],
'link' => $element->data['link'],
'id' => $element->data['id'],
'parent_id' => $element->data['parent_id'],
'recommendation_category' => $this->export_risksign_category( $element ), // Element car on a besoin $element->recommendation_category et $element->recommendation.
'comment' => array_shift( $this->export_comments( $element->data['comment'] )),
);

$data_risksigns_to_export[] = $tmp_risksign_data;
}
}

return $data_risksigns_to_export;
}

/**
* Exportes la catégorie de danger et le danger d'un risque.
*
Expand All @@ -297,6 +393,25 @@ public function export_danger_category( $element ) {
return $danger_category_data;
}

/**
* Exportes la catégorie de danger et le danger d'un risque.
*
* @since 6.1.5
* @version 6.4.1
*
* @param Risk_Model $element Le risque.
* @return array
*/
public function export_risksign_category( $element ) {
$risksign_category_data = array(
'name' => $element->data['recommendation_category']->data['name'],
'slug' => $element->data['recommendation_category']->data['slug'],
'parent_id' => $element->data['recommendation_category']->data['parent_id'],
);

return $risksign_category_data;
}

/**
* Exportes l'évaluation d'un risque.
*
Expand Down
36 changes: 36 additions & 0 deletions modules/export_import/shortcode/export.shortcode.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ public function __construct() {
add_shortcode( 'digi-import', array( $this, 'callback_import_interface' ) );
add_shortcode( 'digi-export-tree', array( $this, 'callback_export_tree_interface' ) );
add_shortcode( 'digi-export-risks', array( $this, 'callback_export_risks_interface' ) );
add_shortcode( 'digi-export-risksigns', array( $this, 'callback_export_risksigns_interface' ) );
add_shortcode( 'digi-export-global', array( $this, 'callback_export_global_interface' ) );
}

/**
Expand Down Expand Up @@ -99,6 +101,40 @@ public function callback_export_risks_interface( $param ) {
/** Affichage du formulaire d'export / Display export form */
\eoxia\View_Util::exec( 'digirisk', 'export_import', 'export-risks', array( 'element_id' => $element_id, 'element' => $element ) );
}

/**
* Interface d'export / Export Interface filter callback
*
* @param array $param Les paramètres du shortcode / Shortcode parameters
*/
public function callback_export_risksigns_interface( $param ) {
$element_id = $element = null;
/** On vérifie si il y a un élément défini pour l'affichage du shortcode / Check if there is an element specified for shortcode usage */
if ( !empty( $param ) && !empty( $param[ 'post_id' ] ) && is_int( (int)$param[ 'post_id' ] ) ) {
$element_id = $param[ 'post_id' ];
$element = society_class::g()->show_by_type( $element_id );
}

/** Affichage du formulaire d'export / Display export form */
\eoxia\View_Util::exec( 'digirisk', 'export_import', 'export-risksigns', array( 'element_id' => $element_id, 'element' => $element ) );
}

/**
* Interface d'export / Export Interface filter callback
*
* @param array $param Les paramètres du shortcode / Shortcode parameters
*/
public function callback_export_global_interface( $param ) {
$element_id = $element = null;
/** On vérifie si il y a un élément défini pour l'affichage du shortcode / Check if there is an element specified for shortcode usage */
if ( !empty( $param ) && !empty( $param[ 'post_id' ] ) && is_int( (int)$param[ 'post_id' ] ) ) {
$element_id = $param[ 'post_id' ];
$element = society_class::g()->show_by_type( $element_id );
}

/** Affichage du formulaire d'export / Display export form */
\eoxia\View_Util::exec( 'digirisk', 'export_import', 'export-global', array( 'element_id' => $element_id, 'element' => $element ) );
}
}

new export_shortcode();
3 changes: 3 additions & 0 deletions modules/export_import/view/export-form.view.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@
<li>
<label><input type="checkbox" name="type_to_export[]" value="<?php echo esc_attr( Risk_Class::g()->get_type() ); ?>" checked="true" /><?php esc_html_e( 'Risques', 'digirisk' ); ?></label>
</li>
<li>
<label><input type="checkbox" name="type_to_export[]" value="<?php echo esc_attr( Recommendation::g()->get_type() ); ?>" checked="true" /><?php esc_html_e( 'Signalisations', 'digirisk' ); ?></label>
</li>
</ul>
</div>

Expand Down
45 changes: 45 additions & 0 deletions modules/export_import/view/export-global.view.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php
/**
* Vue permettant d'exporter un modèle DigiRisk.
*
* @author Evarisk <[email protected]>
* @since 6.1.9
* @version 6.5.0
* @copyright 2015-2018 Evarisk
* @package DigiRisk
*/

namespace digi;

if ( ! defined( 'ABSPATH' ) ) {
exit;
} ?>

<form action="<?php echo esc_attr( admin_url( 'admin-ajax.php' ) ); ?>" method="POST" id="digi-export-global" >
<h3><?php esc_html_e( 'Exporter l\'arborescence, les risques et les signalisations', 'digirisk' ); ?></h3>

<div class="content">
<input type="hidden" name="action" value="digi_export_global_data" />
<?php wp_nonce_field( 'digi_export_global_data' ); ?>
<input type="hidden" name="element_id" value="<?php echo esc_attr( $element_id ); ?>" />

<span class="digi-export-explanation" ><?php esc_html_e( 'Réalisez une exportation de votre arborescence, de vos risques et de vos signalisations DigiRisk. Vous pouvez par la suite les importer dans DigiriskDolibarr.', 'digirisk' ); ?></span>

<ul class="hidden">
<li>
<label><input type="checkbox" name="type_to_export[]" value="<?php echo esc_attr( Group_Class::g()->get_type() ); ?>" checked="true" /><?php esc_html_e( 'Groupements', 'digirisk' ); ?></label>
</li>
<li>
<label><input type="checkbox" name="type_to_export[]" value="<?php echo esc_attr( Workunit_Class::g()->get_type() ); ?>" checked="true" /><?php esc_html_e( 'Unités de travail', 'digirisk' ); ?></label>
</li>
<li>
<label><input type="checkbox" name="type_to_export[]" value="<?php echo esc_attr( Risk_Class::g()->get_type() ); ?>" checked="true" /><?php esc_html_e( 'Risques', 'digirisk' ); ?></label>
</li>
<li>
<label><input type="checkbox" name="type_to_export[]" value="<?php echo esc_attr( Recommendation::g()->get_type() ); ?>" checked="true" /><?php esc_html_e( 'Signalisations', 'digirisk' ); ?></label>
</li>
</ul>
</div>

<button class="button blue" id="digi-export-button" ><?php esc_html_e( 'Exporter mes données', 'digirisk' ); ?></button>
</form>
36 changes: 36 additions & 0 deletions modules/export_import/view/export-risksigns.view.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php
/**
* Vue permettant d'exporter un modèle DigiRisk.
*
* @author Evarisk <[email protected]>
* @since 6.1.9
* @version 6.5.0
* @copyright 2015-2018 Evarisk
* @package DigiRisk
*/

namespace digi;

if ( ! defined( 'ABSPATH' ) ) {
exit;
} ?>

<form action="<?php echo esc_attr( admin_url( 'admin-ajax.php' ) ); ?>" method="POST" id="digi-export-risksigns" >
<h3><?php esc_html_e( 'Exporter les signalisations', 'digirisk' ); ?></h3>

<div class="content">
<input type="hidden" name="action" value="digi_export_risksigns_data" />
<?php wp_nonce_field( 'digi_export_risksigns_data' ); ?>
<input type="hidden" name="element_id" value="<?php echo esc_attr( $element_id ); ?>" />

<span class="digi-export-explanation" ><?php esc_html_e( 'Réalisez une exportation de vos signalisations DigiRisk. Vous pouvez par la suite les importer dans DigiriskDolibarr.', 'digirisk' ); ?></span>

<ul class="hidden">
<li>
<label><input type="checkbox" name="type_to_export[]" value="<?php echo esc_attr( Recommendation::g()->get_type() ); ?>" checked="true" /><?php esc_html_e( 'Signalisations', 'digirisk' ); ?></label>
</li>
</ul>
</div>

<button class="button blue" id="digi-export-button" ><?php esc_html_e( 'Exporter mes données', 'digirisk' ); ?></button>
</form>
12 changes: 12 additions & 0 deletions modules/tools/view/main.view.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,18 @@
<?php echo do_shortcode( '[digi-export-risks]' ); ?>
</div>
</div>

<div class="block">
<div class="container">
<?php echo do_shortcode( '[digi-export-risksigns]' ); ?>
</div>
</div>

<div class="block">
<div class="container">
<?php echo do_shortcode( '[digi-export-global]' ); ?>
</div>
</div>
</div>


Expand Down
9 changes: 7 additions & 2 deletions readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ Contributors: Evarisk
Tags: Evaluation des risques, document unique, risques professionnels, audit risques, risques humains, digirisk, digi risk, evarisk, eva risk, risk, risks, risque, risques
Donate link: http://www.evarisk.com/document-unique-logiciel
Requires at least: 4.4
Tested up to: 5.8.1
Stable tag: 7.7.4
Tested up to: 6.0.0
Stable tag: 7.7.5
License: AGPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Expand Down Expand Up @@ -77,6 +77,11 @@ Lors de l'installation de l'extension Digirisk si vous aviez déjà installé la

* Veillez à bien sauvegarder vos données avant d'effectuer une mise à jour du plugin

= Version 7.7.5 =

- Add : Exportation global de Digirisk WP vers Digirisk Dolibarr.
- Add : Exportation des signalisations de Digirisk WP vers Digirisk Dolibarr.

= Version 7.7.4 =

- fix : Fichier JS manquant pour exécuter l'action de téléchargement des fichiers d'exportation.
Expand Down

0 comments on commit 8f3bb94

Please sign in to comment.