Documents "Bientôt" applicables

version n°1 PB le 09/07/2001

Cette page a pour but de lister les documents dans la base répondant aux critères suivants :

*** : S'il n'y a pas de rubrique en cours (Session ("type_doc" == ""), i.e. si le portail est situé sur une mire de département, le lien vers "bientot" pointe sur All_Users/bientot_01.asp, laquelle classe les documents trouvés par rubrique dans le département.
Dans le cas contraire, si une rubrique a été choisie pour le département en cours, le lien pointe sur Moteurs/"moteur_de_la_rubrique"/bientot_01.asp. Ainsi la page "Bientôt" restreint sa recherche à ce type de document et peut éventuellement tenir compte des spécificités de chaque moteur.

All_Users/bientot_01.asp :
Requête SQL :
 var my_dept = "" + Session ('dept_code');

    var OBJECT_oui = new DWGenerator ("OBJECT_oui", "SuneTeam");
    sqlquery = "select ";
    sqlquery += "documents.doc_id, ";
    sqlquery += "documents.doc_type_doc, "
    sqlquery += "documents_versions.ver_creation_date, "
    sqlquery += "documents.doc_comment, ";
    sqlquery += "documents_versions.ver_application_date, ";
    sqlquery += "documents_versions.ver_titre, ";    
    sqlquery += "documents_pages.pag_titre, "
    sqlquery += "documents_pages.pag_ref_info, ";
    sqlquery += "param_doc.par_txt_bouton "

    sqlquery += "from documents, documents_versions, documents_pages, param_doc ";
    
    //département et rubrique en cours
    sqlquery += "where documents.doc_dept_code = '" + my_dept + "' "; 
    *** sqlquery += "and documents.doc_type_doc = '" + Session ('type_doc') + "' ";
   
    //ON CACHE LES MIRES AUX NON-ADMINISTRATEURS
    if ("" + Session ('client') != "admin") {sqlquery += "and documents.doc_type_doc != 'MIR' "};
    
    //jointures
    sqlquery += "and documents.doc_id = documents_versions.doc_id ";
    sqlquery += "and documents.doc_id = documents_pages.doc_id ";
    sqlquery += "and documents_versions.ver_id = documents_pages.ver_id ";
    sqlquery += "and param_doc.dept_code = documents.doc_dept_code ";
    sqlquery += "and param_doc.type_code = documents.doc_type_doc ";

    //versions validées seulement
    if ("" + Session ("projets") == "non") sqlquery += "and documents_versions.ver_no_projet = 0 ";
    
    //page de généralités seulement
    sqlquery += "and documents_pages.pag_type = 'G'"; 
    
    //la plus proche en haut de la datawindow
    sqlquery += " order by";
    sqlquery += " documents.doc_type_doc";
    sqlquery += ", documents_versions.ver_application_date ";
            
Titre de la fenêtre :
 Write (trad('T_BIENTOT_01') + " - " + Session ("dept_libelle")) 
*** ... + Session ("type_libelle") ;            
Colonnes affichées :
        TR
        VER_APPLICATION_DATE
        VER_TITRE
        PAG_TITRE avec lien vers PAG_REF_INFO
        DOC_COMMENT
                    
       var num_line = 0;
       *** var rubrique_cours = "";   

       for (var i =0; i < OBJECT_oui.startrow; i++) {OBJECT_oui.cursor.MoveNext();}
       for (var i=0; !OBJECT_oui.cursor.EOF(); i++) {
        
        *** //gestion des lignes-titres de rubriques :

          if ((i == 0) || ("" + OBJECT_oui.cursor.GetValue ('doc_type_doc') != rubrique_cours)) {
            rubrique_cours = OBJECT_oui.cursor.GetValue ('doc_type_doc');
            Response.Write ("<TR><TD class=tableTitleRubrique COLSPAN=\"4\">" + OBJECT_oui.cursor.GetValue ('par_txt_bouton') + "</TD></TR>");
            }                  
          
          //VERIFICATION CRITERES DE "BIENTÔT APPLICABLE"
            
                //on prépare la date de référence
                    var str_visu = "" + Session("date_visu");
                    var date_ref = new Date ();
                    date_ref.setDate(parseInt(str_visu.substring (0,2)));
                    date_ref.setMonth(parseInt(str_visu.substring (3,5)-1));
                    date_ref.setYear(parseInt(str_visu.substring (6,10)));
                    var int_date_ref = format_time_comp(date_ref);
            
                //... la date de publication ...  
                    var str_creation = "" + OBJECT_oui.cursor.GetValue ("ver_creation_date");
                    var date_publi = new Date ();
                    date_publi.setDate(parseInt(str_creation.substring (0,2)));
                    date_publi.setMonth(parseInt(str_creation.substring (3,5)-1));
                    date_publi.setYear(parseInt(str_creation.substring (6,10)));
                    var int_date_publi = format_time_comp(date_publi);
            
                // ... la date d'application  ... 
                    var str_application = "" + OBJECT_oui.cursor.GetValue ("ver_application_date");
                    var date_appli = new Date ();
                    date_appli.setDate(parseInt(str_application.substring (0,2)));
                    date_appli.setMonth(parseInt(str_application.substring (3,5)-1));
                    date_appli.setYear(parseInt(str_application.substring (6,10)));          
                    var int_date_appli = format_time_comp(date_appli);
                        
          if ((int_date_publi <= int_date_ref) && (int_date_ref < int_date_appli)) {

              num_line++;
              with (psDocument) {
              if (num_line%2==1){Write ("\n      <TR class=tableTD1>");} else {Write ("\n      <TR class=tableTD2>");};
              //decodage "12/01/2000" en 12 janvier 2000
              var str_date_brute = "" + OBJECT_oui.cursor.GetValue ('ver_application_date');
              var str_date_litt = "";
              if (str_date_brute.length == 10) {
                str_date_litt = 
                		str_date_brute.substring (0,2) + " " 
                		+ decode_mois(str_date_brute.substring (3,5)) + " " 
                		+ str_date_brute.substring (6,10);
                }
              Write ("\n         <TD class=text><font color=\"blue\">New ! </font>" + str_date_litt + "</TD>");
              Write ("\n         <TD class=text>" + OBJECT_oui.cursor.GetValue ('ver_titre') + "</TD>");  
              Write ("\n         
              <TD class=text>
              	<A HREF=\"" + OBJECT_oui.cursor.GetValue ('pag_ref_info') 
              	+ "\">" + OBJECT_oui.cursor.GetValue ('pag_titre') + "</A>
              </TD>");
              Write ("\n         <TD class=text>" + OBJECT_oui.cursor.GetValue ('doc_comment')+ "</TD>");          
              Write ("\n      </TR>");
              } //fin du with
              
          } //fin du if dates
        OBJECT_oui.cursor.MoveNext();
        } //fin de la boucle i
    
    /TABLE