select
"VAL_PROFIL_ID",
"PROFIL_ID",
"NOM_PROFIL",
"DESC_PROFIL",
OUTILS_PKG.decode_desc_val_lov('NIV_PROFIL',niveau_profil) "NIVEAU_PROFIL",
-- ANCIENNE COLONNE AVEC GESTION DE PROFIL PAR ID
--===============================================
-- decode(niveau_profil,1,OUTILS_PKG.decode_desc_val_lov('NIV_PROFIL',niveau_profil)
-- ,2, (select (SELECT application_name
-- FROM APEX_APPLICATION_ITEMS
-- WHERE item_name = 'APP_NAME') from dual)
-- ,3, APEX_UTIL.GET_GROUP_NAME(p_group_id => VAL_NIVEAU_PROF)
-- ,4, APEX_UTIL.GET_USERNAME(p_userid => VAL_NIVEAU_PROF)
-- )
-- "VAL_NIVEAU_PROF",
--===============================================
"VAL_PROFIL",
APEX_UTIL.PREPARE_URL('f?p=&APP_ID.:92:&SESSION.:::92:P92_SANS_DATE,P92_NOM_TABLE,P92_CLE_TECH1:O,VAL_PROFIL,' || VAL_PROFIL_ID) URL_AUDIT,
"VAL_NIVEAU_PROF_CODE",
--WHO COLUMNS
"CREE_PAR",
"MODIFIE_PAR",
"DATE_CREATION",
"DATE_MAJ"
from "#OWNER#"."PROFIL_V"
order by profil_id, niveau_profil
* Dans S@M "Paramétrage -> "Option de profil", directement sur l'écran : cliquer sur "actions -> sélectionner colonnes" et **positionner la colonne "val_niveau_prof_code" juste avant "audit"**.
PROFIL_PKG.ins_VAL_PROFIL(
p_profil_id => :P60_PROFIL_ID
,p_niveau_profil => :P60_NIVEAU_PROFIL
,p_val_niveau_prof_code => :P60_VAL_NIVEAU_PROF
,p_val_profil => :P60_VAL_PROFIL
,p_val_profil_id => :P60_VAL_PROFIL_ID
);
* Dans la page 60 APEX : remplacer le **process "Updte Val profil"** par :
PROFIL_PKG.upd_VAL_PROFIL(
p_profil_id => :P60_PROFIL_ID
,p_niveau_profil => :P60_NIVEAU_PROFIL
,p_val_niveau_prof_code => :P60_VAL_NIVEAU_PROF
,p_val_profil => :P60_VAL_PROFIL
,p_val_profil_id => :P60_VAL_PROFIL_ID
);
* Remplacer le contenu de la **liste de valeurs "LOV VAL NIVEAU OPTION PROFIL"** par :
SELECT desc_val, return_val
FROM
(
SELECT 'Système' desc_val ,'SYSTEME' return_val
FROM DUAL
WHERE :P60_NIVEAU_PROFIL = 1
UNION
SELECT application_name desc_val, application_name return_val
FROM APEX_APPLICATIONS
WHERE application_id = :APP_ID
AND :P60_NIVEAU_PROFIL = 2
UNION
SELECT group_name desc_val, group_name val
FROM WWV_FLOW_GROUP_USERS
WHERE :P60_NIVEAU_PROFIL = 3
UNION
select user_name desc_val, user_name return_val
from APEX_040200.WWV_FLOW_USERS
WHERE :P60_NIVEAU_PROFIL = 4
)
----
#!/bin/sh
. /u01/app/oracle/.profile
# paramètres du script :
# $1 : login BDD
# $2 : mdp BDD
# $3 : nom du client
# $4 : adresse(s) de destination (si plusieurs, les séparer d'une virgule
if [ ! $4 ]; then
dest="support@salamander-soft.com"
else
dest=$4
fi
script_sql=$(sqlplus -s /nolog <
* Créer le fichier **supervision_erreur.sh** sur l'environnement de PROD. Voici son contenu :
#!/bin/sh
. /u01/app/oracle/.profile
echo "
Supervision
Supervision S@M du $(date +"%d-%m-%y") - $1
K0
Connexion à la database $1 impossible
$2
"
* Ajout de la ligne suivante dans la **CRONTAB** du bon user de la PROD (mettre le bon **CHEMIN**) :
00 07 * * * /CHEMIN/supervision.sh "LOGIN ORACLE" "MDP ORACLE" "nom du client" "adresse mail de destination (paramètre optionnel : support@salamander-soft.com par défaut)"
----
===== Nouveau menu S@M=====
==== Mission ====
Créer un nouveau menu S@M à partir de rien.
==== Elements pour MEP ====
\\
=== 1) Les fichiers à télécharger dans S@M : ===
4 fichiers CVS (**dev_erra\appli\theme APEX\menu**) sont à télécharger dans S@M (**Shared Components -> Static Files**) :
* **jquery-2.1.4.min.js**.
* **jquery.hoverIntent.minified.js**.
* **menu.js**.
* **style_menu.js**.
\\
=== 2) Modifications APEX : ===
2-1) Dans **Shared Components -> Templates**, créer ou modifer la "**list**" du menu :
* Code pour Before List Entry -> List Template Before Rows :
* Code pour Template Definition -> List Template Current et Template Definition -> List Template Noncurrent :
#TEXT#
* Code pour Template Definition -> List Template Current with Sublist Items et Template Definition -> List Template Noncurrent with Sublist Items :
#TEXT#
* Code pour Before Sublist Entry -> Sublist Template Before Rows :
* Code pour Sublist Entry -> Sublist Template Current et Sublist Entry -> Sublist Template Noncurrent :
#TEXT#
* Code pour Sublist Entry -> Sublist Template Current with Sublist Items et Sublist Entry -> Sublist Template Noncurrent with Sublist Items :
#TEXT#
* Code pour After Sublist Entry -> Sublist Template After Rows et After List Entry -> List Template After Rows :
\\ 2-2) Dans **Shared Components -> Templates**, créer ou modifer la page "**Salamander - One Level Tabs - Left and Right Sidebar (No fixed-width / DIV left and optional table-based right)**" :
* Remplacer le Definition -> Header par :
#TITLE#
#APEX_CSS#
#TEMPLATE_CSS#
#THEME_CSS#
#PAGE_CSS#
#APEX_JAVASCRIPT#
#TEMPLATE_JAVASCRIPT#
#APPLICATION_JAVASCRIPT#
#PAGE_JAVASCRIPT#
#HEAD#
#FORM_OPEN#
* Remplacer le Definition -> Footer par :
#FORM_CLOSE#
#DEVELOPER_TOOLBAR#
#GENERATED_CSS#
#GENERATED_JAVASCRIPT#
\\ 2-3) Désactiver (**Conditions : never**) l'ancien menu sur la page 0 et 1.
2-4) Sur la page 0, créer une nouvelle région :
* de type **HTML**.
* Title : **IMAGE**.
* Region Template : **Breadcrumb Region**.
* Pas de Parent Region.
* Display Point : **After Header**.
Une fois cette région créée, il faut :
* rajouter "left_img_container" dans sa propriété Attributes -> Region CSS Classes.
* mettre Start New Grid à Yes.
* mettre Column à 1.
* s'assurer que Column span est sur Automatic.
2-5) Sur la page 0, créer une nouvelle région :
* de type **List**.
* Title : **pulldown_menu**.
* Region Template : **No Template**.
* Pas de Parent Region.
* Display Point : **After Header**.
* List : **Pull Down Menu**.
* List Template : **La List template que vous avez créé précédemment**!
Une fois cette région créée, il faut :
* mettre Start New Grid à NO.
* mettre Column à 2.
* s'assurer que Column span est sur Automatic.
* Sélectionner "**Current Page is NOT in Expression 1**" pour le Condition Type et écrire **2,101,102** dans Expression 1.
----
===== Modifications du template =====
==== Mission ====
Modifier le template pour mieux placer, centrer, etc... les éléments.
==== Elements pour MEP ====
1) Pour supprimer la barre d'onglet, il faut :
* supprimer pour chaque page la référence aux onglets en positionnant dans la définition de la page l'élément Standard Tab Set à %.
* dans la partie **body** du page template de "**Salamander - One Level Tabs - Left and Right Sidebar (No fixed-width / DIV left and optional table-based right)**", ajouter l'attribut **style="height: 5px;"** à la balise div ayant une class="bg".
2) Pour placer l'image de la page à gauche du menu, il faut :
* changer le User Interface -> Region sur la région IMAGE qui a été créée précédemment.
* ajouter une image pour la page 1.
3) Pour placer le Nb ordres à valider FO à droite du menu, commencer par désactiver l'ancien report "**Nombre d'ordres validés par FO**" puis créer une nouvelle région :
* de type **HTML**.
* Title : **Nb Ordres valid FO**.
* Region Template : **Region without Title**.
* Pas de Parent Region.
* Display Point : **After Header**.
Une fois cette région créée, il faut :
* mettre Grid Layout -> Start New Row à NO.
\\ 4) Pour placer le PTF par défaut en dessous du menu :
* mettre le Display Point sur **After Header**.
\\ 5) Pour appliquer les modifications au template (images du header, le contenu des pages scrollable, supression footer, etc...), modifier le template ** Salamander - dérivé de One Level Tabs - Left and Right Sidebar (No fixed-width / DIV left and optional table-based right)** :
* remplacer le code de Definition -> Header par :
#TITLE#
#APEX_CSS#
#TEMPLATE_CSS#
#THEME_CSS#
#PAGE_CSS#
#APEX_JAVASCRIPT#
#TEMPLATE_JAVASCRIPT#
#APPLICATION_JAVASCRIPT#
#PAGE_JAVASCRIPT#
#HEAD#
#APP_VERSION#
#REGION_POSITION_07#
#FORM_OPEN#
* remplacer le code de Definition -> Body par :
#TAB_CELLS#
#REGION_POSITION_01##REGION_POSITION_04#
#SUCCESS_MESSAGE##NOTIFICATION_MESSAGE##GLOBAL_NOTIFICATION#
#REGION_POSITION_02#
#BOX_BODY#
#REGION_POSITION_03#
* remplacer le code de Definition -> Footer par :
#FORM_CLOSE#
#DEVELOPER_TOOLBAR#
#GENERATED_CSS#
#GENERATED_JAVASCRIPT#
6) Modifier la taille de l'image de la page de connexion
* Région "Login Image** / Image Tag Attributes => style="width:300px; margin:50 auto;"
* Région "Salamander Asset Management":
- P101_LOGO => Condition = Never
- P101_USER_NAME => Label Alignement = Left Center
- P101_PASSWORD => Label Alignement = Left Center
7) Ajustements apportés au fichier menu.css (update KO sur CVS !??!)
li.hasSubMenu > div.right-arrow {
display : inline-block;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
border-left: 10px solid #C72729;
float: right
}
/* propriétés communes des "ul" du menu header */
/*--------------------------------------------*/
ul.multiLevelMenu li, ul.subMenu li{
position: relative;
display: inline-block;
width: 85px;
padding: 5px 5px 5px 5px;
text-align: center;
background-color: #FFFFFF;
color: #000000;
}
.showSubMenuNear {
top: -4px;
left: 80px;
}
8) Créer liste menu pour dropdown (récupérer celle de DEV) + créer liste dynamique utilisé par template.