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
|