Compare commits

..

6 Commits

4 changed files with 413 additions and 341 deletions

View File

@ -59,7 +59,7 @@ function update_post_status_based_on_mdp_status($post_id)
add_action('acf/save_post', 'update_post_status_based_on_mdp_status', 20);
/* ---------------------------------------
CUSTOM CONTENT AFTER POST TYPE TITLE
CUSTOM TOP CONTENT AFTER POST TYPE TITLE
------------------------------------------*/
add_action('edit_form_after_title', function () {
$screen = get_current_screen();

View File

@ -133,11 +133,60 @@ add_action('edit_form_after_title', function () {
$return_to = isset($_GET['return_to']) ? $_GET['return_to'] : '';
$edit_artisan_link = get_edit_post_link($linked_artisan_id);
?>
<?php if ($return_to) : ?>
<a href="<?php echo esc_url($return_to) ?>" class="edit-fiche-artisan-link"><img src='<?php echo get_stylesheet_directory_uri() . '/resources/img/icons/tools.svg' ?>' /> Voir la fiche de l'artisan </a>
<?php elseif ($linked_artisan_id) : ?>
<a href="<?php echo esc_url($edit_artisan_link) ?>" class="edit-fiche-artisan-link"><img src='<?php echo get_stylesheet_directory_uri() . '/resources/img/icons/tools.svg' ?>' /> Voir la fiche de l'artisan </a>
<?php endif; ?>
<div id="post-custom-superior-toolbar">
<?php if ($return_to) : ?>
<a href="<?php echo esc_url($return_to) ?>" class="edit-fiche-artisan-link"><img src='<?php echo get_stylesheet_directory_uri() . '/resources/img/icons/tools.svg' ?>' /> Voir la fiche de l'artisan </a>
<?php elseif ($linked_artisan_id) : ?>
<a href="<?php echo esc_url($edit_artisan_link) ?>" class="edit-fiche-artisan-link"><img src='<?php echo get_stylesheet_directory_uri() . '/resources/img/icons/tools.svg' ?>' /> Voir la fiche de l'artisan </a>
<?php endif; ?>
<div id="save-post-custom">
<button class="">Sauvegarder</button>
<span class="spinner"></span>
</div>
</div>
<script>
jQuery(function($) {
$('#save-post-custom').on('click', function(e) {
e.preventDefault();
const $button = $(this.querySelector('button'));
const $spinner = $(this.querySelector('.spinner'));
// Désactiver le bouton et changer le texte
$button.prop('disabled', true).text('Sauvegarde en cours...');
$spinner.show();
$spinner.addClass('is-active');
// Déclencher la sauvegarde
$('#publish').trigger('click');
// Vérifier les erreurs ACF après un court délai
setTimeout(function() {
// Vérifier s'il y a des messages d'erreur ACF
if ($('.acf-notice.-error').length > 0) {
// Réinitialiser le bouton immédiatement si une erreur est détectée
$button.prop('disabled', false).text('Sauvegarder');
$spinner.hide();
$spinner.removeClass('is-active');
}
}, 2000);
// Réactiver le bouton et restaurer le texte après un délai plus long
// (ceci ne s'exécutera que si la page n'est pas rechargée)
setTimeout(function() {
$button.prop('disabled', false).text('Sauvegarder');
$spinner.hide();
$spinner.removeClass('is-active');
}, 20000);
});
});
</script>
<?php
}
});
/* ---------------------------------------
CUSTOM TOP CONTENT AFTER POST TYPE TITLE
------------------------------------------*/

View File

@ -31,6 +31,24 @@ function create_conseiller_role()
}
add_action('init', 'create_conseiller_role');
/* -----------------------------------------------------------
Ajouter la capacité export_artisans_datas aux administrateurs et éditeurs
-----------------------------------------------------------*/
function add_export_artisans_capability()
{
// Ajouter la capacité à l'administrateur
$admin_role = get_role('administrator');
if ($admin_role) {
$admin_role->add_cap('export_artisans_datas');
}
// Ajouter la capacité à l'éditeur
$editor_role = get_role('editor');
if ($editor_role) {
$editor_role->add_cap('export_artisans_datas');
}
}
add_action('init', 'add_export_artisans_capability');
/* -----------------------------------------------------------
Masquer les widgets du tableau de bord pour le rôle conseiller

View File

@ -260,10 +260,6 @@ body.post-type-artisans {
/* border-top: 1px solid rgba(255, 255, 255, 0.15) !important; */
}
#toplevel_page_tm-menu-main {
@apply hidden;
}
#menu-pages + .wp-menu-separator {
@apply hidden;
}
@ -356,6 +352,9 @@ body.post-type-artisans {
word-break: break-all;
}
#post-custom-superior-toolbar {
@apply flex gap-4 items-center pt-2;
}
#admin_artisan_chantier_list {
@apply border border-solid border-neutral-300;
h3 {
@ -390,7 +389,7 @@ body.post-type-artisans {
}
.edit-fiche-artisan-link {
@apply pt-3 text-patrimoine-sante-securite !font-semibold flex items-center gap-2;
@apply text-patrimoine-sante-securite !font-semibold flex items-center gap-2;
img {
@apply w-6 h-6 object-contain filter-patrimoine-sante-securite;
}
@ -609,6 +608,7 @@ select[data-enpassusermodified='yes'] {
CUSTOMIZATION BASED ON USER ROLE
------------------------------------*/
.role-editor {
#toplevel_page_tm-menu-main,
.rank-math-lock-modified-date,
.misc-pub-curtime,
.misc-pub-revisions,
@ -621,13 +621,16 @@ select[data-enpassusermodified='yes'] {
#acfml-field-group-synchronise,
#menu-tools,
#postimagediv,
#submitdiv,
#submitdiv .handle-order-higher,
#submitdiv .handle-order-lower,
#submitdiv #preview-action,
#footer-left,
.tablenav .bulkactions,
.check-column,
.row-actions {
.row-actions .edit,
.row-actions .view,
.row-actions .inline.hide-if-no-js {
@apply !hidden;
}
.post-type-artisans #post-body {
@ -636,8 +639,10 @@ select[data-enpassusermodified='yes'] {
}
.role-conseiller {
#toplevel_page_tm-menu-main,
#rank_math_metabox,
#menu-media,
#submitdiv,
#menu-tools,
#toplevel_page_edit-tags-taxonomy-metiers-post_type-artisans,
#toplevel_page_edit-tags-taxonomy-elementsbatiments-post_type-artisans,