Fix most glaring bugs and vulnerabilities

This commit is contained in:
Luka Romih
2023-05-08 23:25:25 +02:00
parent 9867875ef2
commit d0e53fee3b
144 changed files with 2231 additions and 2981 deletions
+3 -3
View File
@@ -70,14 +70,14 @@ block body
#input-row.row
.col-sm-3
.subject-name
label.input-name-txt= ('PODPODROČJE')
label.input-name-txt= t('PODPODROČJE')
input#area-input.form-control(type="text")
.col-sm-3
.subject-name
label.input-name-txt= ('ANGLEŠKI PREVOD')
label.input-name-txt= t('ANGLEŠKI PREVOD')
input#translation-input.form-control(type="text")
.col.d-flex.align-items-end.mt-2
button#add-area.btn.btn-primary(type="submit" disabled)= ('Dodaj')
button#add-area.btn.btn-primary(type="submit" disabled)= t('Dodaj')
include /common/footer
include /utilities/modal-alert
@@ -43,7 +43,7 @@ block body
.d-flex.align-content-center.mb-0.me-3.mt-2.mt-sm-0
a.btn.p-0.image-link(
type="link"
href=`/admin/povezava/${link.id}/urejanje`
href=`/admin/povezave/${link.id}/urejanje`
)
img(src="/images/u_edit-alt.svg" alt="Uredi")
span.normal-gray.ms-1= t('Uredi')
@@ -95,7 +95,7 @@ block body
.d-flex.align-content-center.mb-0.me-3.mt-2.mt-sm-0
a.btn.p-0.image-link(
type="link"
href=`/admin/povezava/${link.id}/urejanje`
href=`/admin/povezave/${link.id}/urejanje`
)
img(src="/images/u_edit-alt.svg" alt="Uredi")
span.normal-gray.ms-1= t('Uredi')
@@ -12,8 +12,7 @@ block body
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
//- TODO I18n
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: t('Osnovni podatki'), description: t('Izpolnite polja in na kratko opišite vsebino terminološkega slovarja.'), helpLink: { linkHref: '/pomoc#help-edit-dict', linkText: t('Več ...') }, buttons: [{ type: 'disabled', content: t('Shrani'), form: 'admin-description' }] }
- const c = { sideMenu: true, h2: dictionary[`name${capitalize(determinedLanguage)}`], h1: t('Osnovni podatki'), description: t('Izpolnite polja in na kratko opišite vsebino terminološkega slovarja.'), helpLink: { linkHref: '/pomoc#help-edit-dict', linkText: t('Več ...') }, buttons: [{ type: 'disabled', content: t('Shrani'), form: 'admin-description' }] }
+mainHeader(c)
include /utilities/dictionary-description-mixin
+dictionary-description(dictionary.id)
@@ -12,8 +12,7 @@ block body
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
//- TODO I18n
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: t('Struktura slovarskega sestavka'), description: t('V tem razdelku lahko določite elemente slovarskega sestavka. Z izbiro elementov se vam prikazuje podoba slovarskega sestavka. Izbiro lahko tudi med urejanjem vsebine kadarkoli spremenite.'), helpLink: { linkHref: '/pomoc#help-structure-dict', linkText: t('Več ...') }, buttons: [{ type: 'disabled', content: t('Shrani'), form: 'form-dictionary-structure' }] }
- const c = { sideMenu: true, h2: dictionary[`name${capitalize(determinedLanguage)}`], h1: t('Struktura slovarskega sestavka'), description: t('V tem razdelku lahko določite elemente slovarskega sestavka. Z izbiro elementov se vam prikazuje podoba slovarskega sestavka. Izbiro lahko tudi med urejanjem vsebine kadarkoli spremenite.'), helpLink: { linkHref: '/pomoc#help-structure-dict', linkText: t('Več ...') }, buttons: [{ type: 'disabled', content: t('Shrani'), form: 'form-dictionary-structure' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container
@@ -12,7 +12,7 @@ block body
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: t('Uporabniki'), description: t('V tem razdelku lahko določite uporabniške vloge posameznega uporabnika in urejate njegove podatke.'), buttons: [{ type: 'disabled', content: t('Shrani'), form: 'admin-dictionary-users' }] }
- const c = { sideMenu: true, h2: dictionary.name, h1: t('Uporabniki'), description: t('V tem razdelku lahko določite uporabniške vloge posameznega uporabnika in urejate njegove podatke.'), buttons: [{ type: 'disabled', content: t('Shrani'), form: 'admin-dictionary-users' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-1
+1 -1
View File
@@ -36,7 +36,7 @@ block body
tr
td= result.userName
td= result.email
td= result.status
td= t(`userStatus${result.status}`)
td
a.image-link(
type="link"
@@ -79,7 +79,7 @@ block body
option(
value=domain.id
selected=domain.id === entry.domainPrimaryId
)= domain.nameSl
)= domain.name
#invalid-section.invalid-feedback-selection.hidden-section.mt-3 #{ t('Nimate izbranega področja CERIF.') }
//- .col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Področje, v katero sodi opisani terminološki problem
+5 -2
View File
@@ -96,7 +96,7 @@ block body
)
option(value=-1)
each domain in allPrimaryDomains
option(value=domain.id)= domain.nameSl
option(value=domain.id)= domain.name
#invalid-section.invalid-feedback-selection.hidden-section.mt-3 #{ t('Nimate izbranega področja CERIF.') }
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 #{ t('Področje, v katero sodi opisani terminološki problem.') }
@@ -133,5 +133,8 @@ block body
include /utilities/modal-response
+responseModal("begin-response", t("Razumem"), "understand-btn", isOwnConsultancyEnabled?t("Hvala za poslano vprašanje, ki je bilo posredovano svetovalcem terminološkega portala. Odgovor boste prejeli na e-naslov, ki ste ga navedli ob registraciji."):t("Hvala za poslano vprašanje, ki je bilo posredovano v Terminološko svetovalnico ZRC SAZU. Odgovor boste prejeli na e-naslov, ki ste ga navedli ob registraciji."))
else
p #{ t('Za zastavljanje terminoloških vprašanj morate biti prijavljeni.') }
.consultancy-container
.text-center.mt-5
.pt-3
p #{ t('Za zastavljanje terminoloških vprašanj morate biti prijavljeni.') }
include /common/footer
-50
View File
@@ -1,50 +0,0 @@
//- TODO MARK FOR DELETION
doctype html
html(lang="sl")
head
meta(charset="UTF-8")
meta(http-equiv="X-UA-Compatible" content="IE=edge")
meta(name="viewport" content="width=device-width, initial-scale=1.0")
title Paginacija - POC
body
h1 Demo konceptualna zasnova paginacije (muštr)
//- Id krovnega elementa je v realnem primeru lahko poljuben, saj ga podaš funkciji initPagination (v demo-paginacija.js).
//- UPDATE: initPagination sedaj lahko sprejme tudi array idjev (tukaj: pagination-top in pagination-bottom)
//- Interna struktura mora ostati enaka (imena elementov, njihove klase, imena, vrednosti).
//- Lahko pa v gumbe dodaš slike itd., če je potrebno, ali dodatne klase na njih, če je potrebno zaradi oblikovanja.
//- Oblikovanja tu namenoma nisem dodajal, da je demo čim enostavnejši. Oblikovati ga morata vidva oz. prvi, ki bo to delal.
//- Če kaj ne bo jasno, me raje vprašaj.
#pagination-top
button.first-page(disabled) <<
button.previous-page(disabled) <
form
input(name="page" value="1")
span= ' / '
span.pages-total= numberOfAllPages
button.next-page(disabled=numberOfAllPages === 1) >
button.last-page(disabled=numberOfAllPages === 1) >>
ul#page-results
each result in results
li Zanimiva vrednost: #[b= result.zanimivo]. Totalno nezanimivo: #{ result.nezanimivo1 } in #{ result.nezanimivo2 }
#pagination-bottom
button.first-page(disabled) <<
button.previous-page(disabled) <
form
input(name="page" value="1")
span= ' / '
span.pages-total= numberOfAllPages
button.next-page(disabled=numberOfAllPages === 1) >
button.last-page(disabled=numberOfAllPages === 1) >>
//- V realnem primeru:
//- Ne uvoziš axiosa, ker je že v layout.pug
//- Ne uvoziš skripte demo-paginacija.js, ker inicializacijsko kodo po njenem zgledu uporabiš v skripti, ki jo ta stan že uporablja.
script(
nonce=cspNonce
src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"
)
script(nonce=cspNonce src="/javascripts/demo-paginacija.js")
@@ -1,7 +1,7 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
@@ -12,8 +12,7 @@ block body
- const d = { activeLvl1: 'attributes', activeLvl2: 'description' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
//- TODO I18n
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: t('Osnovni podatki'), description: t('Izpolnite polja in na kratko opišite vsebino terminološkega slovarja.'), helpLink: { linkHref: '/pomoc#help-edit-dict', linkText: t('Več ...') }, buttons: [{ type: 'disabled', content: t('Shrani'), form: 'form-dictionary-description' }] }
- const c = { sideMenu: true, h2: dictionary[`name${capitalize(determinedLanguage)}`], h1: t('Osnovni podatki'), description: t('Izpolnite polja in na kratko opišite vsebino terminološkega slovarja.'), helpLink: { linkHref: '/pomoc#help-edit-dict', linkText: t('Več ...') }, buttons: [{ type: 'disabled', content: t('Shrani'), form: 'admin-description' }] }
+mainHeader(c)
include /utilities/dictionary-description-mixin
+dictionary-description
@@ -22,7 +22,7 @@ block body
href="/"
)
img.align-middle(src="/images/chevrons-left.svg")
span.ms-2.text-header-description-gray.fw-700 Nazaj
span.ms-2.text-header-description-gray.fw-700= t('Nazaj')
.d-flex.justify-content-between.flex-md-nowrap.flex-wrap
.header-container-left-side.d-flex
.header-container-divider-left
+1 -1
View File
@@ -27,7 +27,7 @@ block body
class=index ? 'container-fluid dictionary-content mt-4 pb-2 pt-1' : 'container-fluid dictionary-content mt-3 pb-2 pt-1'
)
//- TODO I18n
p.dictionary-title.mb-2.mt-2.ms-2= dictionary.nameSl
p.dictionary-title.mb-2.mt-2.ms-2= dictionary.name
hr.me-2.mt-0.ms-2.mb-4
.container-fluid
.d-sm-flex
+1 -1
View File
@@ -11,7 +11,7 @@ block body
include /common/side-menu-fake
+sideNavigationFake
include /utilities/dictionaries-main-panel-header
- const c = {sideMenu:false, h2: t('Urejanje'), h1: t('Nov slovar'), description: t('Izpolnite polja in na kratko opišite vsebino terminološkega slovarja.'), helpLink: { linkHref: '/pomoc#help-editor', linkText: 'Več ...' }, buttons: [{ type: 'cancel', content: 'Prekliči', classAtr:"btn btn-secondary header-btn-secondary link-back" },{ type: 'button', content: t('Ustvari'), form: 'form-dictionary-new' }] }
- const c = {sideMenu:false, h2: t('Urejanje'), h1: t('Nov slovar'), description: t('Izpolnite polja in na kratko opišite vsebino terminološkega slovarja.'), helpLink: { linkHref: '/pomoc#help-editor', linkText: t('Več ...') }, buttons: [{ type: 'cancel', content: t('Prekliči'), classAtr:"btn btn-secondary header-btn-secondary link-back" },{ type: 'button', content: t('Ustvari'), form: 'form-dictionary-new' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.container-fluid.mt-4.ps-sm-3
@@ -12,7 +12,7 @@ block body
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: t('Struktura slovarskega sestavka'), description: t('V tem razdelku lahko določite elemente slovarskega sestavka. Z izbiro elementov se vam prikazuje podoba slovarskega sestavka. Izbiro lahko tudi med urejanjem vsebine kadarkoli spremenite.'), helpLink: { linkHref: '/pomoc#help-structure-dict', linkText: t('Več ...') }, buttons: [{ type: 'disabled', content: t('Shrani'), form: 'form-dictionary-structure' }] }
- const c = { sideMenu: true, h2: dictionary[`name${capitalize(determinedLanguage)}`], h1: t('Struktura slovarskega sestavka'), description: t('V tem razdelku lahko določite elemente slovarskega sestavka. Z izbiro elementov se vam prikazuje podoba slovarskega sestavka. Izbiro lahko tudi med urejanjem vsebine kadarkoli spremenite.'), helpLink: { linkHref: '/pomoc#help-structure-dict', linkText: t('Več ...') }, buttons: [{ type: 'disabled', content: t('Shrani'), form: 'form-dictionary-structure' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container
+1 -2
View File
@@ -12,8 +12,7 @@ block body
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
//- TODO I18n
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: t('Uporabniki'), description: t('Registrirani uporabniki lahko dobijo različne vloge na portalu. Kot administrator jim lahko dodelite tudi vlogo skrbnika slovarjev in/ali skrbnika svetovalnice.'), buttons: [{ type: 'disabled', content: t('Shrani'), form: 'admin-dictionary-users' }] }
- const c = { sideMenu: true, h2: dictionary.name, h1: t('Uporabniki'), description: t('Registrirani uporabniki lahko dobijo različne vloge na portalu. Kot administrator jim lahko dodelite tudi vlogo skrbnika slovarjev in/ali skrbnika svetovalnice.'), buttons: [{ type: 'disabled', content: t('Shrani'), form: 'admin-dictionary-users' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-1
+6 -242
View File
@@ -40,7 +40,7 @@ block body
option(
value=domain.id
selected=domain.id === extraction.domainId
)= domain.nameSl
)= domain.name
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3= t('Izberite področje iz seznama področij, da zmanjšate obseg besedil, iz katerih bo potekalo luščenje.')
@@ -53,248 +53,12 @@ block body
name="documentType"
multiple
)
//- TODO i18n - Angleški šifrant, baza, itd.?
option
option(
value=101
selected=extraction.documentType.includes(101)
) Izvirni znanstveni članek
option(
value=102
selected=extraction.documentType.includes(102)
) Pregledni znanstveni članek
option(
value=103
selected=extraction.documentType.includes(103)
) Kratki znanstveni prispevek
option(
value=104
selected=extraction.documentType.includes(104)
) Strokovni članek
option(
value=105
selected=extraction.documentType.includes(105)
) Poljudni članek
option(
value=106
selected=extraction.documentType.includes(106)
) Objavljeni znanstveni prispevek na konferenci (vabljeno predavanje)
option(
value=107
selected=extraction.documentType.includes(107)
) Objavljeni strokovni prispevek na konferenci (vabljeno predavanje)
option(
value=108
selected=extraction.documentType.includes(108)
) Objavljeni znanstveni prispevek na konferenci
option(
value=109
selected=extraction.documentType.includes(109)
) Objavljeni strokovni prispevek na konferenci
option(
value=110
selected=extraction.documentType.includes(110)
) Objavljeni povzetek znanstvenega prispevka na konferenci (vabljeno predavanje)
option(
value=112
selected=extraction.documentType.includes(112)
) Objavljeni povzetek znanstvenega prispevka na konferenci
option(
value=113
selected=extraction.documentType.includes(113)
) Objavljeni povzetek strokovnega prispevka na konferenci
option(
value=116
selected=extraction.documentType.includes(116)
) Samostojni znanstveni sestavek ali poglavje v monografski publikaciji
option(
value=117
selected=extraction.documentType.includes(117)
) Samostojni strokovni sestavek ali poglavje v monografski publikaciji
option(
value=118
selected=extraction.documentType.includes(118)
) Geslo sestavek v enciklopediji, leksikonu, slovarju...
option(
value=119
selected=extraction.documentType.includes(119)
) Recenzija, prikaz knjige, kritika
option(
value=120
selected=extraction.documentType.includes(120)
) Predgovor, spremna beseda
option(
value=121
selected=extraction.documentType.includes(121)
) Polemika, diskusijski prispevek
option(
value=122
selected=extraction.documentType.includes(122)
) Intervju
option(
value=123
selected=extraction.documentType.includes(123)
) Umetniški sestavek
option(
value=124
selected=extraction.documentType.includes(124)
) Bibliografija, kazalo ipd.
option(
value=125
selected=extraction.documentType.includes(125)
) Drugi članki ali sestavki
option(
value=201
selected=extraction.documentType.includes(201)
) Znanstvena monografija
option(
value=202
selected=extraction.documentType.includes(202)
) Strokovna monografija
option(
value=203
selected=extraction.documentType.includes(203)
) Univerzitetni, visokošolski ali višješolski učbenik z recenzijo
option(
value=204
selected=extraction.documentType.includes(204)
) Srednješolski, osnovnošolski ali drugi učbenik z recenzijo
option(
value=205
selected=extraction.documentType.includes(205)
) Video in druga učna gradiva
option(
value=206
selected=extraction.documentType.includes(206)
) Enciklopedija, slovar, leksikon, priročnik, atlas, zemljevid
option(
value=207
selected=extraction.documentType.includes(207)
) Bibliografija
option(
value=208
selected=extraction.documentType.includes(208)
) Doktorska disertacija
option(
value=209
selected=extraction.documentType.includes(209)
) Magistrsko delo
option(
value=210
selected=extraction.documentType.includes(210)
) Specialistično delo
option(
value=211
selected=extraction.documentType.includes(211)
) Diplomsko delo
option(
value=212
selected=extraction.documentType.includes(212)
) Končno poročilo o rezultatih raziskav
option(
value=213
selected=extraction.documentType.includes(213)
) Elaborat, predštudija, študija
option(
value=214
selected=extraction.documentType.includes(214)
) Projektna dokumentacija (idejni projekt, izvedbeni projekt)
option(
value=215
selected=extraction.documentType.includes(215)
) Izvedensko mnenje, arbitražna odločba
option(
value=216
selected=extraction.documentType.includes(216)
) Umetniško delo
option(
value=217
selected=extraction.documentType.includes(217)
) Katalog razstave
option(
value=218
selected=extraction.documentType.includes(218)
) Raziskovalni ali dokumentarni film, zvočni ali video posnetek
option(
value=219
selected=extraction.documentType.includes(219)
) Radijska ali televizijska oddaja
option(
value=220
selected=extraction.documentType.includes(220)
) Raziskovalni podatki
option(
value=221
selected=extraction.documentType.includes(221)
) Programska oprema
option(
value=222
selected=extraction.documentType.includes(222)
) Nova sorta
option(
value=223
selected=extraction.documentType.includes(223)
) Patentna prijava
option(
value=224
selected=extraction.documentType.includes(224)
) Patent
option(
value=225
selected=extraction.documentType.includes(225)
) Druge monografije in druga zaključena dela
option(
value=227
selected=extraction.documentType.includes(227)
) Znanstveni terminološki slovar, enciklopedija ali tematski leksikon
option(
value=230
selected=extraction.documentType.includes(230)
) Zbornik strokovnih ali nerecenziranih znanstvenih prispevkov na konferenci
option(
value=231
selected=extraction.documentType.includes(231)
) Zbornik recenziranih znanstvenih prispevkov na mednarodni ali tuji konferenci
option(
value=232
selected=extraction.documentType.includes(232)
) Zbornik recenziranih znanstvenih prispevkov na domači konferenci
option(
value=310
selected=extraction.documentType.includes(310)
) Umetniška poustvaritev
option(
value=311
selected=extraction.documentType.includes(311)
) Radijski ali TV dogodek
option(
value=312
selected=extraction.documentType.includes(312)
) Razstava
option(
value=313
selected=extraction.documentType.includes(313)
) Organiziranje znanstvenih in strokovnih sestankov
option(
value=314
selected=extraction.documentType.includes(314)
) Predavanje na tuji univerzi
option(
value=315
selected=extraction.documentType.includes(315)
) Prispevek na konferenci brez natisa
option(
value=316
selected=extraction.documentType.includes(316)
) Vabljeno predavanje na konferenci brez natisa
option(
value=320
selected=extraction.documentType.includes(320)
) Druga dela
option(
value=325
selected=extraction.documentType.includes(325)
) Druga izvedena dela
each type in ossDocumentTypes
option(
value=type.id
selected=extraction.documentType.includes(type.id)
)= type.name
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3= t('Izberite vrsto dokumenta iz seznama, npr. članek, diplomsko delo.')
@@ -1,8 +0,0 @@
// DEMO??
//- TODO MARK FOR DELETION
extends /layout
block body
.help-content-container(style="margin: 0.5rem")
include help-pug-demo
-190
View File
@@ -1,190 +0,0 @@
//- TODO MARK FOR DELETION
h2 Iskanje
p bold #[b adasdasda]
p bold+ #[b dasdas#[sup 1] dasd#[sub 2]]
p italic #[i sddasd]
p italic+ #[i dadsasda#[sup 1] dsada#[sub 2]]
p bold+italic #[b #[i sdasd]]
p bold+italic+ #[b #[i dsda#[sup 1] sddasd#[sub 2]]]
p Xxxxx #[a(href="https://www.amebis.si/" target="_blank") Amebis]
p Xxxxx #[a(href="https://www.amebis.si/") Amebis (v istem zavihku)]
p adasda #[b #[a(href="https://www.amebis.si/" target="_blank") Amebis]]
p as #[i #[a(href="https://www.amebis.si/" target="_blank") Amebis]]
p adada #[b #[i #[a(href="https://www.amebis.si/" target="_blank") Amebis]]]
p Xxxxx #[a(href="https://www.amebis.si/" target="_blank") Amebis] asd as das da sd as da s d a sd as d a s d as
//- To je komentar, ki se ne interpretira.
//- Vrstica se lahko v pug sintaksi lomi na sledeč način, vendar pozor:
//- Lom v sintaksi je namenjen preglednejši sintaksi, NE prevede pa se v lom, temveč v presledek,
//- zato je lom v sintaksi smiselno narediti namesto presledka v želenem besedilu.
| #[b dasdas#[sup 1] dasd#[sub 2]] a sdasdasd asd asd as das d a sd a sd a s d a s d a s d a sd #[b adasdasda]
| d asddsda #[i sddasd] adada #[i dadsasda#[sup 1] dsada#[sub 2]] sd dsad adasda #[b #[a(href="https://www.amebis.si/" target="_blank") Amebis]]
| dsasd aas da d a dasdas d a #[b #[i sdasd]] a sda sd a s #[b #[i dsda#[sup 1] sddasd#[sub 2]]] adada dadsasda dsada.
p Xxxxx
//- Če pretiravam v lomih za namen demonstracije učinka na rezultat (lomi --> presledki).
| asd
| as
| das
//- Konec pretiravanja.
//- Dolžina vrstice pug sintakse naj bo taka, da bo čimbolj pregledna (npr. ne daljša od 150 znakov).
//- Dolžina končne vrstice bo dinamična in se bo avtomatsko prilagajala trenutni širini brskalnika ter drugim dejavnikom.
| da sd as da s d a sd as d a s d as #[i #[a(href="https://www.amebis.si/" target="_blank") Amebis]] dasdasdasd a sdasdasd
| asd asd as das d a sd a sd a s d a s d a s d a sd adasdasda d asddsda sddasd adada #[b #[i #[a(href="https://www.amebis.si/" target="_blank") Amebis]]]
| dadsasda dsada sd dsad.
p Naštevanje:
ul
li ena
li dva
ul
li ena2
li dva2 - as dlaskldkalskjd lakls jldkj laksldjklaskj dlkajslkjd lakjs lkj dlkj lakjs lkj lkj lkj lkdjlakjs lkdj aklsd l
li tri2
li tri
//- Če bi kje želeli večji razmak, kot običajno, lahko uporabimo enega ali več "br" elementov.
br
br
br
br
br
ol
li ena - asdasdnba sdasd as dlakskdlaks dlakskjdlkjalksj lkdj lka lsklk dlak slkj dlkaj lkj slkj dl alksjdl akslkj lkj dlkj alk lsk ldkj als dkj
li dva
ol
li ena
li dva
li tri
li tri
p Tabela:
table
tr
th
th 1
th 2
th 3
tr
td #[i a]
td a1
td a2
td a3
tr
td #[i b]
td b1
td
td b3
p Slika:
//- Za prikaz slike potrebujemo tudi izvorno sliko.
//- Tu uporabim sliko poimenovano "help-amebis-logo-pug-demo.png".
//- Vsebina polja "alt" se uporabi, ko slika ni na voljo ali za slepe uporabnike, ki slike ne vidijo.
//- Ta vsebina mora torej podati vso informacijo, tako, da bi lahko z njo v celoti nadomestili sliko,
//- saj jo slepi/slabovidni uporabniki slišijo na mestu, kjer je za ostale umeščena slika.
img(src="/images/help-amebis-logo-pug-demo.png", alt="Demo Amebisov logo")
figure
img(src="/images/help-amebis-logo-pug-demo.png", alt="Demo Amebisov logo")
figcaption Podnapis
p Konec.
h3 Osnovno iskanje
p xxxxx
h3 Napredno iskanje
p xxxxx
h2 Luščenje
p xxxxx
h3 Specializirani korpusi
p xxxxx
h3 Lastni uporabniški korpus
p xxxxx
h3 Korpus OSS
p xxxxx
h3 Področja
p xxxxx
h3 Terminološki kandidati
p xxxxx
h2 Urejanje
p xxxxx
h3 Nov slovar
p xxxxx
h3 Urejanje lastnosti slovarja
p xxxxx
h3 Uporabniki
p xxxxx
h3 Struktura slovarskega sestavka
p xxxxx
h3 Komentiranje
p xxxxx
h3 Urejanje vsebine slovarja
p xxxxx
h3 Uvoz podatkov
p xxxxx
h3 Dodajanje novih slovarskih sestavkov
p xxxxx
h4 Zaglavje
p xxxxx
h4 Področne oznake
p xxxxx
h4 Pojasnilo
p xxxxx
h4 Definicija
p xxxxx
h4 Sinonimi
p xxxxx
h4 Povezave
p xxxxx
h4 Tuji jeziki (elementi)
p xxxxx
h4 Zgodovina urejanja
p xxxxx
h4 Komentarji
p xxxxx
h2 Svetovanje
p xxxxx
h3 Pošiljanje vprašanj
p xxxxx
h3 Terminološka načela
p xxxxx
h3 Povezava
p xxxxx
h3 Objava odgovorov
p xxxxx
h2 Administracija
p xxxxx
@@ -16,7 +16,7 @@ block body
.content-hold-prerequisites
#offset-main.main-container.mt-2
form.needs-validation(method="post" novalidate)
form#profileForm.needs-validation(method="post" novalidate)
div
.subject-name
label.input-name-txt(for="password-old") #{ t('STARO GESLO') }
@@ -24,7 +24,7 @@ block body
.col-sm-6.align-items-center
input#password-old.name-input.form-control.d-inline(
type="password"
name="password-old"
name="passwordOld"
value=""
)
.invalid-feedback #{ t('Napačno geslo.') }
@@ -39,7 +39,7 @@ block body
.col-sm-6
input#password-new.name-input.form-control.d-inline(
type="password"
name="password-new"
name="passwordNew"
minLength="1"
value=""
)
@@ -55,7 +55,7 @@ block body
.col-sm-6
input#password-repeat.name-input.form-control.d-inline(
type="password"
name="password-repeat"
name="passwordNewRepeat"
minLength="1"
value=""
)
@@ -92,3 +92,5 @@ block body
span.ps-2.text-white #{ t('IZBRIŠI') }
include /common/footer
include /utilities/modal-alert
include /utilities/modal-info
+modalInfo
@@ -7,31 +7,31 @@ mixin sideNavigation(sideNavigationData)
src="/images/burger-menu-button-icon.svg"
alt=t('Meni')
)
span.nav-title #{ t('Moj Profil') }
span.nav-title #{ t('Moj Račun') }
#mobile-right-holder
nav
ul.admin-nav-content.slidable.scroller-style
li(
li.p-0(
class=sideNavigationData.selection === 'change-profile-data' ? 'focused-menu' : 'admin-nav-item'
)
a.active(href="/moj-racun")
a.p-2.active(href="/moj-racun")
img(src="/images/user-gray.svg" alt=t('Basic'))
p #{ t('Osnovni podatki') }
li(
li.p-0(
class=sideNavigationData.selection === 'change-profile-password' ? 'focused-menu' : 'admin-nav-item'
)
a.active(href="/spremeni-geslo")
a.p-2.active(href="/spremeni-geslo")
img(src="/images/lock-gray.svg" alt=t('Settings'))
p #{ t('Spremeni geslo') }
li(
li.p-0(
class=sideNavigationData.selection === 'change-profile-settings' ? 'focused-menu' : 'admin-nav-item'
)
a.active(href="/nastavitve-racuna")
a.p-2.active(href="/nastavitve-racuna")
img(src="/images/cog.svg" alt=t('Settings'))
p #{ t('Nastavitve') }
li(
li.p-0(
class=sideNavigationData.selection === 'delete-profile' ? 'focused-menu' : 'admin-nav-item'
)
a.active(href="/izbrisi-racun")
a.p-2.active(href="/izbrisi-racun")
img(src="/images/user-x.svg" alt=t('Delete profile'))
p #{ t('Izbriši račun') }
+8 -8
View File
@@ -35,12 +35,12 @@ block body
.mt-4
.subject-name
label.input-name-txt(for="profile-name") #{ t('IME') }
label.input-name-txt(for="profile-first-name") #{ t('IME') }
.row
.col-sm-6
input#profile-name.name-input.form-control.d-inline(
input#profile-first-name.name-input.form-control.d-inline(
type="text"
name="name"
name="firstName"
minLength="1"
value=user.firstName
)
@@ -51,12 +51,12 @@ block body
.mt-4
.subject-name
label.input-name-txt(for="profile-surname") #{ t('PRIIMEK') }
label.input-name-txt(for="profile-last-name") #{ t('PRIIMEK') }
.row
.col-sm-6
input#profile-surname.name-input.form-control.d-inline(
input#profile-last-name.name-input.form-control.d-inline(
type="text"
name="surname"
name="lastName"
minLength="1"
value=user.lastName
)
@@ -67,10 +67,10 @@ block body
.mt-4
.subject-name
label.input-name-txt(for="profile-surname") #{ t('ELEKTRONSKI NASLOV') }
label.input-name-txt(for="profile-email") #{ t('ELEKTRONSKI NASLOV') }
.row
.col-sm-6
input#profile-surname.name-input.form-control.d-inline(
input#profile-email.name-input.form-control.d-inline(
type="text"
name="email"
minLength="1"
@@ -9,7 +9,7 @@ block body
+main-navigation(false)
include /utilities/generic-main-panel-header
- let c
if (isValidToken)
if (isTokenValid)
- c = { h1: t('Ponastavi geslo'), description: t('Vnesite novo geslo. Ko ga potrdite, se boste v vaš uporabniški račun lahko spet prijavili z novim geslom.') }
else
- c = { h1: t('Obvestilo'), description: '' }
@@ -19,12 +19,13 @@ block body
#offset-main.container-fluid.mt-4.errc.px-0
.p-squeeze-lg
.rpm-corr
if (isValidToken)
if (isTokenValid)
// h1.navigation-text-color.mt-3 Ponastavi Geslo
form#reset-and-redirect.max-512px(
action="/reset-password"
method="POST"
)
input#token(type="hidden" value=token)
input#reset-password.mb-3.form-control(
type="password"
placeholder=t('Geslo')
@@ -33,10 +34,10 @@ block body
type="password"
placeholder=t('Ponovi Geslo')
)
p#reset-password-error.error-text.mb-1
.d-flex.justify-content-between
button#cancel-btn.btn.btn-secondary.h-40px(type="button") #{ t('Prekliči') }
a.btn.btn-secondary.h-40px(href="/") #{ t('Prekliči') }
button#reset-password-btn.btn.btn-primary.h-40px(type="submit") #{ t('Potrdi') }
input#token.d-none(value=token)
else
//h1.navigation-text-color.mt-3 Obvestilo
p #{ t('Povezava ni (več) veljavna. Prosimo, da ponovno zahtevate ponastavitev gesla.') }