Commit 07baff74 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

WIP passage à Bootstrap 5

parents fab5b530 74f5d64f
Pipeline #12104 passed with stage
in 19 seconds
......@@ -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
=========
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
......
......@@ -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' => [],
],
[
......
.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
body {
font-family: ubuntu, arial, sans-serif;
padding-top: 60px;
padding-top: 50px;
}
/* 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,iVBORw0KGgoAAAANSUhEUgAAAJoAAACjCAYAAAByigdyAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gcICw0S2TbD5AAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAABH/SURBVHja7Z3pcuM4loUPQABcRErykllLz0xFdMz7P9FMdFdPZ2ZlepNEUiRBApgfkmwtpCQvckryPREVYatsmSV+de6CC5A55xxIpAOL00dAItBIBBqJRKCRCDQSgUYiEWgkAo1EItBIBBqJQCORCDQSgUYiEWgkAo1EoJFIBBqJQCORCDQSgUYi0EgkAo0ErZujvTZBt+c89OMuw2RqMIwFri965Gikw0D2kDE4b4C7TKDS9dFdI6MNxGcAWc7ARQ9s/pptMlwlDFdH5GzkaGcAmSd6YAzA/B8uY9ylDncPOYFGejvIHq1sSZ6McZ86TLKSQCMdBrLHl5iHpOcTaKSXQTbKGTy5BTIG2CbFpwHAGDuK66b2xglCxkWv28UA2DrFp4HAsB9SjkZ6IWQtTsaWvpg52XFBRo52ipB1AHasTkaOdmaQuSOGjBztBCFjLbS5OsX1EUNGjkaQkaMRZC2QrRUBztQIlTt6yMjRTgAy1gLZ4jXuSRSaH9VSE4F2opCta/01rmI8ZO7oYSPQjhAy1pGPsRbqGABPxXjIjxs2GhM6QsjQEiqxB3imznDRO67xIHK0E4aMdYRVT8YYHamzEWhHAJm3AzJr9Ox71g7Y8s8fK2wE2k9SmpUYl8FsCqMlJD5CVuf4778p2DrdngMtDT56Ksa4kChLTaB9dCf7dm/AuXiiqiUk2jrF9WB2i365kLB60upirM3ZhMKXW4270XE4GxUDPzFcbkvsbZ3ieigwTMIVF/wx0uCy//Q7bHv7w9QZBj2Gq+HPLRDI0d5Zk9w+DS0+AzIASOIAn4cKtp48hcotzvYYRnOH+5/sbATaO+uXKwXXTDodqAuyDdhawmhXgSCOADYKnT9J//N/KbhMViFrcvz99wic7zd+/b//TiFU0kpX2ztYo/HrEAgCRY52brLWtjvbpYStJytO9mnA94YMAD4PJcyas21rgXiewrd7/VOcjRztgMqLCtOiBuftyXial/hxr+HA8GkoMEieP4WRZiVuRxpc9dG1D2W9R9foDIOI4fIdCwQC7WCQaXy/K2CgwEWIvsrw6TJu/Vnn3Kt2K6VZiduxhqf67ZC1VKaNztB/R9gItDcOk1objNISaQHA88G5BGMMpimQ+A1+/ZQc5G+n+czZlmFjDIBD55LWe8JGoL2hRmmBSaahXQzGvdZ2Q19muO5wtrfQP74sFQhda6ZsuQDR+DwEAv+wBQIVA2+gujH4fpvidlSjMgE49+ZWslkJjqYe/rpJD3Yt10OJRk/2gmyxgvD9HQoEcrRXStcNbu6nmGoOxn0wT3ZOXMwzMph6ikHkOnO2twijd2MN0ZKzdTWJG50hCQ8XRsnRXqm/bnMUTTQ7NmoNMsbW2w0OcACDxbQ0B7umpBfgaqBmzrYMGOteG5V+jLRwSLPiINdEm1Ne6mS6wbfbHNoG4B5frRrZakUJONimhIcaUcAR9xWU9A56fUkvAADcjScQfr/VxTaqUuee1cej0PkO+vPrGA0ftOZAKxMYRsPZCp+HAr4S8JV892v959cU0k+6oijAgLpKcREL9JOQQDuWnOyvmxzahWDz1sVKO+ERsBowJXxpMewHiAJ1MLfYJ2e7H+tVZ1u6lENDRqC9qLrMUTQS3PPBGO+ATIO7AoOeQC9U8H350689mxcI0u+/O2SUoz1DxliMJwWKWoDLAGypfFv3KYkCf/s1gecdT60VL+VsMui/K2QE2p5yzqGsaqRTA8bVE2TYzMcUK/DLp97eS0rOOTjn0BiLujYwxoIxBs/j8DwGKTxwzt8UtvvJBA7s3SAj0PYGDUhzDevF4MzbCJVPH2aB//xtsPf7WuvQGIP70RS6djAQABgY9+CMBmcGw0QiDBSUFG8Gm+dxOOcQhe937CiBtoeKUiMv3fzT2lwAd9YAJsfFUMFau9OBjLHIphUmmUZjOcB9MM+Dx/gTwVwAcLhPS/A0xyCWGPajN/nvCX/CPBqBtofrFGUNxwQ44y0h0cHZBoEEAl/uhCzNS2S5RlEzcC8Cl3xeVKyFY84A5yBkBGsbjLIS1ubvOtpDoL0naM6i1Ga2vMS6Wp4Wv32Kd0L2MMoxyg3AAwilWt9p5Qs2ywY9TwKeRFppBEX1riHvrURLULv6P2AwdiuKgGuQT9v3UDaNQVFqfP0xwUMOMC+EJ9QGYLt3qTtwLnDzoDGa5Cf3OZKj7VBjLKwFmNhcMpoZHAe47GzGjiYF8tKAyQGE6qR569zYosPKGQNTPYyzDFHQQClBoJ290y2R4IkA3+9TDHWDKFSP7ZBJ3sA4Ae5FrQvZq2GyC7D1v8sALvEwmeLqogfheQTaOUh4HMIDtG3APDVr0LpNFjyV4CHPMc6nABgcPHARw2NsZQUBnSC5TsLWv/OEj1LXqGtDoJ2TpODQ2j65WEcvViztPmdbouTmv3RgYLC2gQMej0roKj0Y44AMUVYavpI/bQ2VQHvLaokzxJHEtNJwTj26E9vqUK71J9ZHcgAH01RgTkMJhkBw1Mai0gxCxRtd4eXfd/P9CYydxudIoO3MxRiUFPBlhco04G0Z/UZ+xXY6mbU1nKlx2ecI/N5G5//PrynE0mjPxjm23ENjHYy1JxE+P3R7Y5wWmBa7j3ZSSqDf88FsCWsbrO8HYNgeKh8hcQ5wFo3OIFDgss/Rj8MNyIyxCBVgmnIWVtlmPscYmw3s2tMYvvmwjnZzn2E8ZWCo8fnCPk6kdimJAzTG4iEt4OTiQaxs58F4T6HOzJaqbIFBJBCFEYKO8SHOGaTkKBrb+c7OGngc4B4n0I4dssXRUT8eZrP1u2C7GESIwhpfbit4Itie8K+HymYK5Vn8/vvuRXfG2KzaFV2rEQ7OWUjJwU8kSRMfHTIA4LK/N2y+kriMa4zSCSxT4N68QHiKj3DzYsA2Gs7WUJ5BEktE4X4jOWWpMc404In5SBLDah1h4WwN36eG7clAtriBnurjZk/Yhv0IwiuRTTXKWsNCAIyDgc0gcwYMFkoAUSSQxBEY2F5tCGMspoWGcQKSiw3IZm7m4DELJcXRPPiVQNsC2XqI46qP0WSMKFA7p2PjXoDAl6gbg0o3aIyBtQ4eZ5DSg/AkfCXgPaMidM6hKDWy0kLO2xube0QZTFOiH4k3m1Ej0A4JWYsRWJ3iYqD2HsEWwoMQ3mNS79xiL+fzXcZai6LUuJ9oeCoG2lYTGGDqEpIbREHvZNzsQ4C2DllXt93oFFeDlx0dtbjhL73vdWOQTytM8gaeisEYb93CZ0wNZyvEiTqpBfWzB60VMva2kL1WdWOQ5SUmUwvp9zsfzWOdgW0qxIFA0gtP7l6IjwBZW7vhZ0I225ACpHmBNK9hISBVvHqdbulLZ2HqEqHvcDGMT/J+iI8I2eLLfSF7GOdQUqAX+a8GzFiLotCYljXKmsHzQgghV7bvLYdL5xxMXSGQFtcXycneE3HWkLH2fOw5kP11M0HZKMBWcM49bll7XqLvoOvZWE861agNB+cK0vfn18Ra/2dwzqKpSwTC4NNlctL3RZwjZEL2OgF7CWSeDAAEuB1PHlsb+yrNChRVg0pbWPCZg0lv86C+NdasbWDqCqGyuD5xyM4KtI0WBntLyBbn9fdxO073Am2xMfg+NZAqhuczeB3gr0NmGg1rKkQ+w9VFchb35yzO3kizEjepAPfE1tn710C2rEZPcD1QewE3muQY5w7SjzsBm6MJBoamLgCrEUcCw37vXHzg9MeEbu4z/BiZGWRv7GStTwJms0cVZlMNu8eIzrDfQz9iaKqs28WcA5xDrXMIpjFM/LOC7ORD5819hsmUwVO9znwMAEydv8jJ2t7UWQtXp+hfhHuPUF8MegBypEW24WzWGlhTw1mNOPTQCyMoJXFuOlnQJlmBVAfwljrknbedcejavDxcPlEBV6e4vgwRPfNYgWXYlB/DOgNnDKwpoTwgGfgIA3VSy0pnn6MZY/HlRwrDk9UzylpciD3mVTmSsP2A4u83ExRL4bLLyWyd4Y/f+6+69odxjmxqAMYgPYekpyDlaS2Qf7hi4B//noCpfudGkbYQGgersC0gE1vCJZyF1Sk+XYZvckDKtKhgrEUU+OCcna2LnQ1o06LC9/sSTKw627btbsuwdUK2lKg7Z2cPBLvYD7LRJAccMBz0drY/PgJgZ9PeWIGN873Gqxudw0MDy/zdkD3Dye4eMuQVAwNDqMxZNFo/FGj5tELgy61zYv/4Mml96NY6ZE+OYh4P1dtoN7zAyRaQSb83zwmnCCXBdjKgLVoYgMVl4uFiEHU624/7Eky2FAg7njv+WsjyaYnRVDz28hbvUxNspwFampe4TQUYF7ORnrrAf/2qtm6Y/eeXCfjc2dg2wDoau69xsraw3egpAmVOevLiLcSP2cl+PJhHyADAkyH+9W2K0Xja+XufL33Yegw4+26QqTbI5o/nkX6EsrKom4ZAO9ZwKVRvAxDPT3CfGYwm7bBFoY/PFwFck8LNYdtZIMwwg9H5i3OylfddqnrrMkU/VpBCEGjHFi4zHUCo9lGf2RRFgoe02yGi0Mcfvw9g66x1rbIdvtlp2PkeRyTcPWSYdjjZcrieQSbQj0N8dPFjc7IfD2Z2bFNLGHrshekUl/3d64GfL3wYPZ45G9tgrQXgCHnFcPuQbU38SxNsOBkjyE6jGFgk/uuQrSf0Ruf447foWWeC/fn16QlvreGTrSfwOXq+w9VF3OpkG5Ct/T5BdqSO1upkLdYzczL+7IPnPl34MNX4MWfbBhkACNVDXjHcLTlbG2SMIDsdR1tO/DfC5QZkL9+tNC0q3I5KcJmAL/psbHuB0OgckT/7eKaaQareVkgJsiMFbSNcdiTqpp6HyzdYG/zX1wlE0N9dhbLF356dUSZk2BkqgdkDvPo9guzoQufjZOwuyHSKy+Ttjme6vvDRrIVRhu4ZfiGDR8hYF2QlQXaUjtaW+LfdwLd0sg1n+zYrELZtEtmW8JOTHbmj3dxnuFk4GdtsXSxD9pZOtuFsw7UCgXUfEdq1P5QgO1LQbu4zpMV8SxzbfvYrMDth51CKQh9XwwBGp3Cw3cOTHZBpguw4QXuETPV2nsPP2KzFMModRuP8oLBdL2BraX10nTxEkB1pjrYM2b6HCy++bHSGYY/tnFh9jYqiwt24hKdmI0bbjlLQVYpBTyAhyI7L0dK8RF4Hz4ZsIaFijKYcdWMOdo1h6OM/fh2g0dnWM84IsiN1tH2cbOfjA+ffNFWGYcwOurG2KCvcjUoIP9k4DI8gO1JH2wsyho2Jiq6flX6MUeYO+qzKMJgVCE21mrMRZEcK2gIy0QEZW8q/Gp21uxjbbDlIP8b40GF0Adu8QCDIjjR0LkO2LRdrqtnaJQA8pA2ESraH0OUCoS7w27WCFId7BlJRVpikJaJQEWTHBlqal7jLNkd91nOxRq92/J1z+PPbFMLvdUK2nss1dYHfrg4Lm7V253PSSe8cOsdp8dTx31JaNtXm2iVjDJcJR1Ole0EGAEKG+HZTHDRnI8iOEDThcTC0Nz0XSf+2UZ9+EuIyETBz2DbaHm2tDz/GJHcn+TB7Au2F6kU+rgYCRqebpGEG2UWyfZ6sn4S4SASaKl0BFFsKChnESIvDFgikIywGJlmBu/E8uX8GZCvvkRZ4SBvIIOnO9dZeqKsM/Yid3QF25GhdrhSHuBoINHX6IsiWna0u027I1tofyo+RTimMfhhHW3a2SabR7yn0Xzh+PUkLPGQNlJ+0ulibuzW6wC+Xh61GSUcEGjA7MM975RNyJ2mBUdZA+slWyFa3umVIIoYBhdGPAdpbuuMobaCC9vMr2mf4MyQhwXa2Odoh1I9DDDtytq5pC+XHSAuHMeVsBNpzYRskAvWiz9bR+lh+WQVz2FKCjUB7rrPFM9i61kHXaVNBjGxKsBFoz1SygG0pjG4bu2Zz2KbF7HHUJALtWbAN1p2tZbZtIV2miKPtB/iRCLRu2HoCukq3Hh2q55t7adSHQHs9bGXaGkIJMgLtYLARZATau8FGkB2fzuJ5nQulWYF8qtGLaPyaQDuw3mJ9lUSgkShHI5EINBKBRiLQSCQCjUSgkUgEGolAIxFoJBKBRiLQSCQCjUSgkQg0EolAIxFoJAKNRCLQSAQaiUSgkQg0EoFGIhFoJAKNRNqi/wfbSPHcqfkfdQAAAABJRU5ErkJggg==);
}
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.navbar.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.glyphicon {
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;
}
......@@ -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\nCliquez 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\">&nbsp;</div>");
IntraNavigator.add(that.element.find(".tab-pane" + tid));
......@@ -860,7 +859,7 @@ $.widget("unicaen.tabAjax", {
va