Subversion Repositories eFlore/Applications.cel

Rev

Rev 3204 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3204 Rev 3208
Line 12... Line 12...
12
                local: {
12
    local: {
13
                        urlWidgetNavigation : 'https://localhost/widget:cel:saisie2',
13
      urlWidgetNavigation : 'https://localhost/widget:cel:saisie2',
14
                        urlBaseAuth : 'https://localhost/service:annuaire:auth'
14
      urlBaseAuth : 'https://localhost/service:annuaire:auth'
15
                }
15
    }
16
        }
16
  }
-
 
17
// // Prod: décommenter ci-dessus et commenter ou supprimer ci-dessous
-
 
18
// var urlRacine = 'http://localhost',
-
 
19
//   config = {
-
 
20
//     prod: {
-
 
21
//       urlWidgetNavigation : urlRacine + '/widget:cel:saisie2',
-
 
22
//       urlBaseAuth : 'https://www.tela-botanica.org/service:annuaire:auth'
-
 
23
//     },
-
 
24
//     test: {
-
 
25
//       urlWidgetNavigation : urlRacine + '/widget:cel:saisie2',
-
 
26
//       urlBaseAuth : 'https://api.tela-botanica.test/service:annuaire:auth'
-
 
27
//     },
-
 
28
//     local: {
-
 
29
//       urlWidgetNavigation : 'https://localhost/widget:cel:saisie2',
-
 
30
//       urlBaseAuth : 'https://localhost/service:annuaire:auth'
-
 
31
//     }
-
 
32
//   }
Line 17... Line 33...
17
 
33
 
18
/**
34
/**
19
 * Charge la barre de navigation depuis le widget:reseau:navigation dans un <div id="tb-navigation"> , s'il existe
35
 * Charge la barre de navigation depuis le widget:reseau:navigation dans un <div id="tb-navigation"> , s'il existe
20
 * dans la page appelante.
36
 * dans la page appelante.
Line 30... Line 46...
30
 *  - si ce <div> contient un attribut "data-squelette", alors le widget de navigation sera appelé avec le paramètre
46
 *  - si ce <div> contient un attribut "data-squelette", alors le widget de navigation sera appelé avec le paramètre
31
 *    "?squelette=contenu-de-data-squelette"; se reporter à la documentation du widget:reseau:navigation
47
 *    "?squelette=contenu-de-data-squelette"; se reporter à la documentation du widget:reseau:navigation
32
 */
48
 */
Line 33... Line 49...
33
 
49
 
34
$(document).ready(function() {
50
$( document ).ready( function() {
35
        var div = $('#tb-navigation');
51
  var $div = $( '#tb-navigation' );
36
        if (div) {
52
  if ( $div ) {
37
                var squelette = div.data('squelette'),
53
    var squelette = $div.data( 'squelette' ),
38
                        courant = div.data('courant'),
54
        courant   = $div.data( 'courant' ),
39
                        mode = div.data('mode') || 'prod',
55
        mode      = $div.data( 'mode' ) || 'prod',
Line 40... Line 56...
40
                        contenu = div.html();
56
        contenu   = $div.html();
41
 
57
 
-
 
58
    // chargement de la barre
42
                // chargement de la barre
59
    var urlBarreNavigation = config[mode]['urlWidgetNavigation'];
43
                var urlBarreNavigation = config[mode]['urlWidgetNavigation'];
60
 
44
                if (squelette) {
61
    if ( squelette ) {
-
 
62
      urlBarreNavigation += '?squelette=' + squelette;
45
                        urlBarreNavigation += '?squelette=' + squelette;
63
    }
46
                }
64
 
47
                htmlBarre = $.ajax({
65
    htmlBarre = $.ajax({
48
                        url: urlBarreNavigation,
66
      url: urlBarreNavigation,
49
                        type: 'get',
67
      type: 'get',
50
                        success: function(data) {
68
      success: function( data ) {
51
                                // remplacement de la zone contenu-source
69
        // remplacement de la zone contenu-source
52
                                var zoneSource = div.find('#contenu-source');
70
        var $zoneSource = $div.find( '#contenu-source' );
53
                                if (zoneSource) {
71
        if ( $zoneSource ) {
54
                                        zoneSource.replaceWith(contenu);
72
          $zoneSource.replaceWith( contenu );
55
                                        // Chargement de sinformations de connexion SSO
73
          // Chargement des informations de connexion SSO
56
                                        var urlBaseAuth = config[mode]['urlBaseAuth'];
74
          var urlBaseAuth = config[mode]['urlBaseAuth'];
57
                                        chargerStatutSSO(urlBaseAuth);
75
          chargerStatutSSO( urlBaseAuth );
58
                                }
76
        }
59
                        },
77
      },
60
                        error: function() {
78
      error: function() {
61
                                div.html('Erreur: impossible de charger la barre de navigation');
79
        $div.html( 'Erreur: impossible de charger la barre de navigation' );
62
                        }
80
      }
63
                });
81
    });
Line 79... Line 97...
79
 * Interroge le SSO pour connaître le statut de l'utilisateur, et change le menu
97
 * Interroge le SSO pour connaître le statut de l'utilisateur, et change le menu
80
 * à droite de la barre en fonction
98
 * à droite de la barre en fonction
81
 */
99
 */
82
function chargerStatutSSO(urlBaseAuth) {
100
function chargerStatutSSO( urlBaseAuth ) {
83
        var urlAuth = urlBaseAuth + '/identite';
101
  var urlAuth = urlBaseAuth + '/identite';
-
 
102
  // definirUtilisateur( 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvd3d3LnRlbGEtYm90YW5pY2Eub3JnIiwidG9rZW5faWQiOiJ0Yl9hdXRoIiwic3ViIjoiaWRpckB0ZWxhLWJvdGFuaWNhLm9yZyIsImlhdCI6MTU0Mjk3MjIxNiwiZXhwIjoxNTQyOTg0NDQ1LCJzY29wZXMiOlsidGVsYS1ib3RhbmljYS5vcmciXSwiaWQiOiI0NDA4NCIsInByZW5vbSI6IklkaXIiLCJub20iOiJBbGxpY2hlIiwicHNldWRvIjoiSWRpciBBbGxpY2hlIiwicHNldWRvVXRpbGlzZSI6dHJ1ZSwiaW50aXR1bGUiOiJJZGlyIEFsbGljaGUiLCJhdmF0YXIiOiJcL1wvd3d3LmdyYXZhdGFyLmNvbVwvYXZhdGFyXC83ODU3ZmY2MWE5Yjk5NWE4NjIyMzdkMmEyYzYxODAyMT9zPTUwJnI9ZyZkPW1tIiwiZ3JvdXBlcyI6W10sInBlcm1pc3Npb25zIjpbImVkaXRvciJdLCJub21XaWtpIjoiSWRpckFsbGljaGUiLCJkYXRlRGVybmllcmVNb2RpZiI6MTQ5NTIwNjM3Nn0.D3rySwuCDsSl6JAmjncwgwg4gUJijZjeaYeDYHsw3uI' );
-
 
103
  // Prod: décommenter $.ajax ci-dessous et supprimer la ligne ci-dessus
84
        $.ajax({
104
  $.ajax({
85
            url: urlAuth,
105
    url: urlAuth,
86
            type: "GET",
106
    type: "GET",
87
            dataType: 'json',
107
    dataType: 'json',
88
            xhrFields: {
108
    xhrFields: {
Line 93... Line 113...
93
                definirUtilisateur(data.token);
113
    definirUtilisateur( data.token );
94
        });
114
  });
95
}
115
}
Line 96... Line 116...
96
 
116
 
97
function definirUtilisateur(jeton) {
117
function definirUtilisateur( jeton ) {
-
 
118
  var nomComplet = '',
-
 
119
      idUtilisateur = '',
-
 
120
      courriel = '',
-
 
121
      nom = '',
98
        var nomComplet = '';
122
      prenom = '';
99
        if (jeton != undefined) {
123
  if ( undefined !== jeton ) {
100
                // décodage jeton
124
    // décodage jeton
101
                var jetonDecode = decoderJeton(jeton);
125
    var jetonDecode = decoderJeton( jeton );
-
 
126
    nomComplet = jetonDecode.intitule;
-
 
127
    idUtilisateur = jetonDecode.id;
-
 
128
    courriel = jetonDecode.sub;
-
 
129
    nom = jetonDecode.nom;
-
 
130
    prenom = jetonDecode.prenom;
102
                nomComplet = jetonDecode.intitule;
131
    // console.log(jetonDecode);
103
        }
132
  }
104
        // affichage
133
  // affichage
105
        $('#bouton-connexion').hide();
134
  $( '#bouton-connexion, #creation-compte' ).addClass( 'hidden' );
106
        $('#utilisateur-connecte').show();
135
  $( '#utilisateur-connecte, #anonyme, #zone-courriel-confirmation, #zone-prenom-nom' ).removeClass( 'hidden' );
-
 
136
  $( '#nom-complet' ).html( nomComplet );
-
 
137
  $( '#courriel, #courriel_confirmation' ).val( courriel ).attr( 'disabled', 'disabled' );
-
 
138
  $( '#id_utilisateur' ).val( idUtilisateur );
-
 
139
  $( '#prenom' ).val( prenom ).attr( 'disabled', 'disabled' );
-
 
140
  $( '#nom' ).val( nom ).attr( 'disabled', 'disabled' );
107
        $('#nom-complet').html(nomComplet);
141
  $( '#date-releve' ).focus();
Line 108... Line 142...
108
}
142
}
109
 
143
 
110
/**
144
/**