Commit eb23d235 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Merge remote-tracking branch 'origin/master'

parents 4c4e3483 7d09811e
Loading
Loading
Loading
Loading
+18 −4
Original line number Diff line number Diff line
# Version stable

[OSE 20.0](#ose-20--28022023-)
[OSE 20.1](#ose-201--04042023-)


# OSE 21 (à venir)
@@ -11,7 +11,8 @@
* Taux HETD personnalisables


# OSE 20.1 (A venir)

# OSE 20.1 (04/04/2023)

## Nouveautés

@@ -25,9 +26,22 @@
## Corrections de bugs

* Correction d'une régression de la V20 sur le module Export Siham
* Suppression d'un message d'erreur sur l'envoi de mail via les indicateurs (#49873)
* Formule Paris 8 : correction d'un problème de code de composante
* Formule Poitiers : (#46805)
* Formule La Réunion : (#24229)
* Formule de Picardie:  (#47224)

## Notes de mise à jour

Si vous rencontrez les deux messages d'erreurs suivants, merci de ne pas en tenir compte, ces erreurs n'occasionneront pas de dysfonctionnezmenet de l'application.

1. Suppression de l'index TYPE_INTERVENTION_CODE_UN
ORA-02429: cannot drop index used for enforcement of unique/primary key (offset 11
DROP INDEX TYPE_INTERVENTION_CODE_UN

2. Transformation des modèles de contrats en états de sortie ... Convertion des contrats de travail en états de sortie
Erreur : ORA-00001: unique constraint (OSE.ETAT_SORTIE_CODE_UN) violated


# OSE 20 (28/02/2023)
@@ -37,7 +51,7 @@
* Les modèles de contrats de travail sont maintenant gérés comme n'importe quel autre état de sortie
* Reconduction de l'offre de formation pour les éléments de OSE portés par un élément synchronisé
* Possibilité de rentrer un taux de charge par statut d'intervenant
* Ajout d'un choix par statut pour "contrat de travail et avenants" pour laisser la possibilité à l'intervenant de télécharger sont contrat en pdf
* Ajout d'un choix par statut pour "contrat de travail et avenants" pour laisser la possibilité à l'intervenant de télécharger son contrat en pdf
* Migration technnique vers le framework Bootstrap 5 et modernisation de l'identité visuelle
* Réorganisation du menu "Administration" pour plus de lisibilité
* Filtrage des caractères interdits lors de l'export RH SIHAM (#47267)
@@ -201,7 +215,7 @@ https://redmine.unicaen.fr/Etablissement/issues/49445?issue_count=42&issue_posit
* Ajout d'un paramètre général pour permettre de créer les contrats sans passer par un projet de contrat
* Ajout de date de dernière modification des données dans les indicateurs notifiant d'une validation en attente
* Nouvel état de sortie pour l'extraction des paiements dans le cadre de la pré-liquidation SIHAM
* Ajout d'un bouton de refus de pièce justificative avec envoie d'email à l'intervenant
* Ajout d'un bouton de refus de pièce justificative avec envoi d'email à l'intervenant
* Changement du bouton de cloture de service pour un libellé plus parlant et un style de bouton plus prononcé
* Formules nouvelles ou mises à jour : Rennes 2, Paris Saclay, Guyane, Côte d'Azur, La Réunion, Poitiers, Brest, Rouen
* Possibilité de créer un nouveau test de formule en téléversant une feuille de calcul au format tableur
+42 −0
Original line number Diff line number Diff line
@@ -269,6 +269,48 @@ class DataSource



    public function TAUX_REMU()
    {
        $data = require $this->oseAdmin->getOseDir() . 'data/taux_remu.php';

        $tauxRemu = [];

        foreach ($data as $code => $taux) {
            $taux       = [
                'CODE'    => $code,
                'LIBELLE' => $taux['libelle'],

            ];
            $tauxRemu[] = $taux;
        }

        return $tauxRemu;
    }



    public function TAUX_REMU_VALEUR()
    {
        $data = require $this->oseAdmin->getOseDir() . 'data/taux_remu.php';

        $tauxValeurs = [];

        foreach ($data as $code => $taux) {
            foreach ($taux['valeurs'] as $dateEffet => $valeur) {
                $tauxValeur    = [
                    'TAUX_REMU_ID' => $code,
                    'DATE_EFFET'   => \DateTime::createFromFormat('d/m/Y', $dateEffet),
                    'VALEUR'       => $valeur,
                ];
                $tauxValeurs[] = $tauxValeur;
            }
        }

        return $tauxValeurs;
    }



    public function TYPE_INDICATEUR()
    {
        $data        = require $this->oseAdmin->getOseDir() . 'data/indicateurs.php';
+1 −1
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ foreach ($cls as $cl) {

    $(function () {

        WidgetInitializer.includeJs(Util.url('vendor/go.js'));
        WidgetInitializer.includeJs(unicaenVue.url('vendor/go.js'));

        var $ = go.GraphObject.make;

+4 −0
Original line number Diff line number Diff line
@@ -7,3 +7,7 @@
 * @var $viewName   string
 * @var $viewFile   string
 */

$d = new \DateTime();

$d->setTime(0, 0, 0, 0);
 No newline at end of file
+73 −0
Original line number Diff line number Diff line
@@ -9,3 +9,76 @@ use Unicaen\OpenDocument\Calc;
 * @var $viewName   string
 * @var $viewFile   string
 */

?>

<button onclick="ts()">Suceess</button>
<button onclick="te()">Error</button>

<script>


    function toast(message, severity) {
        const bgClasses = {
            info: 'bg-info',
            success: 'bg-success',
            warning: 'bg-warning',
            error: 'bg-danger'
        };
        const iconClasses = {
            info: 'info-circle',
            success: 'check-circle',
            warning: 'exclamation-circle',
            error: 'exclamation-triangle'
        };

        let toastContainer = document.getElementById('unicaen-vue-toast-container');
        if (!toastContainer) {
            toastContainer = document.createElement('div');
            toastContainer.id = 'unicaen-vue-toast-container';
            toastContainer.classList.add('toast-container', 'position-fixed', 'top-0', 'end-0', 'p-3');
            document.body.appendChild(toastContainer);
        }

        // Création de l'élément HTML pour le toast
        const toast = document.createElement('div');
        toast.classList.add('toast', 'show', 'text-white', bgClasses[severity] ? bgClasses[severity] : 'bg-secondary');
        toast.setAttribute('role', 'alert');
        toast.setAttribute('aria-live', 'assertive');
        toast.setAttribute('aria-atomic', 'true');

        if (severity === 'error'){
            toast.setAttribute('style', 'width:100%');
        }

        const toastContent =
            '<button class="btn-close btn-close-white h5" style="float:right" data-bs-dismiss="toast" aria-label="Close"></button>' +
            '<i class="icon fas fa-' + iconClasses[severity] + '" style="float: left;font-size: 26pt;padding-left: .4rem;margin-top:.4rem;padding-right: 1rem;"></i>' +
            '<div class="toast-body">' + message + '  </div>';


        toast.innerHTML = toastContent;

        // Ajout du toast à l'élément du conteneur de toasts
        toastContainer.appendChild(toast);

        // Affichage du toast
        //const bsToast = new bootstrap.Toast(toast);
        //bsToast.show();

        // Masquage du toast si ce n'est pas une erreur
        if (severity !== 'error') {
            // setTimeout(() => {
            //     toast.classList.remove('show');
            // }, 3000);
        }
    }

    $(() => {
        toast('mon success est phénoménal et j\'ai envie d\'en parler tout le temps mais ce serait bien trop long à expliquer et patati et patatta', 'success');
        toast('Et voici une info à ne pas rater!!', 'info');
        toast('Warning', 'warning');
        toast('Erreur magistrale!!!', 'error');
    });

</script>
Loading