copy liege as liege-pwa-2019 as the basis for new theme (#35227)

This commit is contained in:
Frédéric Péters 2019-08-06 08:59:43 +02:00
parent 05cb9db6fb
commit 14fabbf6a3
61 changed files with 3012 additions and 0 deletions

View File

@ -0,0 +1,105 @@
@charset "UTF-8";
$delete-from-basket-color: #BE0D67;
.lingobasketlinkcell {
display: none;
text-align: right;
position: absolute;
top: 160px;
}
.lingobasketlinkcell a {
font-weight: bold;
background: $nav-background;
color: $nav-color;
padding: 1ex;
margin-right: 1em;
border-radius: $border-radius;
}
div.lingobasketcell ul li {
border-bottom: 1px solid #d2d2d2;
margin-left: 1em;
padding-bottom: 3ex;
padding-top: 3ex;
list-style-type: circle;
}
div.lingobasketcell ul li:last-child {
list-style-type: none;
}
div.lingobasketcell input[type=checkbox] {
display: none;
}
.page-panier li a {
display:inline-block;
text-align:center;
min-width:15%;
color: $delete-from-basket-color;
}
.page-panier li label>a {
display:inline-block;
text-align:left;
color:#58585A;
width:45%;
}
.page-panier li label > a.basket-number {
display: inline-block;
text-align: left;
color: #58585A;
width: 10%;
}
.page-panier #content div.cell h2:first-child {
background: rgba(0, 0, 0, 0) linear-gradient(to right, #f6f6f6, white) repeat scroll 0 0;
border-radius: 0 0 0 10px;
font-weight: bold;
text-align: center;
text-transform: uppercase;
}
/* Skin "Total price" in basket page*/
div.lingobasketcell form li:last-child{
border-bottom: none;
border-top: 1px solid black;
display: block;
font-weight: bold;
margin-top: 1em;
padding-top: 1em;
width: 98%;
font-size:1.5em;
}
/* Skin "Total price" in basket page*/
form li > strong{
margin-left:22em;
}
/* Skin "supprimer" in basket page*/
a.remove-item {
content:"";
display: inline-block;
background-image: url('images/croix_annulation.png');
background-repeat: no-repeat;
background-position: left;
height:1.2em;
margin-left:5em;
text-transform: uppercase;
}
.cell.lingobasketcell li:nth-last-child(2) {
border: medium none;
}
#rub_service h4 u {
font-weight: bold;
}
div.lingobasketcell h3.regie-name {
clear: both;
}

View File

@ -0,0 +1,35 @@
/*BEGIN : no pass and no login error messages in authentic connexion page*/
div#login-age form > ul.errorlist {
top:-52px;
}
div#login-age .text ~ .errorlist {
top: 34px;
}
/*Chrome only*/
@media screen and (-webkit-min-device-pixel-ratio:0) {
div#login-age .text ~ .errorlist {
top:18px;
}
div#login-age form ul.errorlist li::before {
padding-right: 6ex;
}
}
div#login-age form ul.errorlist {
margin: 3em 0 0;
left:100px;
position:absolute;
padding: 0;
list-style: none;
}
/*END : no pass and no login error messages in authentic connexion page**/
/*BEGIN : error messages in Profile page*/
div.a2-block div.errorlist {
background-color:#e6f5fc;
}
/*END : error messages in Profile page*/

View File

@ -0,0 +1,900 @@
@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800);
/* First for IE 48 */
@font-face{
font-family: DINWeb;
src: url("fonts/DINWeb.eot");
}
/* Then for WOFF-capable browsers */
@font-face {
font-family: DINWeb;
src: url("fonts/DINWeb.woff") format("woff");
}
#toplinks {
background: white;
box-shadow: none;
border-color: $primary-color;
}
#receipt-intro a {
color: $href-color;
font-weight: bold;
text-decoration: underline;
}
div#content a#disclose-dataview {
display: none;
}
div.dataview {
display: block;
}
.wcs-forms-of-category-affaires-citoyennes,
.wcs-forms-of-category-population,
.wcs-forms-of-category-urbanisme,
.wcs-forms-of-category-recherche-genealogique,
.wcs-forms-of-category-interet-general,
.wcs-forms-of-category-environnement,
.wcs-forms-of-category-mobilite,
.wcs-forms-of-category-organisation-d-evenements,
.wcs-forms-of-category-travaux,
.wcs-forms-of-category-logement
{
background-repeat: no-repeat;
background-size: 35px 35px;
padding-left:40px!important;
}
.wcs-forms-of-category-affaires-citoyennes {
background-image: url("images/ic_population.png");
}
.wcs-forms-of-category-population {
background-image: url("images/ic_etatcivil.png");
}
.wcs-forms-of-category-urbanisme {
background-image: url("images/ic_urbanisme.png");
}
.wcs-forms-of-category-recherche-genealogique {
background-image: url("images/ic_genealogie.png");
}
.wcs-forms-of-category-interet-general {
background-image: url("images/ic_interetgeneral.png");
}
.wcs-forms-of-category-environnement {
background-image: url("images/ic_environnement.png");
}
.wcs-forms-of-category-mobilite {
background-image: url("images/ic_mobilite.png");
}
.wcs-forms-of-category-organisation-d-evenements {
background-image: url("images/ic_manifestation.png");
}
.wcs-forms-of-category-travaux {
background-image: url("images/ic_travaux.png");
}
.wcs-forms-of-category-logement {
background-image: url("images/ic_logement.png");
}
/* Make bulleted list*/
#columns .wcsformsofcategorycell ul li {
background-image: url("images/form_puce.png");
background-size: 10px 10px;
background-attachement: fixed;
background-position: left center;
background-repeat:no-repeat;
}
/* Print a lock behind required authentication forms*/
#columns .wcsformsofcategorycell ul li.required-authentication a{
width:auto;
display:inline-block;
background-image: url("images/form_lock.svg");
background-size: 10px 10px;
background-attachement: fixed;
background-position: right center;
background-repeat: no-repeat;
}
/* Print underline if required FEDICT authentication forms*/
#columns .wcsformsofcategorycell ul li.required-fedict-authentication a{
width:auto;
display:inline-block;
background-image: url("images/form_lock.svg");
background-size: 10px 10px;
background-attachement: fixed;
background-position: right center;
background-repeat: no-repeat;
text-decoration:underline;
}
/* Nouvelle class*/
#main-content ul li a:hover {
color:$highlight-text-color!important;
}
a {
text-decoration: none;
}
/* surcharge*/
div#services > ul > li,
div.a2-block,
#content div.cell,
div.block {
text-align: left;
background: white;
border-radius: 3px;
border: 0px;
}
/* resize text input for "nb_exemplaire" field*/
.nb_exemplaire input {
width:60px;
}
/* surcharge*/
div#rub_service div.category ul a,
div#services > ul > li > ul a,
div#account-management ul a,
div.categoriescell ul a,
div.wcsformsofcategorycell ul a,
div.wcscurrentdraftscell ul a,
div.wcscurrentformscell ul a {
padding: 1em;
display: block;
border-bottom: 0px!important;
position: relative;
}
/* surcharge*/
div#rub_service div.category h3,
#content div.a2-block h2,
#content div.block h2,
div#services > ul > li > strong > a,
#content div.textcell h2:first-child,
#content div.cell h2:first-child,
div#rub_service h2 {
background: transparent url("images/hr.png") left bottom no-repeat;
background-size: 100% 2px;
display: block;
position: relative;
text-transform: none;
color: $highlight-text-color;
padding: 1ex;
border-radius: 3px;
margin: 0;
text-decoration: none;
font-weight: normal;
font-size: 14.3px;
font-family: sans-serif;
border: 0;
}
div#tracking-code h3 {
border: 0;
background: none;
display: inline-block;
text-transform: uppercase;
font-size: 100%;
font-weight: bold;
color: #666;
padding-bottom: 0;
&::after {
content: " :";
}
}
div#tracking-code a{
display:inline-block;
font-size:130%;
}
label[for="id_username"]::before,
label[for="id_email"]::before{
content: url("images/icone_user.png");
visibility: visible;
}
label[for="id_username"] {
visibility: hidden;
width: 54px;
height: 1px;
}
[for="id_username"], #id_username {
float: left;
}
label[for="id_password"]::before {
content: url("images/icone_cadenas.png");
visibility: visible;
}
label[for="id_password"],
label[for="id_email"]{
visibility: hidden;
width: 54px;
height: 1px;
}
[for="id_password"], #id_password,
[for="id_email"], #id_username {
float: left;
}
input[value="Connexion"] {
background:url("images/fleche_epaisse_droite.png") no-repeat top center transparent;
color:#ED226C;
font-size: 70%;
box-shadow:none;
border:none;
float:right;
padding-top: 35px;
text-transform: uppercase;
position: absolute;
right: 0;
bottom: 1ex;
height: auto;
}
input[value="Connexion"]:hover {
box-shadow: none;
}
label[for="id_username"]::before,
label[for="id_password"]::before,
label[for="id_email"]::before{
margin-left: 31px;
margin-top: 8px;
position: relative;
visibility: visible;
z-index: 1;
}
.form-field-required label:after {
content: '*';
color: #D90024;
padding-left: 1ex;
font-size: 80%;
}
div#steps {
position: relative;
}
div#steps ol li {
color: #5A5A5A;
background-color: transparent;
margin-bottom: 0ex;
border-bottom-color: transparent;
span.label::after {
content: "";
margin-top: 2ex;
display: block;
height: 1px;
background: #E2E2E2;
position: absolute;
left: 5%;
width: 90%;
}
&:last-child span.label::after {
content: none;
}
}
/* Change step by step forms style*/
div#steps ol li.current {
background: transparent;
color: $highlight-text-color;
span.label {
font-weight: normal;
}
}
div#rub_service div.form-validation div.page {
background: transparent;
padding-left: 0;
> h3 {
color: #BE0D67;
border-bottom: 2px solid #E2E2E2;
font-size: 120%;
margin-bottom:0.5em;
}
}
#messages li, div.infonotice, div.warningnotice, div.errornotice {
background: #e6f5fc;
color: #f2f2f2;
}
#messages li, div.infonotice, div.warningnotice, div.errornotice {
background: #e6f5fc;
color: #666768;
}
#messages li::before, div.infonotice::before, div.warningnotice::before, div.errornotice::before {
font-family: FontAwesome;
font-size: 2em;
left: 0.5em;
position: absolute;
top: 0.25em;
color:$highlight-text-color;
}
div#rub_service h2 {
text-align: left;
font-weight: bold;
text-transform: uppercase;
border-radius: 0px 0px 0px 10px;
background: linear-gradient(to right, #F6F6F6, white);
}
div#steps {
border-radius: 10px 10px 0px 0px;
background: linear-gradient(to bottom, #F6F6F6, #F6F6F6 30%, white);
min-height: 400px;
}
div#steps li.current {
border-bottom:solid black 1px;
}
div#steps li.last {
border-bottom:none;
}
/* Remove border on fields validate form page */
input[readonly], select[readonly], textarea[readonly] {
border-width: 0;
padding-left: 0;
padding-top: 0;
}
label {
font-size: 1.2em;
margin-bottom: 0;
}
#steps li {
display: table;
box-sizing: border-box;
}
#steps li span{
display: table-cell;
vertical-align:middle;
}
div#steps ol li span.marker {
font-weight: bold;
padding-right: 0.2em;
}
/* profile page */
.page-profil ul#id_title > li {
list-style-type:none;
}
.page-profil #content {
#left {
float: right;
width: 73%;
}
#right {
float: left;
width: 25%;
}
#left, #right {
#a2-profile {
background: linear-gradient(to bottom, #F6F6F6, #F6F6F6 30%, white);
margin-right: 0;
border-radius: 10px;
}
#account-management {
border-radius: 10px;
background: linear-gradient(to bottom, #F6F6F6, #F6F6F6 30%, white);
h2 {
color: $font-color;
}
a::after {
content: " ";
display: block;
height: 1px;
margin-left: 5%;
width: 90%;
top: auto;
bottom: 0;
}
}
h2 {
text-transform: uppercase;
background: transparent;
font-weight: bold;
}
}
}
.page-profil .form-field-required {
box-sizing: border-box;
margin: 0 auto;
padding-bottom: 1ex;
}
.page-profil .a2-block p {
display: block;
margin: 1em auto;
}
/* Libellé du profile (auth) et valeur alignée*/
#profile dt {
color: #666666;
float: left;
font-size: 100%;
width: 40%;
}
#profile dd {
font-weight: bold;
}
/*Boutton "commander un autre document"*/
a#workflow-button-command, a#new-command {
vertical-align: middle;
float: left;
display: block;
font-size:1.2em;
font-weight:normal;
color: #BE0D67;
background-color: white;
width: 200px;
height: 3em;
line-height: 1.5em;
padding: 1px;
border: solid #BE0D67 1px;
border-radius: 10px;
text-align: center;
text-decoration: None;
}
/*Bouton "Valider votre commande"*/
a#workflow-button-paid, input#pay {
vertical-align: middle;
float: left;
margin-right:20px;
margin-left:24%;
display: block;
font-size:1.2em;
font-weight:normal;
color: white;
background-color: #BE0D67;
width: 200px;
height: 3em;
line-height: 2.5em;
padding: 1px;
border: solid #BE0D67 1px;
border-radius: 10px;
text-align: center;
text-decoration: None;
}
/* Keep border style solid for table presentation in last forms validation page*/
.form-validation .TableListRowsWidget table td{
border: 1px solid black;
}
/* Align label for error connexion*/
.page-profil input[type="submit"]:hover{
box-shadow: none;
opacity: 0.7;
}
/* When a profile data is empty, we create a new line for next "print field"*/
#profile dl > dd > ul {
display: inline;
}
/* In forms title*/
div.widget div.title {
font-weight: bold;
}
/* In forms h4 style (see first word "Traitement" in certif cohab legale)*/
h4 {
font-weight: normal;
text-transform: uppercase;
}
#footer {
border-top: 1px solid #eee;
text-align: center;
}
/* Change size for button => usefull for "delete" draft form button*/
.fargo-pick-popup button, div#content button {
height:100%;
}
/* Class css qui peut servir à rendre invisible un champs en fonciton d'une valeur testée dans extra.js*/
.invisible {
display: None;
}
/*Style for new undo BUTTON with 'submit' class*/
div.a2-block .submit {
background: #be0d67 none repeat scroll 0 0;
border: 1px solid transparent;
box-shadow: 1px 0 5px rgba(0, 0, 0, 0.21);
color: white;
cursor: pointer;
height: 2.5em;
margin-right: 2ex;
padding: 5px 15px;
transition: all 0.2s ease 0s;
vertical-align: middle;
width: 12em;
}
.page-index #right,
.page-index #left{
border-collapse:separate;
display:table;
float:none;
margin-bottom:20px;
width:100%;
}
/* Cells' title in index page*/
.page-index #content div.textcell h2:first-child,
.page-index #content div.cell h2:first-child {
background-image: none;
font-weight: bold;
text-align: center;
text-transform: uppercase;
}
/* Cells in index page*/
.page-index #main-content > #content .cell {
background-image:linear-gradient(#F6F6F6,white);
border-radius: 10px 10px 0px 0px;
border-bottom: 2px solid #DCDCDC;
margin-bottom: 2em;
border-left:10px solid #fcfcfc;
border-right:10px solid #fcfcfc;
width:50%;
display:table-cell;
vertical-align:top;
}
.page-index div#population,
.page-index div#archives,
.page-index div#etat-civil,
.page-index div#urbanisme {
background-repeat: no-repeat;
background-size: 2em 2em;
margin-left:0;
line-height:1em;
padding-bottom:1em;
padding-left:3em;
}
.page-index #content div.textcell div#population h2,
.page-index #content div.textcell div#archives h2,
.page-index #content div.textcell div#etat-civil h2,
.page-index #content div.textcell div#urbanisme h2{
text-align:left;
}
.page-index div#population {
background-image: url("images/ic_population.png")
}
.page-index div#archives {
background-image: url("images/ic_population.png")
/*background-image: url("images/ic_archives.png");*/
}
.page-index div#etat-civil {
background-image: url("images/ic_etatcivil.png");
}
.page-index div#urbanisme {
background-image: url("images/ic_population.png")
/*background-image: url("images/ic_urbanisme.png");*/
}
.page-index div#content div#right div#colleft,
.page-index div#content div#right div#colright,
.page-index div#content div#left div#colleft,
.page-index div#content div#left div#colright{
box-sizing:border-box;
max-width:48%;
}
.page-index div#content div#right div#colleft h2,
.page-index div#content div#right div#colright h2,
.page-index div#content div#left div#colleft h2,
.page-index div#content div#left div#colright h2{
text-align:left;
}
.page-index div#content div#right div#colleft,
.page-index div#content div#left div#colleft{
float: left;
}
.page-index div#content div#right div#colright,
.page-index div#content div#left div#colright{
float: right;
padding: 1em;
}
.page-index #content #right .cell.wcscurrentformscell,
.page-index #content #right .cell.wcscurrentdraftscell {
display: block;
margin-bottom:0;
width: 100%;
}
.page-index #content #right .cell.wcscurrentformscell {
background: #f6f6f6 none repeat scroll 0 0;
border-bottom: medium none;
padding-bottom: 2em;
}
.page-index #content #right .cell.wcscurrentdraftscell {
min-height:165px;
}
/* in forms' page : format word "TRAITEMENT" */
form.quixote > div > p > u:first-child {
text-transform: uppercase;
text-decoration: none;
}
.page-profil #Mot_de_passe input[name=cancel] {
display:None;
}
/*Formulaire*/
div.a2-block form input[type="submit"] {
margin-top: 1.5em;
}
div#gauche{
width:25.5%;
}
div#gauche + div#rub_service {
box-sizing: border-box;
padding-left: 2em;
width: 74.5%;
}
.comment-field{
margin-bottom:2em;
}
.comment-field li{
line-height:1.5em;
margin-bottom:1em;
}
#var_rb_concerne .content{
margin-top:0.75em;
}
.title > label{
display:inline-block;
padding-bottom:0em;
}
#content #columns{
max-width: 100%;
}
/* correct a bug in first eId connexion with profile form */
.form-field-required label[for="id_email"]::before {
content: None;
visibility: hidden; }
.form-field-required #id_email {
border: 1px solid #aaa;
border-radius: 0px;
margin-top: 6px;
padding-left: 2em;
width: 100%; }
.form-field-required label[for="id_email"] {
height: 20px;
visibility: visible;
width: 100%; }
/* END correct a bug in first eId connexion with profile form */
/* Skin page d'accueil */
.page-index #main-content > #content #left .cell:nth-child(2){
border:1px solid #BE0D67;
border-radius: 10px;
}
.page-index #main-content > #content #left .cell:nth-child(2) h2 {
/*background: #be0d67 none repeat scroll 0 0;*/
border-radius: 0;
/*box-shadow: 1px 0 5px rgba(0, 0, 0, 0.21);*/
display: block;
font-size: 1em;
/*color:white;*/
margin: 1ex auto 2.5ex;
max-width: 52%;
text-align: center;
}
.page-index #main-content > #content #left div.following_code_connected h2 {
color:#be0d67;
background: transparent;
display: inherit;
text-transform: uppercase;
box-shadow: inherit;
margin:0 auto;
margin-bottom:0;
}
/*
.page-index #main-content > #content #left .cell:nth-child(2) .wcs-tracking-code-input h2{
background: transparent;
display: inherit;
text-transform: uppercase;
box-shadow: inherit;
margin:0 auto;
margin-bottom:0;
}*/
.page-index #main-content > #content #left .cell:nth-child(2) .wcs-tracking-code-input p:nth-child(2n+1) {
margin: 2ex 0;
}
.page-index #main-content > #content #left .cell:nth-child(2) .wcs-tracking-code-input{
border:none;
border-radius: 0;
}
.page-index #main-content > #content #left .cell:nth-child(2) .wcs-tracking-code-input h2:hover {
box-shadow: inherit;
}
.page-index #main-content > #content #left .cell:nth-child(2) h2:hover {
box-shadow: 0px 0px 5px #777;
}
.page-index #main-content > #content #left .cell:nth-child(2) h2 a{
color: #fff;
}
.page-index #main-content > #content #left .cell:nth-child(2) p:first-child {
margin-bottom: 2ex;
}
.page-index #main-content > #content #left .cell:nth-child(2) p:nth-child(2n+2)::after {
content: "";
display: block;
font-size: 127%;
}
/*No ↳ in lists' last child */
.page-index #main-content > #content #left .cell:nth-child(2) p:last-child::after {
content: inherit;
}
/*END No ↳ in lists' last child */
.page-index #main-content > #content #left .cell:nth-child(2) p:nth-child(2n+1) {
margin: -3ex 0ex 2ex 4ex;
}
/* END Skin page d'accueil*/
/* Style alert if error on field*/
.form_field_alert {
background:url('images/alert.jpg') no-repeat left top;
background-size: 13px 13px;
padding-left:18px;
color:red;
}
/* END Style alert if error on field*/
/* New link color to highlight them.*/
a {
color:#be0d67;
}
a:hover {
text-decoration:underline;
}
/* END of highlight links*/
/*Mise en apge "porte-documents" sur page d'acceuil*/
a.icone-porte-documents{
background-image:url("images/icone_porte-documents.png");
background-repeat:no-repeat;
background-position:center;
display:block;
width:100%;
height:125px;
}
/*END Mise en page "porte-doc..."*/
/*Print eID mini picture next to "demarche" name*/
#columns .wcsformsofcategorycell ul li.required-fedict-authentication a::after {
background-color: Transparent;
content: url("images/beid_image_mini.png");
display: inline-block;
height: 22px;
margin-left: 105%;
margin-top: 0.7em;
text-align: right;
width: 34px;
}
/* End Print eID...*/
/*Index page*/
div#columns > div#left div.jq_txt_connexion > div > div > h2 {
background-color:transparent!important;
box-shadow:None!important;
}
/* Form validation page : reduce margin between page*/
div.form-validation div.page {
margin-bottom: -1.7em;
}
/* End of Form validation page ... */
div#tracking-code {display:none;}
div#tracking-code h3 {display:none;}
div#tracking-code a {display:none;}
div#receipt-intro > p#tracking-code {display:none;}
div.list-of-forms span.form-status {
position: relative;
right: 1ex;
display: block;
text-align: right;
}
select {
-moz-appearance:menulist!important;
-webkit-appearance:menulist!important;
}
/*End Index page*/
a#publik-portal-agent {
top: 30px;
right: 6%;
border:None
}
div.widget table input, div.widget table select {
width:100%;
}
/* Rentre un champs invisible grace aux styles complementaires*/
form.quixote div.hidden, div.invisible{
display:none;
}

View File

@ -0,0 +1,42 @@
div.previous-button {
float: left; }
/*Print "save draft" button in forms*/
div.cancel-button, div.savedraft-button {
display: inline-block !important;
float:right;
text-align:right;
}
/* End print "save draft"...*/
div#rub_service form.quixote > div.buttons > div.SubmitWidget > div.content > button[name="submit"] {
font-weight:bold;
}
div#rub_service form.quixote > div.buttons > div.SubmitWidget > div.content > button[name="submit"]::after {
content: ">";
}
div#rub_service form.quixote > div.buttons > div.SubmitWidget > div.content > button[name="previous"]::before {
content: "<";
}
div#rub_service form.quixote > div.buttons > div.SubmitWidget > div.content > button {
background: white no-repeat top center;
padding:3em 0.5em;
color: $primary-color; /*#ED226C;*/
font-size: 1em;
box-shadow: none;
border: none;
float: right;
height: auto;
text-transform: uppercase;
}
div#rub_service form.quixote > div.buttons > div.SubmitWidget > div.content > button:hover {
font-weight:bold;
}
div#rub_service form.quixote > div.buttons > div.SubmitWidget > div.content > button[name="submit"]:hover {
font-weight:900;
}
button.save-draft {
display:inline-block!important;
}

View File

@ -0,0 +1,38 @@
@charset "UTF-8";
/******************************************************* NORMAL ITEM
**/
div#header {
background: url("images/banner.jpg") top left no-repeat;
background-position: 0px 0px;
border-radius: 0 0 $border-radius $border-radius;
box-sizing: border-box;
width: 100%;
margin: 0 auto;
position: relative;
top: 0px;
z-index: 0;
padding: 0 1ex;
height: 214px;
}
h1#logo a {
background: url("images/logo_arrondis.png") 10px 100% no-repeat;
background-size: 140px;
color:#ffffff;
text-shadow: 2px 2px 2px black;
display:block;
font-size: 46px;
padding-top:130px;
padding-left:165px;
font-family:DINWeb;
font-weight: normal;
}
#toplinks .sep {
display:none;
}
#toplinks .registration {
display:none;
}

View File

@ -0,0 +1,167 @@
@charset "UTF-8";
/******************************************************* NORMAL ITEM
**/
#login-page > p { /* top explanation text */
text-align: center;
margin: 20px 0 30px 0;
}
#Mot_de_passe, #Carte_eID {
position: relative;
height: 250px;
width: 45%;
background-color:#f2f2f2;
background: linear-gradient(to bottom, #F6F6F6, white);
border-bottom: 2px solid #D2D2D2;
border-radius: 5% 5% 0% 0%;
padding:1%;
}
#Mot_de_passe {
float: right;
form > p {
margin-top: 20px;
&.text {
margin-top: 0px;
clear: both;
margin-left: 86px;
padding-bottom: 10px;
span {
display: none;
}
&::before {
content: " ";
font-weight: bold;
}
}
}
}
#Carte_eID {
float: left;
}
/* Justify introduction text for eid connexion*/
#Carte_eID > div#Txt_intro_eid {
text-align: justify;
width: 30em;
}
#Carte_eID img {
margin: 0 auto;
display: block;
cursor: pointer;
}
#login-page h2 {
font-weight: normal;
text-transform: uppercase;
text-align: center;
margin-top: 0;
margin-bottom: 1em;
}
#login-page h2 span {
color: $highlight-text-color;
}
#id_username, #id_password,#id_email {
border-radius: 10px;
margin-top: 6px;
padding-left: 2em;
width: calc(100% - 54px - 54px);
border: 1px solid #eaeaea;
}
/* Accounts : Jusitfy introduction text for csam authentication*/
p#eid-intro {
text-align:left;
width:92%;
font-style: italic;
text-align: justify;
padding-bottom:20px;
}
/* Accounts : Align CSAM identity text with CSAM intro text (and justify)*/
#csam-login > div > p {
width:90%;
text-align: justify;
text-justify: inter-word;
}
/* Position MSG "ce champs est obligatoire" when login and/or pass are empty*/
div#login-page form li:last-child, div.password-reset-form form li:last-child {
border-top: none;
display:block;
font-size:1em;
margin-top:none;
width:100%;
margin-top:-1em;
}
div.password-reset-form form li:last-child {
font-size: 1.5em;
margin-top: 1.2em;
}
#login-legal-info {
position: absolute;
bottom: 2ex;
left: 2ex;
color: #666;
font-size: 80%;
}
div#login-page form ul.errorlist {
position: absolute;
left: 96px;
li {
position: relative;
top: -25px;
}
}
/*Mail du 23/12*/
div#login-age #Mot_de_passe form > p.text {
clear: both;
font-size: 18px;
margin-left: 23px;
margin-top: 0;
padding-bottom: 10px;
}
/*Back button to the email validation for registration*/
.a2-block [href="/"]{
background:#e0006c;
color:#fff;
padding:0.5em;
}
/*Account creation*/
.page-profil #content .a2-block {
background: rgba(0, 0, 0, 0) linear-gradient(#f6f6f6, white) repeat scroll 0 0;
border-bottom:2px solid #d2d2d2;
border-radius: 10px 10px 0 0;
padding: 1em;
h2{
background-image:none;
font-size: 14.3px;
font-weight: bold;
text-align: center;
text-transform: uppercase;
}
}
div#login-page form > ul.errorlist {
float: left;
left: 0;
position: relative;
}
div#login-page form p + ul.errorlist {
left: 96px;
position: absolute;
}

View File

@ -0,0 +1,83 @@
@charset "UTF-8";
/******************************************************* NORMAL ITEM
**/
div#nav {
margin-bottom: 35px;
margin-top: 1px;
border-radius: 0 0 8px 8px;
padding-left: 10px;
box-sizing: border-box;
> ul > li:first-child > a {
border-radius: 0;
}
}
div#nav > ul {
border-color: transparent;
box-sizing: border-box;
height: 40px;
overflow: unset;
padding: 0;
margin-top: 0;
}
div#nav > ul > li a {
text-transform: uppercase;
color: #eee;
font-weight: normal;
padding: 0px 20px;
display: inline-block;
line-height: 2.8em;
-webkit-transition: background 0.5s, color 0.5s;
-moz-transition: background 0.5s, color 0.5s;
-ms-transition: background 0.5s, color 0.5s;
-o-transition: background 0.5s, color 0.5s;
transition: background 0.5s, color 0.5s;
text-decoration: none;
}
/* Menu : item normal weight*/
div#nav > ul > li > a {
font-weight:normal;
}
/* Sous-menu : item normal weight*/
div#nav > ul > li span {
font-weight:normal;
}
/******************************************************* SELECTED ITEM
**/
div#nav > ul > li.selected > a {
color: white;
text-decoration: none;
padding-bottom: 2px;
border-bottom: 2px solid #E42380;
}
/******************************************************* HOVER ITEM
**/
/* Permet d'afficher un soulignement rose
en dessous de l'élément sélectionné dans le menu*/
div#nav > ul > li > a:hover{
padding-bottom:2px;
border-bottom: 2px solid #E42380;
}
div#nav ul ul:hover {
margin-top: 2px;
border-top: 2px solid #E42380;
}
/* Hover sur un item déjà sélectionné!*/
div#nav ul li.selected ul:hover{
margin-top: -2px;
}
/* Hover on an item already selected*/
div#nav ul ul span:hover {
font-weight:normal;
text-decoration:underline;
}

View File

@ -0,0 +1,113 @@
div#user-files table {
border-radius: 10px;
background-color:#F7F7F7;
}
div#user-files td {
border-top: 1px solid grey;
border-bottom: 1px solid grey;
padding: 0.5ex 1em;
}
div#user-files table > thead > tr > th {
text-transform:uppercase;
color:$primary-color;
}
div#user-files table > thead > tr > th.filename {
border-right: 1px solid grey;
text-align:center;
}
div#user-files table > thead > tr > th.size {
border-right: 1px solid grey;
text-align:center;
}
div#user-files table > thead > tr > th.created {
border-right: 1px solid grey;
text-align:center;
}
div#user-files table > tbody > tr > td {
border-top: 1px solid grey;
border-bottom: 1px solid grey;
}
div#user-files table > tbody > tr > td.filename {
border-right: 1px solid grey;
}
div#user-files table > tbody > tr > td.size {
border-right: 1px solid grey;
text-align:center;
}
div#user-files table > tbody > tr > td.created {
border-right: 1px solid grey;
text-align:center;
}
div#user-files table > tbody > tr > td.thumbnail {
border-right: 0px;
}
div#user-files table > tbody > tr > td.action-column {
border-left: 0px;
}
.fargo-pick-popup button, button.ui-button, div#content button, input[type="submit"], div.buttons input {
border-radius: 10px;
}
div#user-files button.icon-remove-sign::before {
content: url(images/croix_annulation.png);
}
div#user-files tr.mime-application-pdf::before {
content: "";
background: url("images/icone_fichier_pdf.png") no-repeat 0 0;
background-size: 100%;
}
div#user-files tr.mime-image::before {
content: "";
background: url("images/icone_fichier_image.png") no-repeat 0 0;
background-size: 100%;
}
div#user-files tr.mime-text::before {
content: "";
background: url("images/icone_fichier_texte.png") no-repeat 0 0;
background-size: 100%;
}
div#user-files tr[class*="text"]::before {
content: "";
background: url("images/icone_fichier_texte.png") no-repeat 0 0;
background-size: 100%; }
div#user-files tr[class*="image"]::before {
content: "";
background: url("images/icone_fichier_image.png") no-repeat 0 0;
background-size: 100%; }
div#user-files tr[data-url*=".doc"]::before {
content: "";
background: url("images/icone_fichier_texte.png") no-repeat 0 0;
background-size: 100%; }
div#user-files tr[data-url*=".xls"]::before {
content: "";
background: url("images/icone_fichier_texte.png") no-repeat 0 0;
background-size: 100%; }
div#user-files #send-file {
margin-top:1em;
}

View File

@ -0,0 +1,124 @@
/*Menu mobile*/
div#nav #nav-button.toggled + ul{
padding-top:2%;
}
/*Device with smartphone*/
@media handheld, screen and (max-device-width: 480px), screen and (max-width: 480px){
/*Homepage*/
.page-index #content #right,
.page-index #content #left {
display: block;
max-width: 100%;
}
.page-index #main-content > #content #columns .cell {
display: block;
width: 100%;
}
.page-index #main-content > #content #left .cell:last-child {
display: none;
}
.page-index #main-content div#content div#right div#colleft,
.page-index #main-content div#content div#right div#colright{
float:none;
}
.page-index #main-content > #content #columns .nuagedetag {
display: none;
}
/*Connexion*/
#Mot_de_passe,
#Carte_eID{
box-sizing:border-box;
width:98%;
height:300px;
}
#Mot_de_passe{
float:left;
margin-top:6%;
}
div#header h1{
padding-left:16px;
}
h1#logo a{
background-position:0 100%;
background-size:75px auto;
font-size:32px;
padding-left:82px;
padding-top:70px;
}
#profile dt {
float: none;
width: 100%;
}
}
@media handheld, screen and (max-device-width: 768px), screen and (max-width: 768px){
div#nav #nav-button + ul li.selected > a,
div#nav #nav-button + ul li:hover > a {
color: #e42380;
}
div#nav > ul > li.selected > a,
div#nav > ul > li > a:hover {
border-bottom: 2px solid #c7c7c7;
}
div#nav ul ul:hover{
border-top:2px solid #c7c7c7;
}
a.remove-item{
padding-left:30px;
}
#steps .label {
display: none;
}
#page div#gauche,
#page div#step#steps {
width: 100%;
}
#steps {
display: inline;
}
#page div#gauche + div#rub_service {
box-sizing: border-box;
padding-left: 0;
width: 100%;
}
#receipt-intro a#workflow-button-paid, #receipt-intro input#pay {
margin-bottom: 1ex;
margin-left: 0;
}
input#pay{
margin-left:0;
}
.page-panier li a{
text-align:left;
min-width: 100%;
margin-left: 0;
margin-top: 1em;
}
.page-panier li label > a{
vertical-align: top;
width: 100%;
margin-top:0;
}
.page-panier li label > a.basket-number{
width:100%;
margin:0.5em 0;
}
#profile dt{
width:100%;
}
}

View File

@ -0,0 +1,10 @@
div#main > div#main-content {
background-color:#C6F9A4!important;
}
/* Remove border on fields validate form page */
form.quixote input[readonly], form.quixote select[readonly], form.quixote textarea[readonly] {
border-width: 0;
padding-left: 0;
padding-top: 0;
}

View File

@ -0,0 +1,178 @@
$(function() {
var hide_bo_stat = $('div.bo-block li.stats');
hide_bo_stat.parent().parent().remove();
// General method to get elements thanks to regex !
// sample : $('div:regex(class,jqTable[0-9]_.*)'); */
$.expr[':'].regex = function(elem, index, match) {
var matchParams = match[3].split(','),
validLabels = /^(data|css):/,
attr = {
method: matchParams[0].match(validLabels) ?
matchParams[0].split(':')[0] : 'attr',
property: matchParams.shift().replace(validLabels,'')
},
regexFlags = 'ig',
regex = new RegExp(matchParams.join('').replace(/^s+|s+$/g,''), regexFlags);
return regex.test(jQuery(elem)[attr.method](attr.property));
}
// End of General method to get elements thanks to regex !
// Set readonly attributes on "input, textarea and select"
// element when meeting a .readonly css class on div parent*/
var $form_divs_readonly = $('form.quixote div.readonly');
$form_divs_readonly.each(function() {
$("input", this).prop('readonly', true);
$("textarea", this).prop('readonly', true);
$("select", this).prop('readonly', true);
});
// End of Set readonly attributes on ...
$.fn.get_elem_by_inner_html = function( o ) {
var element = null;
$(this).each(function() {
$normalize_intitule = $(this).html().normalize('NFD').replace(/[\u0300-\u036f]/g, "").replace(' ','-');
if ($normalize_intitule.indexOf(o) != -1) {
// !!! Only one row to replace ???
element = $(this);
}
});
return element;
};
$.fn.field_substitution = function (field, clone, marginbottom) {
var nodename = field.find(':regex(id,form_.*)').prop('nodeName');
var old_table_input = $(this).find('input');
var new_field = null;
var new_table_div_field = field.clone(clone);
new_table_div_field.find('label').attr('for', old_table_input.attr('id') + 'b');
new_table_div_field.find('.title').css('display', 'none');
new_table_div_field.css('margin-bottom', marginbottom);
old_table_input.css( 'display', 'none' );
if (nodename == 'SELECT') {
new_field = new_table_div_field.find('select');
} else {
new_field = new_table_div_field.find('input');
}
try {
new_field.val(old_table_input.val());
} catch(e) {}
new_field.attr('id', old_table_input.attr('id') + 'b');
new_field.attr('name', old_table_input.attr('name') + 'b');
new_field.bind('change', {input_table:old_table_input}, change_input_table_value);
new_field.bind('click', {input_table:old_table_input, current_field:new_field}, click_input_table);
$(this).append(new_table_div_field);
};
var click_input_table = function(event) {
var offset = $(this).offset();
// alert(JSON.stringify(event.data.input_table));
$calendar = $('div.datetimepicker-dropdown');
$calendar.css('left', offset.left);
$calendar.css('top', offset.top);
$calendar.bind('click',{input_table:event.data.input_table, current_field:event.data.current_field}, click_calendar);
}
var click_calendar = function(event) {
event.data.current_field.val($(this).find('.switch').html());
event.data.input_table.val($(this).find('.switch').html());
}
var change_input_table_value = function(event){
event.data.input_table.val($(this).val());
}
var more_row_mouseup = function(event){
var table = event.data.table;
var nb_tr = table.find('tr').length + 1;
if (nb_tr > event.data.nb_files) {
$(this).hide();
}
}
var jq_fields = $('form.quixote div:regex(class,jqTable[0-9]_.*)');
var jq_tables = $('form.quixote div:regex(class,jqTable[0-9])');
var add_more_table_row_button = $('div.widget-optional input[type=submit]');
var cpt_table = 1;
var jq_fields_files = jq_fields.find('input[type="file"]');
var cpt_jq_field_file = jq_fields.find('input[type="file"]').length;
jq_fields.each(function(i, field) {
var current_field = $(field).detach();
var html = current_field.html();
if (html.indexOf('type="file"') == -1)
{
var jq_field_classname = get_css_class_name_by_prefix(current_field, "jqTable");
var table_name = jq_field_classname.split("_")[0];
var inserting_method = jq_field_classname.split("_")[1];
var table_field = jq_field_classname.split("_")[2].replace(/[\n\r]/g, '');
if (inserting_method == 'row') {
var row_to_replace = $('div:regex(class,'+table_name+')').find("th").get_elem_by_inner_html(table_field).parent();
row_to_replace.find('td').field_substitution(current_field, false, '0px');
}
if (inserting_method == 'col') {
var table = $('div:regex(class,'+table_name+') table');
var tr = table.find("tr");
tr.each(function (t1, tr) {
var td = $(tr).find('td');
var cpt_td = 0;
td.each(function(t2, td) {
if (cpt_td == table_field) {
$(td).find( 'div' ).css( 'display', 'none' );
$(td).field_substitution(current_field, true, '14px');
}
cpt_td++;
});
});
}
}
jq_tables.each(function() {
if ($(this).has('table').length > 0) {
var $current_table = $(this);
// On recupere seulement les fields type "fichier" pour le tableau courant.
var $jq_fields_files = $('form.quixote div:regex(class,jqTable'+cpt_table+'File_.*)');
var nb_files = $jq_fields_files.length;
if (nb_files > 0) {
add_more_table_row_button.bind('mouseup',{nb_files:nb_files, table:$current_table},more_row_mouseup);
}
var cpt_field_file = 1;
$jq_fields_files.each(function() {
var $current_field_file = $(this).detach();
var jq_field_classname = get_css_class_name_by_prefix($(this), 'jqTable'+cpt_table+'File');
var table_field = jq_field_classname.split("_")[2].replace(/[\n\r]/g, '');
var $td = $('tr:eq('+cpt_field_file+') td:eq('+table_field+')', $current_table);
$td.find( 'div' ).css( 'display', 'none' );
$td.field_substitution($current_field_file, false);
cpt_field_file++;
});
var $tr = $current_table.find('tr');
var cpt_tr = 0;
$tr.on('custom', function (event, obj) {
if (cpt_tr > obj.extra && obj.extra > 0) {
$(this).hide();
// hide 'add new row'
$add_more_row.hide();
}
cpt_tr++;
});
$tr.trigger('custom', [{extra:nb_files}]);
cpt_table++;
}
});
});
});
function get_css_class_name_by_prefix(elem, begin_with)
{
var element = null;
var array_elem = elem.attr('class').split(" ");
array_elem.forEach(function(e) {
if (e.indexOf(begin_with) == 0) {
element = e;
}
});
return element;
}

View File

@ -0,0 +1,514 @@
/*common.js*/
$(function() {
// General method to get elements thanks to regex !
// sample : $('div:regex(class,jqTable[0-9]_.*)'); */
$.expr[':'].regex = function(elem, index, match) {
var matchParams = match[3].split(','),
validLabels = /^(data|css):/,
attr = {
method: matchParams[0].match(validLabels) ?
matchParams[0].split(':')[0] : 'attr',
property: matchParams.shift().replace(validLabels,'')
},
regexFlags = 'ig',
regex = new RegExp(matchParams.join('').replace(/^s+|s+$/g,''), regexFlags);
return regex.test(jQuery(elem)[attr.method](attr.property));
}
// End of General method to get elements thanks to regex !
// unite all errors to the top of the form
var $error_notice = $('form.quixote > div.errornotice');
var $errors = $('form.quixote div.error');
if ($errors.length && $error_notice.length == 0) {
$error_notice = $('<div class="errornotice"></div>');
$('form.quixote').prepend($error_notice);
}
$errors.each(function() {
var field_label = $(this).parents('.widget').find('.title label').text().replace(/[ :\*]+$/g, '');
var $error_text = $('<p>' + field_label + ' : ' + $(this).text() + '</p>');
$(this).hide();
$error_notice.append($error_text);
});
// End of unite all errors ...
// Errors in profile have same behavior than forms' errors
var $profile_errors = $('div.a2-block ul.errorlist');
var $profile_error_notice = $('div.a2-block > div.errorlist');
if ($profile_errors.length && $profile_error_notice.length == 0) {
$profile_error_notice = $('<div class="errorlist"></div>');
$('div.a2-block').prepend($profile_error_notice);
}
$profile_errors.each(function() {
var field_label = $(this).next().find('label').text().replace(/[ :\*]+$/g, '');
var $error_text = $('<p>' + field_label + ' : ' + $(this).text() + '</p>');
$(this).hide();
$profile_error_notice.append($error_text);
});
var $invisible = $('.invisible');
$invisible.each(function() {
if ($(this).find("textarea").text() == '') {
$(this).hide();
} else {
$(this).show();
$(this).find("div.content").addClass("errornotice");
}
});
// End of Errors in profile have ...
// Avoid html5 browser validation
$('form.quixote').attr('novalidate', 'novalidate');
// End of Avoid html5 browser ...
// Set readonly attributes on "input, textarea and select"
// element when meeting a .readonly css class on div parent*/
var $form_divs_readonly = $('form.quixote div.readonly');
$form_divs_readonly.each(function() {
$("input", this).prop('readonly', true);
$("textarea", this).prop('readonly', true);
$("select", this).prop('readonly', true);
});
// End of Set readonly attributes on ...
// hide page in backoffice
var $bo_noshowpage = $('div#summary > div.dataview .bo_noshowpage')
$bo_noshowpage.each(function() {
$(this).parent().css('display','none');
});
// Add pointer cursor on "Demarche" title and "+ cursor"
$(".more-items a").mouseover(function() {
$(this).css( 'cursor', 'pointer' );
});
$(".page-citoyens h2").mouseover(function(){
$(this).css( 'cursor', 'pointer' );
});
// End of Add pointer cursor ...
// Adapt validation form when we want to jst download .pdf
var $pdf_form_adapter = $('form[data-keywords="pdf"]');
$pdf_form_adapter.each(function() {
var $this_form = $(this);
$(this).find('.cancel-button').hide();
$(this).find('.submit-button input').attr('value', 'Télécharger');
$(this).on('submit', function() {
window.location = $this_form.find('a').attr('href');
return false;
});
});
// End of Adapt validation form ...
// Skin basket page. Split item name and item number
var $basket_name_item = $('.page-panier ul > li > label > a');
$basket_name_item.each(function() {
var item = $(this).html();
var $href = $(this).attr('href');
var $item_name = item.split(" - n°")[0];
var $item_num = item.split(" - n°")[1];
$(this).html($item_name);
$(this).after("<a class='basket-number' href='" + $href + "'>n° " + $item_num + "</a>");
});
// End of Skin basket ...
// Hide field's title
var $hide_title = $('.hide_title');
$hide_title.each(function() {
$(this).children('.title').hide();
});
// End of Hide field's ...
// Hide empty input text in validation form page
var $empty_input_text = $( ".form-validation form.quixote input:text");
$empty_input_text.each(function() {
if($(this).val() == "") {
$("label[for='"+$(this).attr("id")+"']").css('display','None');
$(this).css('display','None');
}
});
// End of Hide empty input text ...
// Print empty basket page message
var $basket_page = $('body.page-panier > div#page > div#main-content-wrapper div#columns')
$basket_page.each(function() {
if (!$('div.lingobasketcell').length) {
$(this).append('<div id="empty_basket"><h2>Votre panier est actuellement vide.</h2></div>');
}
});
// End of Print empty basket ...
// Remove "Belgique" from select box.
var $country_datasrc_without_belgium = $('.without_belgium select');
$country_datasrc_without_belgium.each(function() {
$(this).children('option[value="Belgique"]').remove();
});
// End of Remove "Belgique" from select box ...
// Hide field's title
var $hide_title = $('.hide_title')
$hide_title.each(function() {
$(this).children('.title').hide();
});
// End of Hide ...
// Hide empty input text in validation form page
var $empty_input_text = $( ".form-validation form.quixote input:text");
$empty_input_text.each(function() {
if($(this).val() == "") {
$("label[for='"+$(this).attr("id")+"']").css('display','None');
$(this).css('display','None');
}
});
// End of Hide empty input text ...
// textboxfield with var "txt_selected_motifs" + tablefield in the same page to manage multi motifs selection and number of copies.
// Table MUST have n lines for n motivations max.
// Table MUST have 2 columns "Motifs" keep motivation name and "Nb exemplaire" to input number of copies
var $table_nb_motifs = $('span#txt_selected_motifs').parent().parent().next();
$table_nb_motifs.attr("id","var_table_nb_motifs");
$table_nb_motifs = $('div#var_table_nb_motifs table')
$table_nb_motifs.each(function() {
var extraCol = false;
$('span#txt_selected_motifs').hide();
$lst_selected_motifs = $('span#txt_selected_motifs').text().split(', ');
$tr = $('div#var_table_nb_motifs table > tbody > tr');
$('div#var_table_nb_motifs table thead tr').find('th:nth-child(2)').toggle();
$tr.each(function(tr) {
var nbcol = $(this)[0].cells.length;
if (nbcol > 3) {
extraCol = true;
}
$name = $(this).find('input').attr('name');
var new_motif_input_name = $name.split('-')[0] + '-' + tr + '-' + $name.split('-')[2];
var new_nb_ex_input_name = $name.split('-')[0] + '-' + tr + '-' + (parseInt($name.split('-')[2]) + 1);
var input_motif = "<input id=\"form_"+new_motif_input_name+"\" name=\""+new_motif_input_name+"\" type=\"text\" value=\""+$lst_selected_motifs[tr]+"\" />";
/* Default value set to 1 but if we return back... this is a problem.*/
var input_nb_ex = "<input id=\"form_"+new_nb_ex_input_name+"\" name=\""+new_nb_ex_input_name+"\" type=\"text\" value='1' />";
var new_td = "";
if (tr < $lst_selected_motifs.length) {
if (extraCol == true) {
for (var i=3;i<nbcol;i++) {
var new_extra_col_name = $name.split('-')[0] + '-' + tr + '-' + (parseInt($name.split('-')[2]) + (i -1));
new_td += "<td><input id=\"form_"+new_extra_col_name+"\" name=\""+new_extra_col_name+"\" test='test' type=\"text\" value='' /></td>";
}
}
$(this).replaceWith("<tr><th style='text-align:left;'>"+$lst_selected_motifs[tr]+"</th><td style='display:none'>"+input_motif+"</td><td>"+input_nb_ex+"</td>"+new_td+"</tr>");
}
else {
$(this).remove();
}
});
});
// END textboxfield with var "txt_selected_motifs" ...
// GENERATE CSV FILE thanks to a table and a link .export
function exportTableToCSV($table, filename) {
var $rows = $table.find('tr:has(td)'),
// Temporary delimiter characters unlikely to be typed by keyboard
// This is to avoid accidentally splitting the actual contents
tmpColDelim = String.fromCharCode(11), // vertical tab character
tmpRowDelim = String.fromCharCode(0), // null character
// actual delimiter characters for CSV format
colDelim = '|',
rowDelim = '\r\n',
// Grab text from table into CSV formatted string
// csv = '"' + $rows.map(function(i, row) {
csv = $rows.map(function(i, row) {
var $row = $(row),
$cols = $row.find('td');
return $cols.map(function(j, col) {
var $col = $(col),
text = $col.text();
return text.replace(/"/g, '""'); // escape double quotes
}).get().join(tmpColDelim);
}).get().join(tmpRowDelim)
.split(tmpRowDelim).join(rowDelim)
.split(tmpColDelim).join(colDelim); // + '"';
// Deliberate 'false', see comment below
if (false && window.navigator.msSaveBlob) {
var blob = new Blob([decodeURIComponent(csv)], {
type: 'text/csv;charset=utf8'
});
// Crashes in IE 10, IE 11 and Microsoft Edge
// See MS Edge Issue #10396033
// Hence, the deliberate 'false'
// This is here just for completeness
// Remove the 'false' at your own risk
window.navigator.msSaveBlob(blob, filename);
} else if (window.Blob && window.URL) {
// HTML5 Blob
var blob = new Blob([csv], {
type: 'text/csv;charset=utf-8'
});
var csvUrl = URL.createObjectURL(blob);
$(this)
.attr({
'download': filename,
'href': csvUrl
});
} else {
// Data URI
var csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csv);
$(this)
.attr({
'download': filename,
'href': csvData,
'target': '_blank'
});
}
}
// This must be a hyperlink
$(".export").on('click', function(event) {
// CSV
var args = [$('table.stats'), 'export.csv'];
exportTableToCSV.apply(this, args);
});
// End of GENERATE CSV FILE thanks to ...
/* SPECIFIC USE-CASE !!! */
/* LIEGE */
// Call "nextAll" method when click on title (same effect than "+ cursor").
// When more than max "demarche" are printing on "demarche" page, stretch to view all "demarches"
$(document).on('click', '.page-citoyens h2', function() {
$(this).parent().find('.more-items').hide();
$(this).parent().find('.more-items').nextAll().show();
});
/* End of LIEGE*/
$.fn.get_elem_by_inner_html = function( o ) {
var element = null;
$(this).each(function() {
$normalize_intitule = $(this).html().normalize('NFD').replace(/[\u0300-\u036f]/g, "").replace(' ','-');
if ($normalize_intitule.indexOf(o) != -1) {
// !!! Only one row to replace ???
element = $(this);
}
});
return element;
};
$.fn.field_substitution = function (field, clone, marginbottom) {
var nodename = field.find(':regex(id,form_.*)').prop('nodeName');
var old_table_input = $(this).find('input');
var new_field = null;
var new_table_div_field = field.clone(clone);
new_table_div_field.find('label').attr('for', old_table_input.attr('id') + 'b');
new_table_div_field.find('.title').css('display', 'none');
new_table_div_field.css('margin-bottom', marginbottom);
old_table_input.css( 'display', 'none' );
if (nodename == 'SELECT') {
new_field = new_table_div_field.find('select');
} else {
new_field = new_table_div_field.find('input');
}
try {
new_field.val(old_table_input.val());
} catch(e) {}
new_field.attr('id', old_table_input.attr('id') + 'b');
new_field.attr('name', old_table_input.attr('name') + 'b');
new_field.bind('change', {input_table:old_table_input}, change_input_table_value);
new_field.bind('click', {input_table:old_table_input, current_field:new_field}, click_input_table);
$(this).append(new_table_div_field);
};
var click_input_table = function(event) {
var offset = $(this).offset();
// alert(JSON.stringify(event.data.input_table));
$calendar = $('div.datetimepicker-dropdown');
$calendar.css('left', offset.left);
$calendar.css('top', offset.top);
$calendar.bind('click',{input_table:event.data.input_table, current_field:event.data.current_field}, click_calendar);
}
var click_calendar = function(event) {
event.data.current_field.val($(this).find('.switch').html());
event.data.input_table.val($(this).find('.switch').html());
}
var change_input_table_value = function(event){
event.data.input_table.val($(this).val());
}
var more_row_mouseup = function(event){
var table = event.data.table;
var nb_tr = table.find('tr').length + 1;
if (nb_tr > event.data.nb_files) {
$(this).hide();
}
}
var jq_fields = $('div#rub_service > form.quixote div:regex(class,jqTable[0-9]_.*)');
var jq_tables = $('div#rub_service > form.quixote div:regex(class,jqTable[0-9])');
var add_more_table_row_button = $('div.widget-optional input[type=submit]');
var cpt_table = 1;
var jq_fields_files = jq_fields.find('input[type="file"]');
var cpt_jq_field_file = jq_fields.find('input[type="file"]').length;
jq_fields.each(function(i, field) {
var current_field = $(field).detach();
var html = current_field.html();
if (html.indexOf('type="file"') == -1)
{
var jq_field_classname = get_css_class_name_by_prefix(current_field, "jqTable");
var table_name = jq_field_classname.split("_")[0];
var inserting_method = jq_field_classname.split("_")[1];
var table_field = jq_field_classname.split("_")[2].replace(/[\n\r]/g, '');
if (inserting_method == 'row') {
var row_to_replace = $('div:regex(class,'+table_name+')').find("th").get_elem_by_inner_html(table_field).parent();
row_to_replace.find('td').field_substitution(current_field, false, '0px');
}
if (inserting_method == 'col') {
var table = $('div:regex(class,'+table_name+') table');
var tr = table.find("tr");
tr.each(function (t1, tr) {
var td = $(tr).find('td');
var cpt_td = 0;
td.each(function(t2, td) {
if (cpt_td == table_field) {
$(td).find( 'div' ).css( 'display', 'none' );
$(td).field_substitution(current_field, true, '14px');
}
cpt_td++;
});
});
}
}
});
jq_tables.each(function() {
if ($(this).has('table').length > 0) {
var $current_table = $(this);
// On recupere seulement les fields type "fichier" pour le tableau courant.
var $jq_fields_files = $('div#rub_service > form.quixote div:regex(class,jqTable'+cpt_table+'File_.*)');
var nb_files = $jq_fields_files.length;
add_more_table_row_button.bind('mouseup',{nb_files:nb_files, table:$current_table},more_row_mouseup);
var cpt_field_file = 1;
$jq_fields_files.each(function() {
var $current_field_file = $(this).detach();
var jq_field_classname = get_css_class_name_by_prefix($(this), 'jqTable'+cpt_table+'File');
var table_field = jq_field_classname.split("_")[2].replace(/[\n\r]/g, '');
var $td = $('tr:eq('+cpt_field_file+') td:eq('+table_field+')', $current_table);
$td.find( 'div' ).css( 'display', 'none' );
$td.field_substitution($current_field_file, false);
cpt_field_file++;
});
var $tr = $current_table.find('tr');
var cpt_tr = 0;
$tr.on('custom', function (event, obj) {
if (cpt_tr > obj.extra && obj.extra > 0) {
$(this).hide();
// hide 'add new row'
$add_more_row.hide();
}
cpt_tr++;
});
$tr.trigger('custom', [{extra:nb_files}]);
cpt_table++;
}
});
/* hinge fields */
var hinge_fields = $('div#rub_service > form.quixote div:regex(class,hinge_.*)');
hinge_fields.each(function() {
var jq_field_classname = get_css_class_name_by_prefix($(this), "hinge_");
// Get the ID of the field that manage 'hinge' field.
var master_field_id = 'var_' + jq_field_classname.split("_")[1];
// the term to trigger
var trigger_term = jq_field_classname.split("_")[2];
var master_field = $('div#'+master_field_id);
var selec_value = master_field.find('select').val();
if(typeof selec_value === "undefined") {
//searched_hinge_field RADIO BUTTONS LIST case :
selec_value = master_field.find('input:checked').val();
}
if(typeof selec_value === "undefined") {
$(this).hide();
}
else {
if (selec_value.localeCompare(trigger_term == 0) != -1) {
$(this).show();
}
else {
$(this).hide();
}
}
master_field.on( 'change', function() {
// select LIST case :
var selection_value = $(this).find('select').val();
if(typeof selection_value === "undefined") {
//searched_hinge_field RADIO BUTTONS LIST case :
selection_value = $(this).find('input:checked').val();
}
var searched_hinge_field = $('div#rub_service > form.quixote div.hinge_'+ jq_field_classname.split("_")[1] + '_' + selection_value);
if(searched_hinge_field.length) {
searched_hinge_field.show();
} else {
var erase_fields = $('div#rub_service > form.quixote div:regex(class,hinge_'+ jq_field_classname.split("_")[1] + '_.*)');
erase_fields.hide();
erase_fields.each(function() {
$(this).find('div.content :first-child').val('');
});
}
});
});
/* end of hinge fields */
var table_width = $('div:regex(grid-.*)').find('table');
table_width.each(function() {
$(this).attr('width','100%');
});
/*National Number formatting*/
var input_nn = $('div.nn > div.content > input');
var input_nn_masked = $('<input type="text" name="number">')
.hide();
input_nn.append(input_nn_masked);
input_nn.on("keyup change", function(){
$("input[name='number']").val(destroyMask(this.value, 11));
this.value = createMask($("input[name='number']").val(), /(\d{2})(\d{2})(\d{2})(\d{3})(\d{2})/,"$1.$2.$3-$4.$5");
});
/*END National Number formatting*/
});
function get_css_class_name_by_prefix(elem, begin_with)
{
var element = null;
var array_elem = elem.attr('class').split(" ");
array_elem.forEach(function(e) {
if (e.indexOf(begin_with) == 0) {
element = e;
}
});
return element;
}
function createMask(string, re, mask){
return string.replace(re, mask);
}
function destroyMask(string, max_len){
return string.replace(/\D/g,'').substring(0,max_len);
}

View File

@ -0,0 +1,9 @@
{
"label": "Liège (PWA 2019)",
"variables": {
"favicon": "liege/favicon.ico",
"no_extra_js": false,
"pwa_display": "standalone",
"theme_color": "#BE0D67"
}
}

View File

@ -0,0 +1,159 @@
$(function() {
/*preprod : other banner*/
if(window.location.href.indexOf('lescommunes.be') > -1){
$('div#header-wrapper > div#header').css('background-image', 'url(https://liege-citoyen.lescommunes.be/static/liege/images/banner_preprod.jpg)');
}
$.getScript('/static/imio/common.js', function() { });
// old value : 'button[value="Acte de naissance pour un autre enfant."]'
var naissance_button = $('button[value="Commander un autre acte de naissance"]');
naissance_button.each(function() {
var div_cible = $('div#receipt-intro > div');
var screen_width = $(window).width();
var naissance_form_resubmit = $('#wf-actions');
naissance_form_resubmit.prependTo(div_cible);
$(this).css('height','3.6em');
$(this).css('padding','0em');
$(this).css('padding-left','0.5em');
$(this).css('padding-right','0.5em');
$(this).css('background-color', '#BE0D67');
$(this).css('color', 'white');
$(this).css('border', 'solid #BE0D67 1px');
$(this).css('border-radius', '10px');
$(this).css('width','200px');
$(this).css('text-transform','None');
$('div#rub_service form').css('padding','0px');
$(this).hover(function() {
$(this).css("font-weight","normal");
});
if (screen_width > 960) {
naissance_form_resubmit.css('position', 'absolute');
$(this).css('margin-top','-1.9em');
$('#workflow-button-paid').css('margin-left', '24%');
$('#form_msg_top').css('height', '150px');
}
else {
naissance_form_resubmit.css('position', 'relative');
$(this).css('margin-top','0em');
$('#workflow-button-paid').css('margin-left', '0em');
$('#form_msg_top').css('height', '220px');
}
$(window).resize(function() {
screen_width = $(window).width();
if (screen_width > 960) {
naissance_form_resubmit.css('position', 'absolute');
$(this).css('margin-top','-1.9em');
$('#workflow-button-paid').css('margin-left', '24%');
$('#form_msg_top').css('height', '150px');
}
else {
naissance_form_resubmit.css('position', 'relative');
$(this).css('margin-top','0em');
$('#workflow-button-paid').css('margin-left', '0em');
$('#form_msg_top').css('height', '220px');
}
});
});
$(document).on('click', '.jq_txt_connexion', function() {
window.open("login", '_self');
});
$(document).on('mouseover', '.jq_txt_connexion', function() {
$('.jq_txt_connexion').css('cursor','pointer');
$('.jq_txt_connexion b').css('color','#be0d67');
});
$(document).on('mouseout', '.jq_txt_connexion', function() {
$('.jq_txt_connexion b').css('color','black');
});
var header_title = $('h1#logo a');
header_title.text('E-guichet');
// Timeout (10'') to automaticaly exit basket page when payment done
var panier_exit = $('body.page-panier ul.messages > li.info:contains("Votre paiement a été pris en compte.")')
panier_exit.each(function() {
setTimeout(function() {
window.top.location.href = "../"
}, 10000);
});
// Multi attachments in forms "layout"
// . Add some attachments fields one afther the other
// . Add "multi_attachments" class to first one
var multi_attachments = $('div.multi_attachments');
var lst_remove_files = $('div.file-upload-widget > div.content > div.fileinfo > .remove');
var lst_attachments_to_hide = multi_attachments.nextUntil("div:not(.file-upload-widget)");
var cpt = 0;
multi_attachments.on( "click", display_next_file_upload );
lst_remove_files.on( "click", remove );
lst_attachments_to_hide.each(function() {
$(this).on("click", display_next_file_upload);
if (cpt == 0) {
$(this).find('input').attr('disabled','disabled');
}
else {
$(this).css( "display", "none" );
}
cpt++;
});
function display_next_file_upload() {
var next_file_widget = $(this).next();
next_file_widget.find('input').removeAttr('disabled');
next_file_widget.css( "display", "block" );
}
function remove() {
var file_upload_widget = $(this).parent().parent().parent();/*parentsUntil('div.file-upload-widget')*/
if (! file_upload_widget.hasClass( 'multi_attachments' )) {
file_upload_widget.insertAfter(lst_attachments_to_hide[(lst_attachments_to_hide.length - 1)]);
file_upload_widget.css( "display", "none" );
}
lst_attachments_to_hide = multi_attachments.nextUntil("div:not(.file-upload-widget)");
}
/*
// Print Alert when we quit a form or exit browser out from a form
$(window).bind('beforeunload', exit_msg);
var form_next = $('form.quixote button[name=submit]');
var form_previous = $('form.quixote button[name=previous]');
var form_cancel = $('form.quixote button[name=cancel]');
var form_savedraft = $('form.quixote button[name=save-draft]');
form_next.mouseout(function() {
$(window).bind('beforeunload', exit_msg);
});
form_previous.mouseout(function() {
$(window).bind('beforeunload', exit_msg);
});
form_cancel.mouseover(function() {
$(window).bind('beforeunload', exit_msg);
});
form_next.mouseover(function() {
$(window).unbind('beforeunload', exit_msg);
});
form_savedraft.mouseover(function() {
$(window).unbind('beforeunload', exit_msg);
});
form_savedraft.click(function() {
$(window).bind('beforeunload', exit_msg);
});
form_previous.mouseover(function() {
$(window).unbind('beforeunload', exit_msg);
});*/
});
/* on unbind pas le beforeunload en quittant le bouton cancel
car on ne sait pas la prochaine action du citoyen.
form_cancel.mouseout(function() {
$(window).unbind('beforeunload', exit_msg);
});*/
/*
var exit_msg = function(e) {
if ($('form').attr('class') == 'quixote') {
var confirmationMessage = 'Vous quittez votre formulaire. Etes-vous sur?';
(e || window.event).returnValue = confirmationMessage; //Gecko + IE
return confirmationMessage; //Gecko + Webkit, Safari, Chrome etc.
}
}*/

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,9 @@
<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<path d="M0 0h24v24H0V0z" id="a"/>
</defs>
<clipPath id="b">
<use overflow="visible" xlink:href="#a"/>
</clipPath>
<path clip-path="url(#b)" d="M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2H8.9V6zM18 20H6V10h12v10z"/>
</svg>

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

View File

@ -0,0 +1,42 @@
@charset "UTF-8";
$primary-color: #BE0D67;
$width: 950px;
$mobile-limit: 800px;
$font-size: 14px !default;
$font-family: "Open Sans", sans-serif !default;
$link-color: #58585A;
$nav-background: #58585A;
$nav-color: #eee;
$nav-active-color: transparent;
$nav-item-selected-color: white;
$border-radius: 3px;
$highlight-text-color: $primary-color;
$button-background: $primary-color;
$button-color: white;
$title-background: $primary-color;
$title-color: white;
$cell-entry-hover-effect: left-to-right;
$href-color: $title-background;
$footer-background: transparent;
$footer-color: #aaa;
/*IMIO SHARE : Affichage du message de connexion au portail agent*/
$a_portal_agent_background: None;
$a_portal_agent_color: black;
$a_portal_agent_top: 30px;
$a_portal_agent_right: 6%;
$a_portal_agent_border: None;
/*end IMIO SHARE*/
@import '../../publik-base-theme/static/includes/publik';
@import 'header.scss';
@import 'menu.scss';
@import 'form-buttons.scss';
@import 'conn-msg-errors.scss';
@import 'login.scss';
@import 'basket.scss';
@import 'responsive.scss';
@import 'porte-documents.scss';
@import 'custom';

View File

@ -0,0 +1,72 @@
{% extends "authentic2/base.html" %}
{% load i18n %}
{% block title %}Gestion du compte{% endblock %}
{% block content %}
<div id="left">
<div class="block" id="a2-profile">
<h2>Données du compte</h2>
<div id="profile">
{% if attributes %}
<dl>
{% for attribute in attributes %}
<dt class="field">
<span class="label">{{ attribute.attribute.label|capfirst }}</span>
</dt>
<dd class="value">
{% if attribute.values|length == 0 %}<span class="nodata">(non spécifié)</span>
{% elif attribute.values|length == 1 %}{{ attribute.values.0 }}{% else %}
<ul>
{% for value in attribute.values %}
<li>{{ value }}</li>
{% endfor %}
</ul>
{% endif %}
</dd>
{% endfor %}
</dl>
{% endif %}
</div>
</div>
</div>
<div id="right">
<div class="block" id="account-management">
<h2>Gestion du compte</h2>
<ul class="account-management">
{% if allow_email_change %}
<li><a href="{% url 'email-change' %}">Modifier l'adresse e-mail associée</a></li>
{% endif %}
{% if user.can_change_password %}
{% if user.has_usable_password %}
<li><a href="{% url 'password_change' %}">Modifier le mot de passe</a></li>
{% else %}
<li><a href="{% url 'password_change' %}">Définir un mot de passe</a></li>
{% endif %}
{% endif %}
{% if profile_edit_url %}
<li><a href="{{ profile_edit_url }}">Éditer les données du compte</a></li>
{% elif allow_profile_edit %}
<li><a href="{% url 'profile_edit' %}">Éditer les données du compte</a></li>
{% endif %}
{% if allow_account_deletion %}
<li><a href="{% url 'delete_account' %}">Supprimer le compte</a></li>
{% endif %}
<li><a href="{{porte_doc_url}}">Mon porte-documents</a></li>
</ul>
</div>
{% for id, block in frontends_block_by_id.items %}
<div class="block" id="account-management-{{ id }}">
{% if id != "password" %}
<h2>{{ block.name }}</h2>
{{ block.content|safe }}
{% endif %}
</div>
{% endfor %}
</div>
<br class="clear" />
<div id="footer-text">
Pour compléter les champs non spécifiés du compte, cliquez sur ce lien : "<a
href="{% url 'profile_edit' %}">Éditer les données du compte</a>" ou dans la colonne : "Gestion du compte".
</div>
{% endblock %}

View File

@ -0,0 +1,14 @@
{% load i18n static %}<form method="post" id="csam-login">
<div>
<img src="{% static "authentic2_auth_fedict/img/beid_image_mini.png" %}" alt="">
<input type="submit" name="{{ submit_name }}" value="{% trans "Login" %}"/>
</div>
<a id="login-legal-info" href="#">Plus d'informations légales ?</a>
</form>
<script>
$(function() {
$('#csam-login img').on('click', function() {
$('#csam-login input').click();
});
});
</script>

View File

@ -0,0 +1,19 @@
{% load i18n %}
<div class="wcs-tracking-code-input">
<div class="porte-documents">
<h2>PORTE-DOCUMENTS</h2>
<span>Retrouvez tous les fichiers échangés avec l'administration sur votre
porte-documents en cliquant sur l'icône ci-dessous : </span>
<a href="{{porte_doc_url}}" class="icone-porte-documents">&nbsp;</a>
</div>
<script type="text/javascript">
$(function() {
$('.wcs-tracking-code-input form').on('submit', function() {
var url = $(this).data('wcs-url');
window.location = url + 'code/' + $(this).find('input').val() + '/load';
return false;
});
});
</script>
</div>

View File

@ -0,0 +1,24 @@
{% extends "gadjo/root.html" %}
{% load gadjo %}
{% block site-header %}
<h1 class="breadcrumbs">{% block breadcrumb %}{% endblock %}</h1>
{% endblock %}
{% block more-user-links %}
{% endblock %}
{% block extrascripts %}
{% if manager_homepage_url %}
<script src="{{manager_homepage_url}}__services.js"></script>
<script src="{{manager_homepage_url}}static/portal-agent/js/publik.js?{% start_timestamp %}"></script>
<script src="{{portal_user_url}}static/imio/bo_common.js"></script>
<script src="{{portal_user_url}}static/liege/bo_custom.js"></script>
{% endif %}
{% endblock %}
{% block sidepage %}
<div id="sidepage">
<span id="applabel">Publik</span>
</div>
{% endblock %}

View File

@ -0,0 +1,26 @@
{% load i18n %}
{% if regies %}
<h2>{% trans "Basket" %}</h2>
{% for regie_info in regies %}
{% if regies|length != 1 %}<h3 class="regie-name">{{regie_info.regie.label}}</h3>{% endif %}
<form action="{% url 'lingo-pay' %}" method="POST">
{% csrf_token %}
<input type="hidden" name="next_url" value="{{ cell.page.get_online_url }}" />
{% if regies|length != 1 %}<input type="hidden" name="regie" value="{{regie_info.regie.id}}" />{% endif %}
<ul>
{% for item in regie_info.items %}
<li><label><input style="display: none;" type="checkbox" name="item" value="{{ item.id }}" checked/>
<a href="{{ item.source_url }}">{{ item.subject }}</a> {{ item.amount }} &euro;</label>
{% if item.user_cancellable %}
<a class="remove-item" rel="popup" href="{% url 'lingo-cancel-item' pk=item.id %}">{% trans 'remove' %}</a>
{% endif %}
</li>
{% endfor %}
<li><strong>{% trans "Total:" %}</strong> {{ regie_info.total }} &euro;</li>
</ul>
<input id="pay" type="submit" value="Payer votre commande"/>
<a href="../citoyens" id="new-command">Commander un autre document</a>
<!--input type="submit" value="{% trans "Pay" %}"/-->
</form>
{% endfor %}
{% endif %}

View File

@ -0,0 +1,139 @@
{% extends "qommon/forms/widget.html" %}
{% load qommon %}
{% block widget-title %}
<h3>{{widget.title}}</h3>
{% endblock %}
{% block widget-content %}
<input name="{{widget.name}}" id="similar-choice" type="hidden">
<div id="similar-list">
{% with demands=script.close_demands %}
{% for formdata in demands %}
{% with formdict=formdata.get_as_dict %}
<div data-id="{{formdata.id}}" style="display: none;"
><span class="marker-counter">{{formdata.counter}}</span>
<span class="type-probleme">{{ formdict.var_incident }}</span>
{% if formdict.var_sous_domaine_voirie %}
<span class="sous-domaine">{{ formdict.var_sous_domaine_voirie|default:"" }}</span>
{% endif %}
{% if formdict.var_sous_domaine_proprete %}
<span class="sous-domaine">{{ formdict.var_sous_domaine_proprete|default:"" }}</span>
{% endif %}
{% if formdict.var_sous_domaine_avaloir %}
<span class="sous-domaine">{{ formdict.var_sous_domaine_avaloir|default:"" }}</span>
{% endif %}
{% if formdict.var_sous_domaine_graffiti %}
<span class="sous-domaine">{{ formdict.var_sous_domaine_graffiti|default:"" }}</span>
{% endif %}
{% if formdict.var_sous_domaine_espace_vert %}
<span class="sous-domaine">{{ formdict.var_sous_domaine_espace_vert|default:"" }}</span>
{% endif %}
{% if formdict.var_sous_domaine_signalisation %}
<span class="sous-domaine">{{ formdict.var_sous_domaine_signalisation|default:"" }}</span>
{% endif %}
{% if formdict.var_sous_domaine_mobilier_urbain %}
<span class="sous-domaine">{{ formdict.var_sous_domaine_mobilier_urbain|default:"" }}</span>
{% endif %}
<span class="message">{{ formdict.var_numero|default:"" }} {{ formdict.var_voie_reelle }}</span>
<span class="datetime">Signalé {{ formdata.receipt_time|parse_date|date:"SHORT_DATE_FORMAT" }}</span>
<a class="plus1" href="#">C'est le même signalement !</a>
</div>
{% endwith %}
{% endfor %}
{% endwith %}
</div>
<script>
$('#similar-list a.plus1').click(function() {
$('#similar-choice').val($(this).parents('[data-id]').data('id'));
$('button[name=submit]').click();
return false;
});
if ($('.similar-map').length) {
var geojsonMarkerOptions = {
radius: 8,
fillColor: "#ff2000",
color: "#000",
weight: 1,
opacity: 1,
fillOpacity: 0.8
};
$(document).on('wcs:maps-ready', function() {
$('.qommon-map').each(function() {
var $map_widget = $(this);
var map = $map_widget[0].leaflet_map;
var geojson_url = $('#similar').data('geojson-url');
var geo_json = null;
$(map).on('zoomend moveend', function() {
var similar_list = $('#similar-list');
similar_list.find('> div').hide();
map.eachLayer(function(layer){
if (layer instanceof L.Marker && map.getBounds().contains(layer.getLatLng())) {
if (layer.feature && layer.feature.properties.id) {
similar_list.find('[data-id="' + layer.feature.properties.id + '"]').show();
return;
}
}
});
});
if (geojson_data) {
var geo_json = L.geoJson(geojson_data,
{
pointToLayer: function (feature, latlng) {
// test : #292E48, #cc5428
// marker on the map
var markerStyles = "background-color:" + feature.properties.color + "; font-size: 80%;";
// marker in list of reporting
$('div[data-id="' + feature.properties.id + '"] .marker-counter').css('background-color',feature.properties.color);
marker = L.divIcon({
iconAnchor: [0, 0],
popupAnchor: [5, -45],
html: '<span style="' + markerStyles + '"><i class="leaflet-marker-icon ' +
'" style="color: white; font-family: inherit; font-weight: bold;' +
'">' + feature.properties.counter + '</i></span>'
});
return L.marker(latlng, {icon: marker});
}
});
geo_json.addTo(map);
$(map).trigger('moveend');
}
});
});
}
</script>
<style>
#similar-list > div {
position: relative;
min-height: 3em;
border: 2px solid #ccc;
border-radius: 1ex;
padding: 1ex;
padding-left: 3em;
margin-bottom: 1em; }
#similar-list > div .marker-counter {
/*background: #2A2E49;*/
color: white;
display: inline-block;
width: 2em;
height: 2em;
border-radius: 100%;
text-align: center;
font-weight: bold;
line-height: 2em;
position: absolute;
left: 1ex; }
#similar-list > div .datetime,
#similar-list > div .type-probleme,
#similar-list > div .message {
display: block; }
#similar-list > div .datetime {
color: #666;
font-size: 80%; }
</style>
{% endblock %}

View File

@ -0,0 +1,31 @@
{% extends "authentic2/base-page.html" %}
{% load i18n %}
{% block title %}
{% trans "Registration" %}
{% endblock %}
{% block content %}
<h2>{% trans "Registration" %}</h2>
<p>{% trans "Please fill the form to complete your registration" %}</p>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<p>
<input type="checkbox" id="cgu-checkbox" name="cgu" style="width: auto;"/>
<strong>J'accepte les <a target="_new" href="{{portal_url}}conditions-dutilisation/">conditions
d'utilisation de l'e-guichet de la Ville de Liège</a>.</strong>
</p>
<input type="submit" disabled value="{% trans 'Submit' %}" />
</form>
<script>
$(function() {
$('#cgu-checkbox').on('change', function() {
$('input[type=submit]').prop('disabled', !$(this).prop('checked'));
});
});
</script>
{% endblock %}

View File

@ -0,0 +1,159 @@
<!DOCTYPE html>
{% load i18n static %}
<html {% if LANGUAGE_CODE %}lang="{{ LANGUAGE_CODE }}"{% endif %} {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}>
<head>
<meta charset="UTF-8"><!-- 🔥 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% firstof global_title "Compte Citoyen" %} {% block title %}{% endblock %}</title>
{% if meta_robots %}
<meta name="robots" content="{{ meta_robots }}" />
{% elif environment_label %}
<meta name="robots" content="noindex, nofollow, noarchive, nosnippet, notranslate, noimageindex" />
{% endif %}
{% if meta_description %}
<meta name="description" content="{{ meta_description }}" />
{% endif %}
{% if favicon %}
<link rel="shortcut icon" href="{{site_base}}{% static "" %}{{favicon}}" />
{% endif %}
{% if theme_color %}
<meta name="theme-color" content="{{theme_color}}">
<meta name="msapplication-navbutton-color" content="{{theme_color}}">
{% endif %}
{% if pwa_display == "standalone" or pwa_display == "fullscreen" %}
<link rel="manifest" href="{{site_base}}/manifest.json">
{% endif %}
{% block extra_top_head %}
{% endblock %}
{{ media }}
{% if css_variant %}
<link rel="stylesheet" type="text/css" href="{{site_base}}{% static "" %}{{css_variant}}/style.css?{{statics_hash}}">
{% else %}
<link rel="stylesheet" type="text/css" href="{{site_base}}{% static "style.css" %}?{{statics_hash}}">
{% endif %}
{% block extra_css %}
{% endblock %}
{% block extra_scripts %}
{% endblock %}
</head>
<body {% block bodyargs %}class="{% block bodyclasses %}{% endblock %}" {% block bodyattrs %}{% endblock %}{% endblock %}>
<div id="nav-skip">
<div>
<a href="#main-content">Aller au contenu</a>
<a href="#nav">Aller au menu</a>
</div>
</div>
<div id="page" {% block page-args %}{% endblock %}>
<header>
<div id="header-wrapper" >
{% block header-pre %}{% endblock %}
<div id="header">
{% block header-top %}{% endblock %}
<div id="top">
<h1 id="logo"><a accesskey="1" href="{% firstof logo_link_url portal_url '/' %}">
{% if logo == True %}
<img src="{{ portal_url }}/static/{{ commune_slug }}/images/logo.png" alt="{{ commune_name }}"/>
{% else %}
{{ site_title }}
{% endif %}
</a></h1>
{% if include_top_links != False %}
<div id="toplinks">
{% block user-info %}
{% if user.is_authenticated %}
<span class="logged-in">
<span class="connected-user">{{user.first_name}} {{user.last_name}}</span>
<a class="logout" href="{% url 'auth_logout' %}">D&eacute;connexion</a>
</span>
{% endif %}
{% endblock %}
</div> <!-- toplinks -->
{% endif %}
</div>
{% block header-bottom %}{% endblock %}
</div> <!-- header -->
{% block header-post %}{% endblock %}
</div> <!-- header-wrapper -->
</header>
{% block nav %}
<nav>
<div id="nav-wrapper" class="gru-nav-wrapper">
{% block nav-pre %}{% endblock %}
<div id="nav" class="gru-nav togglable">
{% block nav-top %}{% endblock %}
<button id="nav-button" class="gru-nav-button togglable" aria-label="Menu">
<span class="sr-only">Ouvrir le menu</span>
<span class="icon-bar icon-bar-1"></span>
<span class="icon-bar icon-bar-2"></span>
<span class="icon-bar icon-bar-3"></span>
</button>
{% block menu %}
<ul>
<li class="link-accueil"><a href="{{combo_url}}">Accueil</a></li>
<li class="link-demarches"><a href="{{wcs_url}}/login">Démarches</a></li>
<li class="link-profil"><a href="{{authentic_url}}/accounts/">Profil</a></li>
<li class="link-aide"><a href="{{help_url}}">Aide</a></li>
</ul>
{% endblock %}
{% block nav-bottom %}{% endblock %}
</div> <!-- nav -->
{% block nav-post %}{% endblock %}
</div> <!-- nav-wrapper -->
</nav>
{% endblock %}
{% block before-main-content %}
{% endblock %}
<div id="main-content-wrapper">
<div id="main-content">
{% block messages %}
{% if messages %}
<div id="messages" class="messages-login">
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
</div>
{% endif %}
{% endblock %}
{% block content-pre %}{% endblock %}
<div id="content" class="gru-content large">
{% block content-top %}{% endblock %}
{% block content %}
{% endblock %}
{% block content-bottom %}{% endblock %}
</div> <!-- #content -->
{% block content-post %}{% endblock %}
<br class="clear"/>
</div> <!-- #main-content -->
</div> <!-- #main-content-wrapper -->
<footer>
{% block footer-top %}{% endblock %}
<div id="footer-wrapper">
<div id="footer">
{% block footer %}
<p id="legal">Copyright © 2005-2016 Entr'ouvert</p>
{% endblock %}
</div>
</div>
{% block footer-bottom %}{% endblock %}
</footer>
</div> <!-- #page -->
{% if environment_label %}<span id="environment-label">{{ environment_label }}</span>{% endif %}
<a style="display: none" href="#" accesskey="t">Retour en haut de page</a>
{% include "includes/tracking.html" %}
{% block body-bottom %}
{% endblock %}
</body>
</html>