Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
lib
unicaen
app
Commits
07baff74
Commit
07baff74
authored
Jan 07, 2022
by
Bertrand Gauthier
Browse files
WIP passage à Bootstrap 5
parents
fab5b530
74f5d64f
Pipeline
#12104
passed with stage
in 19 seconds
Changes
199
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
07baff74
...
...
@@ -9,14 +9,14 @@ cache:
paths
:
-
vendor/
unit-tests
:
stage
:
tests
script
:
-
composer install --no-interaction --no-suggest --no-progress
-
php vendor/bin/phpunit --coverage-text=coverage.txt --colors=never
artifacts
:
paths
:
-
coverage.txt
#
unit-tests:
#
stage: tests
#
script:
#
- composer install --no-interaction --no-suggest --no-progress
#
- php vendor/bin/phpunit --coverage-text=coverage.txt --colors=never
#
artifacts:
#
paths:
#
- coverage.txt
update-satis
:
stage
:
publish
...
...
CHANGELOG.md
View file @
07baff74
CHANGELOG
=========
5.
0.0
-----
-
Migration vers Bootstrap 5 (front-end).
4.0.2 (15/12/2021)
------------------
-
[FIX] uploader cassé : FormElementManagerV3Polyfill est deprecated et inutilisé, remplacé par FormElementManager
...
...
config/module.config.php
View file @
07baff74
...
...
@@ -166,6 +166,17 @@ return [
],
],
],
// Icônes fournis
'icons'
=>
[
'type'
=>
'Literal'
,
'options'
=>
[
'route'
=>
'/icons'
,
'defaults'
=>
[
'controller'
=>
'UnicaenApp\Controller\Application'
,
'action'
=>
'icons'
,
],
],
],
'cache'
=>
[
'type'
=>
'Literal'
,
'options'
=>
[
...
...
@@ -281,6 +292,8 @@ return [
'factories'
=>
[
'translator'
=>
'Laminas\I18n\Translator\TranslatorServiceFactory'
,
'navigation'
=>
'Laminas\Navigation\Service\DefaultNavigationFactory'
,
// service de gestion de la session
'Laminas\Session\SessionManager'
=>
'UnicaenApp\Session\SessionManagerFactory'
,
// service d'accès aux options de config de ce module
'unicaen-app_module_options'
=>
'UnicaenApp\Options\ModuleOptionsFactory'
,
// mapper d'accès aux individus de l'annuaire LDAP
...
...
@@ -603,25 +616,38 @@ return [
],
],
/**
* NB: Lors d'un `composer install` fait par une appli requérant le module "unicaen/app", le répertoire
* `public/unicaen` de ce module doit être copié dans le répertoire "public/" de l'appli en question grâce
* à la "post install command" suivante :
*
* "scripts": {
* "post-install-cmd": [
* "cp -r vendor/unicaen/app/public/unicaen public/"
* ]
* }
*
* Les chemins ci-dessous sont donc relatifs au dossier racine de l'appli.
*/
'public_files'
=>
[
'head_scripts'
=>
[
'010_jquery'
=>
'/unicaen/app/vendor/jquery-1.11.3.min.js'
,
'020_jqueryui'
=>
'/unicaen/app/vendor/jquery-ui-1.11.4/jquery-ui.min.js'
,
'015_jquery'
=>
'/unicaen/app/vendor/jquery-3.6.0.min.js'
,
'020_jqueryui'
=>
'/unicaen/app/vendor/jquery-ui-1.12.1/jquery-ui.min.js'
,
'040_bootstrap'
=>
'/unicaen/app/vendor/bootstrap-5.0.2/js/bootstrap.bundle.min.js'
,
],
'inline_scripts'
=>
[
'010_bootstrap'
=>
'/unicaen/app/vendor/bootstrap-3.3.5/js/bootstrap.min.js'
,
'020_app'
=>
'/js/app.js'
,
'030_util'
=>
'/unicaen/app/js/util.js'
,
'040_unicaen'
=>
'/unicaen/app/js/unicaen.js'
,
'050_jquery_form'
=>
'/unicaen/app/vendor/jquery.form
-3.51
.js'
// pour l'uploader Unicaen uniquement!!,
'050_jquery_form'
=>
'/unicaen/app/vendor/jquery.form
.min
.js'
// pour l'uploader Unicaen uniquement!!,
],
'stylesheets'
=>
[
'010_jquery-ui'
=>
'/unicaen/app/vendor/jquery-ui-1.11.4/jquery-ui.min.css'
,
'020_jquery-ui-structure'
=>
'/unicaen/app/vendor/jquery-ui-1.11.4/jquery-ui.structure.min.css'
,
'030_jquery-ui-theme'
=>
'/unicaen/app/vendor/jquery-ui-1.11.4/jquery-ui.theme.min.css'
,
'040_bootstrap'
=>
'/unicaen/app/vendor/bootstrap-3.3.5/css/bootstrap.min.css'
,
'050_bootstrap-theme'
=>
'/unicaen/app/vendor/bootstrap-3.3.5/css/bootstrap-theme.min.css'
,
'010_jquery-ui'
=>
'/unicaen/app/vendor/jquery-ui-1.12.1/jquery-ui.min.css'
,
'020_jquery-ui-structure'
=>
'/unicaen/app/vendor/jquery-ui-1.12.1/jquery-ui.structure.min.css'
,
'030_jquery-ui-theme'
=>
'/unicaen/app/vendor/jquery-ui-1.12.1/jquery-ui.theme.min.css'
,
'040_bootstrap'
=>
'/unicaen/app/vendor/bootstrap-5.0.2/css/bootstrap.min.css'
,
'060_unicaen'
=>
'/unicaen/app/css/unicaen.css'
,
'065_unicaen-icon'
=>
'/unicaen/app/css/unicaen-icon.css'
,
'070_app'
=>
'/css/app.css'
,
],
'printable_stylesheets'
=>
[
...
...
@@ -634,7 +660,7 @@ return [
'BjyAuthorize\Guard\Controller'
=>
[
[
'controller'
=>
'UnicaenApp\Controller\Application'
,
'action'
=>
[
'maintenance'
],
'action'
=>
[
'maintenance'
,
'icons'
],
'roles'
=>
[],
],
[
...
...
public/unicaen/app/css/unicaen-icon.css
0 → 100644
View file @
07baff74
.icon
:before
{
font-family
:
"Font Awesome 5 Free"
;
display
:
inline-block
;
vertical-align
:
middle
;
font-weight
:
900
;
}
.icon
{
padding-right
:
3px
;
}
.icon.iconly
{
padding-right
:
0
;
}
.icon.icon-voir
:before
,
.icon.icon-view
:before
{
content
:
"\f06e"
;
}
.icon.icon-ajouter
:before
{
content
:
"\f0fe"
;
}
.icon.icon-edit
:before
,
.icon.icon-editer
:before
,
.icon.icon-modifier
:before
{
content
:
"\f303"
;
}
.icon.icon-historiser
:before
{
content
:
"\f1f8"
;
}
.icon.icon-restaurer
:before
{
content
:
"\f829"
;
}
.icon.icon-monter
:before
{
content
:
"\f062"
;
}
.icon.icon-descendre
:before
{
content
:
"\f063"
;
}
.icon.icon-user
:before
,
.icon.icon-utilisateur
:before
{
content
:
"\f007"
;
}
.icon.icon-user-add
:before
,
.icon.icon-utilisateur-ajouter
:before
{
content
:
"\f234"
;
}
.icon.icon-user-delete
:before
,
.icon.icon-utilisateur-supprimer
:before
{
content
:
"\f503"
;
}
.icon.icon-listing
:before
,
.icon.icon-lister
:before
{
content
:
"\f0ae"
;
}
.icon.icon-selectionner
:before
{
content
:
"\f65e"
;
}
.icon.icon-fichier
:before
,
.icon.icon-file
:before
{
content
:
"\f15b"
;
}
.icon.icon-fichiers
:before
,
.icon.icon-files
:before
{
content
:
"\f0c5"
;
}
.icon.icon-dossier
:before
{
content
:
"\f07c"
;
}
.icon.icon-power
:before
{
content
:
"\f011"
;
}
.icon.icon-plus
:before
{
content
:
"\f067"
;
}
.icon.icon-minus
:before
{
content
:
"\f068"
;
}
.icon.icon-retour
:before
{
content
:
"\f053"
;
}
.icon.icon-supprimer
:before
,
.icon.icon-historiser
:before
,
.icon.icon-delete
:before
{
content
:
"\f1f8"
;
}
.icon.icon-detruire
:before
,
.icon.icon-destroy
:before
{
content
:
"\f1e2"
;
}
.icon.icon-importer
:before
,
.icon.icon-import
:before
{
content
:
"\f56f"
;
}
.icon.icon-exporter
:before
,
.icon.icon-export
:before
{
content
:
"\f56e"
;
}
.icon.icon-checked
:before
,
.icon.icon-oui
:before
,
.icon.icon-yes
:before
{
content
:
"\f00c"
;
}
.icon.icon-unchecked
:before
,
.icon.icon-non
:before
,
.icon.icon-no
:before
{
content
:
"\f00d"
;
}
.icon.icon-succes
:before
,
.icon.icon-success
:before
,
.icon.icon-ok
:before
{
content
:
"\f164"
;
}
.icon.icon-echec
:before
,
.icon.icon-failure
:before
,
.icon.icon-ko
:before
{
content
:
"\f165"
;
}
.icon.icon-info
:before
,
.icon.icon-information
:before
{
content
:
"\f05a"
;
}
.icon.icon-warning
:before
,
.icon.icon-attention
:before
,
.icon.icon-avertissement
:before
{
content
:
"\f071"
;
}
.icon.icon-question
:before
{
content
:
"\f059"
;
}
.icon.icon-cloner
:before
{
content
:
"\f24d"
;
}
.icon.icon-toggle-on
:before
{
content
:
"\f205"
;
}
.icon.icon-toggle-off
:before
{
content
:
"\f204"
;
}
.icon.icon-pdf
:before
{
content
:
"\f1c1"
;
}
.icon.icon-csv
:before
{
content
:
"\f6dd"
;
}
.icon.icon-code
:before
{
content
:
"\f1c9"
;
}
.icon.icon-valider
:before
{
content
:
"\f00c"
;
}
.icon.icon-recharger
:before
,
.icon.icon-refresh
:before
{
content
:
"\f021"
;
}
.icon.icon-notify
:before
,
.icon.icon-notifier
:before
{
content
:
"\f0e0"
;
}
.icon.icon-telecharger
:before
,
.icon.icon-download
:before
{
content
:
"\f019"
;
}
.icon.icon-televerser
:before
,
.icon.icon-upload
:before
{
content
:
"\f093"
;
}
.icon.icon-euro
:before
{
content
:
"\f153"
;
}
.icon.icon-filtrer
:before
,
.icon.icon-filter
:before
{
content
:
"\f0b0"
;
}
.icon.icon-clef
:before
{
content
:
"\f084"
;
}
.icon.icon-diagramme
:before
{
content
:
"\f080"
;
}
.icon.icon-star
:before
{
content
:
"\f005"
;
}
.icon.icon-calendrier
:before
{
content
:
"\f133"
;
}
.icon.icon-chercher
:before
,
.icon.icon-search
:before
{
content
:
"\f002"
;
}
.icon.icon-compresser
:before
,
.icon.icon-archive
:before
,
.icon.icon-zip
:before
{
content
:
"\f1c6"
;
}
.icon.icon-attente
,
.icon.icon-wait
,
.icon.icon-hourglass
{
content
:
"\f252"
;
}
\ No newline at end of file
public/unicaen/app/css/unicaen.css
View file @
07baff74
body
{
font-family
:
ubuntu
,
arial
,
sans-serif
;
padding-top
:
6
0px
;
padding-top
:
5
0px
;
}
/* Personnalisation de l'affichage en fonction de l'état du l'application (development, test, production) */
...
...
@@ -13,24 +13,6 @@ body.test {
background-image
:
url(data:image/png;base64,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)
;
}
body
.development
.navbar-inverse
{
background-image
:
linear-gradient
(
to
bottom
,
#660000
0px
,
#870a0a
100%
);
border-color
:
#660000
;
}
body
.development
.navbar-inverse
.navbar-nav
.active
a
{
background-image
:
linear-gradient
(
to
bottom
,
#d22828
0px
,
#a41212
100%
);
}
body
.test
.navbar-inverse
{
background-image
:
linear-gradient
(
to
bottom
,
#002768
0px
,
#0a3783
100%
);
border-color
:
#002768
;
}
body
.test
.navbar-inverse
.navbar-nav
.active
a
{
background-image
:
linear-gradient
(
to
bottom
,
#3773d7
0px
,
#1d57b7
100%
);
}
body
.test
div
#contenu-principal
{
background-color
:
white
;
}
...
...
@@ -69,37 +51,44 @@ span.number span.number-dec-00 {
/* FIN */
.navbar
{
padding-top
:
.25rem
;
padding-bottom
:
.25rem
;
}
a
.navbar-brand
h1
{
font-size
:
30px
;
padding
:
0
;
margin
:
0
;
line-height
:
20px
;
}
div
.nav
bar.breadcrumbs
{
margin-top
:
20px
;
.nav
-link.divider
{
padding
:
0
;
}
#contenu-principal
{
margin-bottom
:
30px
;
}
#footer
{
margin-bottom
:
20px
;
}
#footer
ul
{
width
:
75%
;
margin
:
auto
;
text-align
:
center
;
}
#footer
ul
li
{
display
:
inline
;
padding
:
0
1em
;
border-left
:
1px
gray
solid
;
}
#footer
ul
>
li
:first-child
{
border
:
none
;
}
#footer
a
.ucbn
{
background-image
:
url('data:image/png;base64,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')
;
background-repeat
:
no-repeat
;
...
...
@@ -110,6 +99,9 @@ div.navbar.breadcrumbs {
text-indent
:
-9999px
;
}
thead
{
font-weight
:
bold
;
}
...
...
@@ -118,6 +110,10 @@ body.wait * {
cursor
:
wait
;
}
.form-control
{
font-size
:
inherit
;
}
fieldset
>
fieldset
{
margin-left
:
1.5em
;
}
...
...
@@ -153,11 +149,15 @@ ul.action.list-inline li {
padding
:
0
;
}
div
.messenger
span
.
glyph
icon
{
div
.messenger
span
.icon
{
float
:
left
;
margin-right
:
0.5em
;
}
#user-status-icon
{
font-size
:
16px
;
}
.user-profile-select-form
{
padding-left
:
25px
;
}
...
...
@@ -169,15 +169,12 @@ div.ui-datepicker {
div
.multicheckbox
label
{
display
:
block
;
font-weight
:
normal
;
margin-bottom
:
10px
;
}
div
.multicheckbox
label
input
[
type
=
checkbox
],
div
.multicheckbox
label
input
[
type
=
radio
]
{
float
:
left
;
margin-right
:
5px
;
width
:
15px
;
height
:
auto
;
}
...
...
@@ -307,3 +304,37 @@ table.table-extra-condensed tr th {
.instadia-messages
.message.message-droite
{
margin-left
:
50px
;
}
/***************** .has-error disparaît dans bootstrap 4 mais est utilisé dans le PHP/js *********************/
.has-error
.help-block
,
.has-error
.control-label
,
.has-error
.radio
,
.has-error
.checkbox
,
.has-error
.radio-inline
,
.has-error
.checkbox-inline
,
.has-error.radio
label
,
.has-error.checkbox
label
,
.has-error.radio-inline
label
,
.has-error.checkbox-inline
label
{
color
:
#dc3545
;
}
.has-error
.form-control
{
border-color
:
#dc3545
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
);
}
.has-error
.form-control
:focus
{
border-color
:
#843534
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
),
0
0
6px
#ce8483
;
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
),
0
0
6px
#ce8483
;
}
.has-error
.input-group-addon
{
color
:
#dc3545
;
background-color
:
#f2dede
;
border-color
:
#dc3545
;
}
.has-error
.form-control-feedback
{
color
:
#dc3545
;
}
public/unicaen/app/js/bootstrap-datetimepicker.min.js
View file @
07baff74
This diff is collapsed.
Click to expand it.
public/unicaen/app/js/unicaen.js
View file @
07baff74
...
...
@@ -12,11 +12,8 @@ $(function ()
$
(
document
).
ajaxComplete
(
function
(
event
,
xhr
,
settings
)
{
if
(
xhr
.
status
===
403
)
{
if
(
confirm
(
"
Votre session a expiré, vous devez vous reconnecter.
\n\n
Cliquez sur OK pour être redirigé(e) vers la page de connexion...
"
))
{
var
pne
=
window
.
location
.
pathname
.
split
(
'
/
'
);
var
url
=
"
/
"
+
(
pne
[
0
]
?
pne
[
0
]
:
pne
[
1
])
+
"
/auth/connexion?redirect=
"
+
$
(
location
).
attr
(
'
href
'
);
$
(
location
).
attr
(
'
href
'
,
url
);
}
alert
(
"
Opération non autorisée ou session expirée.
"
);
xhr
.
abort
();
}
});
...
...
@@ -27,7 +24,7 @@ $(function ()
if
(
$
(
window
).
scrollTop
()
>
100
)
{
$
(
'
.scrollup
'
).
fadeIn
();
}
$
(
window
).
scroll
(
function
()
$
(
window
).
on
(
"
scroll
"
,
function
()
{
if
(
$
(
this
).
scrollTop
()
>
100
)
{
$
(
'
.scrollup
'
).
fadeIn
();
...
...
@@ -36,7 +33,7 @@ $(function ()
$
(
'
.scrollup
'
).
fadeOut
();
}
});
$
(
'
.scrollup
'
).
click
(
function
()
$
(
'
.scrollup
'
).
on
(
"
click
"
,
function
()
{
$
(
"
html, body
"
).
animate
({
scrollTop
:
0
},
300
);
return
false
;
...
...
@@ -255,7 +252,7 @@ IntraNavigator = {
//$('body').one("click", ".intranavigator .btn-primary", IntraNavigator.btnPrimaryClickListener);
// Réglage du focus sur le champ de formulaire ayant l'attribut 'autofocus'
$
(
'
.intranavigator [autofocus]
'
).
focus
(
);
$
(
'
.intranavigator [autofocus]
'
).
trigger
(
"
focus
"
);
},
/**
...
...
@@ -350,7 +347,7 @@ $.fn.autocompleteUnicaen = function (options)
highlight
(
element
.
val
(),
li
,
'
sas-highlight
'
);
// si l'item ne possède pas d'id, on fait en sorte qu'il ne soit pas sélectionnable
if
(
!
item
.
id
)
{
li
.
click
(
function
()
{
return
false
;
});
li
.
on
(
"
click
"
,
function
()
{
return
false
;
});
}
return
li
;
};
...
...
@@ -591,7 +588,9 @@ AjaxModalListener.prototype.start = function ()
this
.
eventListener
.
on
(
"
click
"
,
"
#
"
+
this
.
modalContainerId
+
"
a:not([download])
"
,
$
.
proxy
(
this
.
innerAnchorClickListener
,
this
));
// le formulaire éventuel est soumis lorsque le bouton principal de la fenêtre modale est cliqué
this
.
eventListener
.
on
(
"
click
"
,
this
.
getSubmitButton
().
selector
,
$
.
proxy
(
this
.
btnPrimaryClickListener
,
this
));
if
(
this
.
getSubmitButton
().
length
)
{
this
.
eventListener
.
on
(
"
click
"
,
this
.
getSubmitButton
().
selector
,
$
.
proxy
(
this
.
btnPrimaryClickListener
,
this
));
}
// interception la soumission classique du formulaire pour le faire à la sauce AJAX
this
.
eventListener
.
on
(
"
submit
"
,
"
#
"
+
this
.
modalContainerId
+
"
form
"
,
$
.
proxy
(
this
.
formSubmitListener
,
this
));
...
...
@@ -840,7 +839,7 @@ $.widget("unicaen.tabAjax", {
tab
=
this
.
getTab
(
tab
);
if
(
tab
.
attr
(
'
href
'
)[
0
]
!==
'
#
'
&&
(
!
this
.
getIsLoaded
(
tab
)
||
this
.
getForceRefresh
(
tab
)))
{
var
loadurl
=
tab
.
attr
(
'
href
'
),
tid
=
tab
.
attr
(
'
data-target
'
);
tid
=
tab
.
attr
(
'
data-
bs-
target
'
);
that
.
element
.
find
(
"
.tab-pane
"
+
tid
).
html
(
"
<div class=
\"
loading
\"
> </div>
"
);
IntraNavigator
.
add
(
that
.
element
.
find
(
"
.tab-pane
"
+
tid
));
...
...
@@ -860,7 +859,7 @@ $.widget("unicaen.tabAjax", {
var
that
=
this
;