Initial commit

This commit is contained in:
Luka Romih
2022-12-07 04:43:36 +01:00
commit 257f3c354f
496 changed files with 55373 additions and 0 deletions
+86
View File
@@ -0,0 +1,86 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'areas', activeLvl2: '' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Podpodročja', h1: 'Podpodročja', description: 'Podpodročja so namenjena podrobnejšemu razvrščanju terminoloških slovarjev. Administrator mora vsa novo predlagana podpodročja potrditi, preden jih lahko na seznamu vidijo tudi drugi uporabniki portala.', buttons: [{ form: 'dictionary-domain-labels', type: 'disabled', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
if results.length
.d-flex.justify-content-between.mt-4
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex
include /utilities/pager
+pager
form#dictionary-domain-labels(
method="post"
action="/api/v1/dictionaries/renovateSecondaryDomains"
)
table#all-areas-table.table.areas-table.table-responsive
thead
tr
th(scope="col") Vidno
th(scope="col") Podpodročje
th(scope="col") Prevod
th(scope="col")
tbody#page-results
each result in results
tr
input(type="hidden" name="secondaryDomainId" value=result.id)
th(scope="row")
if result.isApproved
input.form-check.checkbox-table(
type="checkbox"
name="isApproved"
checked
disabled
)
else
input.form-check.checkbox-table(
type="checkbox"
name="isApproved"
disabled
)
td.tdata-area= result.nameSl
td.tdata-translation= result.nameEn
td.buttons-group
.table-buttons
button.p-0.table-button-grp.me-3.edit-row-btn(
type="button"
)
img(src="/images/u_edit-alt.svg" alt="")
button.p-0.table-button-grp.delete-row-btn(
data-bs-target="#alert-modal"
data-bs-toggle="modal"
type="button"
)
img(src="/images/red-trash-icon.svg" alt="")
#input-row.row
.col-sm-3
.subject-name
label.input-name-txt PODPODROČJE
input#area-input.form-control(type="text")
.col-sm-3
.subject-name
label.input-name-txt ANGLEŠKI PREVOD PODPODROČJA
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
include /utilities/modal-alert
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
+22
View File
@@ -0,0 +1,22 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/comments.js")
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'comments', activeLvl2: '' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Urejanje', h1: 'Komentarji', description: 'Na tem mestu so zbrani vsi komentarji, povezani s terminološkim portalom.' }
+mainHeader(c)
.comments-content.col-12.col-md-12.py-md-3.bd-content.content-hold-prerequisites
#offset-main.main-container
include /utilities/comments-with-pager
include /common/footer
@@ -0,0 +1,112 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
script(nonce=cspNonce src="/javascripts/admin-portals.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'connections', activeLvl2: 'list' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Povezave', h1: 'Povezave s portali', description: 'Svoj terminološki portal lahko povežete še z drugimi terminološkimi portali in med iskalnimi prikazujete tudi njihove zadetke.', buttons: [{ type: 'link', content: 'Dodaj povezavo', url: '/admin/povezave/nova' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
if allLinkedPortals
if allLinkedPortals.length
each link in allLinkedPortals
if !link.isLinked
.container-fluid.task.task-declined.p-3.mb-4
.d-sm-flex.justify-content-sm-between.d-grid
.d-grid
.d-inline
span.bold-weight-black= `${link.code} - ${link.name}`
if link.indexURL
span.link-url.normal-gray.mt-2.mb-2= link.indexURL
.d-flex.align-items-center.justify-content-sm-end
button.link-portal-btn.btn.btn-secondary.align-items-center.d-flex(
type="button"
data-link-id=link.id
)
img(src="/images/external-link.svg")
span.ms-1 Pošlji
hr.mt-2.mb-3
.d-sm-flex.justify-content-between
.d-sm-flex.align-items-center.mb-0
img(src="/images/x-circle-red.svg")
span.normal-gray.ms-1 ZAVRJEN
.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`
)
img(src="/images/u_edit-alt.svg" alt="Uredi")
span.normal-gray.ms-1 Uredi
.ms-3
button.p-0.btn.delete-task(data-link-id=link.id)
img(src="/images/red-trash-icon.svg" alt="")
span.normal-gray.ms-2 Odstrani
else
#synced-terms-div
.container-fluid.task.task-completed.p-3.mb-4(id='code' + link)
.d-sm-flex.justify-content-sm-between.d-grid
.d-grid
.d-inline
span.bold-weight-black= `${link.code} - ${link.name}`
if link.indexURL
span.normal-gray.mt-2.mb-2= link.indexURL
.d-flex.align-items-center.justify-content-sm-end
if link.indexURL
button.sync-portal-btn.btn.btn-secondary.align-itmes-center.d-flex(
type="button"
data-link-id=link.id
)
img(src="/images/refresh-ccw.svg")
span.ms-1 Sinhroniziraj
a.ms-2.btn.btn-secondary.align-items-center.d-flex(
href=`/admin/povezave/seznam/${link.id}`
)
img(src="/images/book-colorized.svg")
span.ms-1 Slovarji
hr.mt-2.mb-3
.d-sm-flex.justify-content-between
.d-sm-flex.align-items-center.mb-0.form-check.form-switch.portal-enable-switch(
data-portal-id=link.id
)
if link.isEnabled
input.form-check-input(
type="checkbox"
name="isEnabled"
id='checkbox' + link.id
checked
)
else
input.form-check-input(
type="checkbox"
name="isEnabled"
id='checkbox' + link.id
)
label.normal-gray.ms-2.mt-1(for='checkbox' + link.id) Omogočeno
.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`
)
img(src="/images/u_edit-alt.svg" alt="Uredi")
span.normal-gray.ms-1 Uredi
.ms-3
button.p-0.btn.delete-task(data-link-id=link.id)
img(src="/images/red-trash-icon.svg" alt="")
span.normal-gray.ms-2 Odstrani
else
.d-flex.justify-content-center.mt-5
p Nimate povezav za urejanje.
include /utilities/modal-alert
include /utilities/modal-response
+responseModal
include /common/footer
@@ -0,0 +1,61 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'list' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Slovarji', h1: 'Seznam slovarjev', description: 'Seznam vseh slovarjev, ki jih uredniki, sicer registrirani uporabniki, urejajo na tem portalu.', buttons: [{ type: 'link', content: 'Dodaj slovar', url: '/slovarji/nov' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-3
.d-flex.justify-content-between
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex
include /utilities/pager
+pager
-
const localeOptions = {
day: '2-digit',
month: '2-digit',
year: 'numeric',
hour: '2-digit',
minute: '2-digit',
}
.table-responsive
table.styled-table
thead
tr
th= 'ID'
th= 'NASLOV'
th= 'STATUS'
th= 'USTVARJEN'
th= 'SPREMENJEN'
th= ''
tbody#page-results
each result in results
tr
each el in result
if result.timeCreated===el || result.timeModified===el
- const date = new Date(el).toLocaleDateString('sl-SL', localeOptions)
td= date
else
td= el
td
a.image-link(
type="link"
href=`/admin/slovarji/${result.id}/podatki`
)
img(src="/images/u_edit-alt.svg" alt="Uredi")
span.normal-gray.ms-1 Uredi
include /common/footer
@@ -0,0 +1,64 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'advanced' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Napredno', description: 'Napredno urejanje omogoča spreminjanje večjega števila podatkov v terminološkem slovarju.' }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-3
input#adv-dictionary-id(
type="hidden"
name="dictionaryId"
value=dictionary.id
)
.row
.col-md-6.white-border-background.p-4.d-flex.align-items-center
span.info-text-for-button.me-auto Indeksiraj ...
button#index-entries-btn.btn.btn-primary.ps-5.pe-5.advanced-blue-btn UREDI
.col-sm.align-items-center.ms-xxl-3.ms-md-3.d-flex.ps-1
span.name-info-txt Navodilo k posamičnemu polju.
.file-type.mt-4
.row.mt-5
.col-md-6.white-border-background.p-4.d-flex.align-items-center
span.info-text-for-button.me-auto Brisanje slovarskih sestavkov
button#adv-delete-all-entries.btn.btn-primary.ps-5.pe-5.advanced-blue-btn BRIŠI
.col-sm.align-items-center.ms-xxl-3.ms-md-3.d-flex.ps-1
span.name-info-txt Izbrišete lahko vse doslej obdelane slovarske sestavke in ohranite vse metapodatke o slovarju. Dejanja ni mogoče preklicati.
a.name-info-txt.ms-1(href="/pomoc") Več …
.file-type.mt-5
.row.mt-5
.col-md-6.white-border-background.p-4.d-flex.align-items-center
span.info-text-for-button.me-auto Brisanje slovarja
button#adv-delete-dictionary.btn.btn-primary.ps-5.pe-5.advanced-blue-btn BRIŠI
.col-sm.align-items-center.ms-xxl-3.ms-md-3.d-flex.ps-1
span.name-info-txt Izbrišete lahko celoten slovar z vsemi metapodatki. Dejanja ni mogoče preklicati.
a.name-info-txt.ms-2(href="/pomoc") Več …
.file-type.mt-5
.row.mt-5
.col-md-6.white-border-background.p-4.d-flex.align-items-center
span.info-text-for-button.me-auto Objava vseh slovarskih sestavkov
button#adv-publish-all-entries.btn.btn-primary.ps-5.pe-5.advanced-blue-btn OBJAVI
.col-sm.align-items-center.ms-xxl-3.ms-md-3.d-flex.ps-1
span.name-info-txt Po koncu urejanja vseh slovarskih sestavkov lahko slovar objavite in ga tako prikažete na javnem delu terminološkega portala.
include /utilities/modal-spinner
include /utilities/modal-alert-mixin
+alertModal("index-entries", "Uporabi", "Prekliči", "modal-use-btn", "cancel-btn", 'Ali želite indeksirati?')
+alertModal("delete-entries", "Izbriši", "Prekliči", "modal-use-btn", "cancel-btn", 'S tem dejanjem boste izbrisali vse slovarske sestavke v slovarju. Metapodatki bodo ostali. Dejanja ni mogoče razveljaviti.')
+alertModal("delete-dictionary", "Izbriši", "Prekliči", "modal-use-btn", "cancel-btn", 'S tem dejanjem boste izbrisali vse slovarske sestavke v slovarju in vse metapodatke. Dejanja ni mogoče razveljaviti.')
+alertModal("publish-entries", "Objavi", "Prekliči", "modal-use-btn", "cancel-btn", 'Ali želite objaviti vsa gesla?')
include /utilities/modal-response
+responseModal("delete-entries-res", "Razumem", "understand-btn", "Slovarski sestavki so bili izbrisani.")
+responseModal("delete-dict-res", "Razumem", "understand-btn", "Slovar je bil izbrisan.")
+responseModal("publish-entries-res", "Razumem", "understand-btn", "Slovarski sestavki so bili objavljeni.")
include /common/footer
@@ -0,0 +1,23 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/comments.js")
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'comments' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Komentarji', description: 'Na tem mestu so zbrani vsi komentarji, povezani z izbranim terminološkim slovarjem.' }
+mainHeader(c)
.comments-content.col-12.col-md-12.py-md-3.bd-content.content-hold-prerequisites
#offset-main.main-container
include /utilities/comments-with-pager
include /common/footer
@@ -0,0 +1,246 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'description' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: 'Osnovni podatki', description: 'Izpolnite polja in na kratko opišite vsebino terminološkega slovarja.', helpLink: { linkHref: '/pomoc', linkText: 'Več ...' }, buttons: [{ type: 'disabled', content: 'Shrani', form: 'admin-description' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-1
.title
.subject-name
label.smaller-gray-uppercase(for="") ID Slovarja
.row
.col-sm-6
span.page-title-header= dictionary.id
form#admin-description.needs-validation.mt-3(method="post" novalidate)
.title
.subject-name
label.smaller-gray-uppercase(for="dictionary-title") NASLOV SLOVARJA *
.row
.col-sm-6
input#dictionary-title.name-input.form-control(
type="text"
name="nameSl"
required
maxlength="120"
value=dictionary.nameSl
)
.invalid-feedback Niste vpisali naslova slovarja.
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Celotni naslov slovarja, ki bo zabeležen v bibliografskih podatkih.
.english-title.mt-4
.subject-name
label.smaller-gray-uppercase(for="dictionary-title-en") ANGLEŠKI NASLOV SLOVARJA *
.row
.col-sm-6
input#dictionary-title-en.name-input.form-control(
type="text"
name="nameEn"
maxlength="120"
value=dictionary.nameEn ? dictionary.nameEn : ''
required
)
.invalid-feedback Niste vpisali angleškega naslova slovarja.
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Celotni naslov slovarja v angleščini.
.short-title.mt-4
.subject-name
label.smaller-gray-uppercase(for="short-dictionary-title") SKRAJŠANI NASLOV SLOVARJA
.row
.col-sm-6
input#short-dictionary-title.name-input.d-inline.form-control(
type="text"
name="nameSlShort"
maxlength="15"
value=dictionary.nameSlShort ? dictionary.nameSlShort : ''
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Zaradi organizacije podatkov na portalu za skrajšani naslov slovarja predlagamo poenobesede nje, ki se bo izpisovalo ob slovarju, npr. Davčni terminološki slovar → Davki.
//- TODO enable field when slug is in DB
//- .mt-4
//- .subject-name
//- label.smaller-gray-uppercase(for="slug") Slug
//- .row
//- .col-sm-6
//- input#slug.name-input.d-inline.form-control(
//- type="text"
//- placeholder="V razvoju ..."
//- disabled
//- )
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Slug
if dictionary.author
each ele, index in dictionary.author
.author.mt-4.added-field
.subject-name
label.smaller-gray-uppercase(for="author") AVTOR SLOVARJA
.row
.col-sm-6
.input-group
input(
class=index != 0 ? 'name-input d-inline form-control icon-trash' : 'name-input d-inline form-control'
type="text"
name="author"
maxlength="64"
value=ele ? ele : ''
)
if (index != 0)
button.input-group-text.delete-author-btn(type="button")
img.delete-author.p-0(
src="/images/red-trash-icon.svg"
alt="Delete"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Vpišite avtorja slovarja, če ste glavni avtor, na prvo mesto zapišite svoje ime.
else
#first-author.author.mt-4
.subject-name
label.smaller-gray-uppercase(for="author") AVTOR SLOVARJA
.row
.col-sm-6
input#author.name-input.d-inline.form-control(
type="text"
name="author"
maxlength="64"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Vpišite avtorja slovarja, če ste glavni avtor, na prvo mesto zapišite svoje ime.
#add-new-author.author.mt-4
.subject-name
label.smaller-gray-uppercase(for="input-new-author") NOV AVTOR
.row
.col-sm-6
button#input-new-author.form-control(type="button")
span.new-author-text-btn Nov avtor
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Dodajte ime in priimek naslednjega avtorja slovarja..
//- TODO enable field when weight is in DB
//- .mt-4
//- .subject-name
//- label.smaller-gray-uppercase(for="weight") TEŽA
//- .row
//- .col-sm-6.d-flex.align-items-center
//- input#weight.name-input.form-control.autocomplete.d-inline(
//- disabled
//- placeholder="V razvoju ..."
//- )
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Statična teža.
.mt-4
.subject-name
label.smaller-gray-uppercase(for="status") STATUS
.row
.col-sm-6.d-flex.align-items-center
select#status.name-input.form-select.d-inline(name="status")
option(
value="closed"
selected=status === 'closed' ? true : false
) Zaprt
option(
value="reviewed"
selected=status === 'reviewed' ? true : false
disabled=status === 'reviewed' ? false : true
) V odpiranju
option(
value="published"
selected=status === 'published' ? true : false
) Odprt
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Terminološkemu slovarju določite status. Izbirate lahko med zaprt, v urejanju in odprt.
.cerif-area.mt-4
.subject-name
label.smaller-gray-uppercase(for="select-cerif") PODROČJE *
.row
.col-sm-6
select.name-input.d-inline.form-select(
name="domainPrimary"
required
)
each domain in allPrimaryDomains
option(
value=domain.id
selected=domain.id === dictionary.domainPrimary
)= domain.nameSl
#invalid-section.invalid-feedback-selection.hidden-section.mt-3 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 Izberite področje svojega terminološkega slovarja na seznamu področij.
.small-name-area.mt-4
.subject-name
label.smaller-gray-uppercase(for="domain-secondary") PODPODROČJE
.row
.col-sm-6
select#domain-secondary.name-input.d-inline.form-control.without-addition(
name="domainSecondary"
multiple
)
each domain in allSecondaryDomains
if associatedSecondaryDomains.some(associatedDomain => associatedDomain.id === domain.id)
option(value=domain.id selected)= domain.nameSl
else
option(value=domain.id)= domain.nameSl
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Podpodročje.
#add-new-area.author.mt-4
.subject-name
label.smaller-gray-uppercase NOVO PODPODROČJE
.row
.col-sm-6
button#input-new-area.form-control(type="button")
span.new-author-text-btn Novo podpodročje
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Vpišite novo podpodročje. Na seznamu podpodročij bo vidno takoj po potrditvi administratorja portala.
#text-editor.mt-4
.subject-name
span.smaller-gray-uppercase OPIS SLOVARJA
.container-xxl.ps-0.ms-0
textarea.summernote(
name="description"
value=dictionary.description
)
if dictionary.description
p= dictionary.description
.col-sm-6.smaller-gray-info.mt-2
|
#issn-field.mt-4
.subject-name
label.smaller-gray-uppercase(for="issn") ISSN
.row
.col-sm-6
input#issn.name-input.d-inline.form-control(
type="text"
name="issn"
maxlength="20"
value=dictionary.issn ? dictionary.issn : ''
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 ISSN oznaka.
a.ms-1.smaller-gray-info(href="/pomoc" target="_blank") Več ...
include /utilities/modal-alert
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
@@ -0,0 +1,110 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'subareas' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Področne oznake', description: 'Na tem mestu lahko določite področne oznake, če želite posamezne termine v svojem terminološkem slovarju razvrstiti še podrobneje.', helpLink: { linkHref: '/pomoc#help-content-domains', linkText: 'Več ...' }, buttons: [{ form: 'dictionary-domain-labels', type: 'disabled', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
if results.length
.d-flex.justify-content-between.mt-2
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex
include /utilities/pager
+pager
form#dictionary-domain-labels(
method="post"
action="/api/v1/dictionaries/update-domain-labels"
)
input#subareas-dict-id(
type="hidden"
name="dictionaryId"
value=dictionary.id
)
table#all-areas-table.table.areas-table.table-responsive
thead
tr
th.visible-th(scope="col") Vidno
th(scope="col") Področna oznaka
th(scope="col")
tbody#page-results
each result in results
tr
input(type="hidden" name="domainLabelId" value=result.id)
th(scope="row")
if result.isVisible
input.form-check.checkbox-table(
type="checkbox"
name="isVisible"
checked
disabled
)
else
input.form-check.checkbox-table(
type="checkbox"
name="isVisible"
disabled
)
td.tdata-area= result.name
td.buttons-group
.table-buttons
button.p-0.table-button-grp.me-3.edit-row-btn(
type="button"
)
img(src="/images/u_edit-alt.svg" alt="")
button.p-0.table-button-grp.delete-row-btn(
type="button"
data-bs-target="#alert-modal"
data-bs-toggle="modal"
)
img(src="/images/red-trash-icon.svg" alt="")
else
form#dictionary-domain-labels(
method="post"
action="/api/v1/dictionaries/update-domain-labels"
)
input#subareas-dict-id(
type="hidden"
name="dictionaryId"
value=dictionary.id
)
#subareas-info.d-flex.justify-content-center.mt-5
p Niste vnesli področnih oznak.
#no-subareas-section.d-none
.d-flex.justify-content-between.mt-4
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex
include /utilities/pager
+pager
table#all-areas-table.table.areas-table.table-responsive
thead
tr
th.visible-th(scope="col") Vidno
th(scope="col") Področna oznaka
th(scope="col")
tbody
tr.hidden(hidden)
.row
.col-sm-3
.subject-name
label.input-name-txt PODROČNA OZNAKA
input#subarea-input.form-control(type="text")
.col.d-flex.align-items-end.mt-2
button#add-area.btn.btn-primary(type="submit" disabled) Dodaj
include /utilities/modal-alert
include /common/footer
@@ -0,0 +1,253 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block include-styles
link(rel="stylesheet" href="/stylesheets/pages/admin.css")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'export' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Izvoz', description: 'Terminološke slovarje lahko v celoti ali po izbranih kriterijih izvozite v različnih formatih in shranite na svojem računalniku.', buttons: [] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
.row.validity.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Veljavnost
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allKeys.form-check-input(
type="radio"
name="flexRadioDefault"
checked
)
label.radio-button-labels.form-check-label.ms-0.text-nowrap(
for="allKeys"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#validKeys.form-check-input(
type="radio"
name="flexRadioDefault"
)
label.radio-button-labels.form-check-label.ms-0(
for="validKeys"
)
| Veljavni
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#notValidKeys.form-check-input(
type="radio"
name="flexRadioDefault"
)
label.radio-button-labels.form-check-label.ms-0(
for="notValidKeys"
)
| Neveljavni
.col.mb-3.mb-md-0
span.name-info-txt Izberite, katere slovarske sestavke želite izpisati glede na njihovo veljavnost.
.row.posted.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Objavljeno
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allPostedKeys.form-check-input(
type="radio"
name="posted"
checked
)
label.radio-button-labels.form-check-label.ms-0.text-nowrap(
for="allPostedKeys"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#onlyPosted.form-check-input(type="radio" name="posted")
label.radio-button-labels.form-check-label.ms-0(
for="onlyPosted"
)
| Objavljeni
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#notPosted.form-check-input(type="radio" name="posted")
label.radio-button-labels.form-check-label.ms-0(
for="notPosted"
)
| Neobjavljeni
.col.mb-3.mb-md-0
span.name-info-txt Izberite, ali želite izpisati samo objavljene ali tudi neobjavljene slovarske sestavke.
.row.phases.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Faze urejanja
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allEditedKeys.form-check-input(
type="radio"
name="edited"
checked
)
label.radio-button-labels.form-check-label.ms-0.text-nowrap(
for="allEditedKeys"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#editedKeys.form-check-input(type="radio" name="edited")
label.radio-button-labels.form-check-label.ms-0(
for="editedKeys"
)
| Urejeni
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#inEditing.form-check-input(type="radio" name="edited")
label.radio-button-labels.form-check-label.ms-0(
for="inEditing"
)
| V urejanju
.col.mb-3.mb-md-0
span.name-info-txt Izberite, ali želite izpisati vse slovarske sestavke ali samo tiste, ki so v določeni fazi urejanja.
.row.proffesional-check.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Strokovni pregled
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allChecked.form-check-input(
type="radio"
name="professionallyChecked"
checked
)
label.radio-button-labels.form-check-label.ms-0(
for="allChecked"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#onlyProffesionallyChecked.form-check-input(
type="radio"
name="professionallyChecked"
)
label.radio-button-labels.form-check-label.ms-0(
for="onlyProffesionallyChecked"
)
| Pregledani
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#notProffesionallyChecked.form-check-input(
type="radio"
name="professionallyChecked"
)
label.radio-button-labels.form-check-label.ms-0(
for="notProffesionallyChecked"
)
| Nepregledani
.col.mb-3.mb-md-0
span.name-info-txt Izberite, ali želite izpisati samo strokovno pregledane slovarske sestavke.
.row.terminology-check.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Jezikovni pregled
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allGramaticallyChecked.form-check-input(
type="radio"
name="gramaticallyChecked"
checked
)
label.radio-button-labels.form-check-label.ms-0(
for="allGramaticallyChecked"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#onlyGramaticallyChecked.form-check-input(
type="radio"
name="gramaticallyChecked"
)
label.radio-button-labels.form-check-label.ms-0(
for="onlyGramaticallyChecked"
)
| Pregledani
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#notGramaticallyChecked.form-check-input(
type="radio"
name="gramaticallyChecked"
)
label.radio-button-labels.form-check-label.ms-0(
for="notGramaticallyChecked"
)
| Nepregledani
.col.mb-3.mb-md-0
span.name-info-txt Izberite, ali želite izpisati samo jezikovno pregledane slovarske sestavke.
.file-type
span.new-user-info FORMAT ZAPISA
.row.align-items-center
.col-xxl-6.col-md-7
.form-check.radio-button.ms-2.ps-3
input#file-format-xml.form-check-input(
type="radio"
name="importFileFormat"
value="xml"
checked
)
label.form-check-label.ms-0(for="file-format-xml")
| XML
.form-check.radio-button.ms-3
input#file-format-csv.form-check-input(
type="radio"
name="importFileFormat"
value="csv"
)
label.form-check-label.ms-0(for="file-format-csv")
| CSV
.form-check.radio-button.ms-3
input#file-format-tsv.form-check-input(
type="radio"
name="importFileFormat"
value="tsv"
)
label.form-check-label.ms-0(for="file-format-tsv")
| TSV
.form-check.radio-button.ms-3
input#file-format-txt.form-check-input(
type="radio"
name="importFileFormat"
value="txt"
)
label.form-check-label.ms-0(for="file-format-txt")
| TXT
.col.mb-3.mb-md-0
span.name-info-txt Izberite format izpisa izbranega terminološkega slovarja.
button.btn.btn-primary.mt-4 IZVOZI
.latest-exports.mt-4
.d-flex.w-100.justify-content-between
.d-flex
span.info-text-for-button Zadnji izvozi
.d-flex
include /utilities/pager
+pager(1,2,3,1,3,true)
.d-block.w-100
include /utilities/table-mixin
-
const headerRow = ['Datum', 'Vrsta', 'Št. gesel', 'Status']
const dataRows = [
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', ""],
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', {button: {content:"Shrani"}}],
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', {button: {content:"Shrani"}}],
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', {button: {content:"Shrani"}}],
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', {button: {content:"Shrani"}}]
]
+tableHeader(headerRow, dataRows)
include /common/footer
@@ -0,0 +1,66 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
script(nonce=cspNonce src="/javascripts/dictionary-import-extraction.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'extractionImport' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Uvoz iz luščilnika', description: 'Rezultat luščenja so terminološki kandidati. Z uvozom rezultatov posameznega luščenja lahko dopolnite geslovnik terminološkega slovarja, ki ga urejate.', buttons: [] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-3
.small-name-area
.subject-name
span.input-name-txt IME LUŠČENJA
.row
.col-lg-6
select#select-extraction-name.name-input.d-inline.form-control
option(selected value="" disabled hidden)= 'Izberite luščenje'
each el in extractions
option(value=el.id)= el.name
.col-sm.d-flex.align-items-center
span.name-info-txt.ms-lg-3.mt-2.mt-lg-0 Izberite enega od rezultatov luščenja s seznama.
.list-terminology-candidates.mt-4.me-2
.d-flex.w-100.justify-content-between
.d-flex.align-items-center
span.info-text-for-button Seznam terminoloških kandidatov
.d-flex
include /utilities/pager
+pager
.table-responsive.mt-2.me-2
table.styled-table
thead
tr
th= '#'
th= 'KANONIČNA OBLIKA'
th= 'RANKING'
th= 'POGOSTOST OBJAVLJANJA'
tbody#page-results
.row.mt-4
.me-0.pe-0.d-flex.align-items-center
span.radio-button-labels Uvozi termine od številke
input.without-arrows.form-control.terminology-input.ms-1(
type="number"
maxlength="5"
name="from"
min="0"
)
span.radio-button-labels.ms-1 do številke
input.without-arrows.form-control.terminology-input.ms-1(
type="number"
maxlength="5"
name="to"
min="0"
)
button.btn.btn-primary.mt-4(disabled) UVOZI
include /common/footer
@@ -0,0 +1,156 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block include-styles
link(rel="stylesheet" href="/stylesheets/pages/admin.css")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'fileImport' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Uvoz iz datoteke', description: 'Slovar lahko uvozite s svojega računalnika in nadaljujete z urejanjem na terminološkem portalu.', buttons: [] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container
form#file-import-form.container.mt-3.ms-2.ps-0(
method="post"
enctype="multipart/form-data"
)
.file-type
span.new-user-info DATOTEKA
.row
.col-md-6.ms-2.white-border-background.p-4.d-flex.align-items-center.justify-content-between
.align-items-center.d-flex
span#chosen-file.info-text-for-button Izberi datoteko
div
label(for="upload")
button#button-import.btn.btn-primary(type="button") IZBERI
input#upload(
type="file"
name="dictionaryImportFile"
accept=".xml"
)
.col-md.d-flex.align-items-center
span.name-info-txt Izberite slovarske podatke, ki ste jih shranili na svojem računalniku.
.file-type.mt-4
span.new-user-info NAČIN UVOZA
.row
.col-sm-6.ms-2
.checkbox
input#flexCheckDefault.form-check-input(
type="checkbox"
name="deleteExistingEntries"
)
label.form-check-label(for="flexCheckDefault")
span.user-email Izbriši obstoječe slovarske sestavke.
.col
span.name-info-txt Če izberete to možnost, se bodo vsi doslejšnji slovarski sestavki ob uvozu nove datoteke izbrisali.
.file-type.mt-4
span.new-user-info FAZA UREJANJA
#file-type-selection.file-types
.row
.col-sm-6.ms-2
.form-check.radio-button.ms-0.ps-3
input#in-edit-radio.form-check-input(
type="radio"
name="entryStatus"
value="inEdit"
checked
)
label.form-check-label.ms-0(for="in-edit-radio")
| V urejanju
#complete-radio.form-check.radio-button.ms-3
input#complete-radio.form-check-input(
type="radio"
name="entryStatus"
value="complete"
)
label.form-check-label.ms-0(for="complete-radio")
| Urejeno
.col
span.name-info-txt Z izbiro te možnosti boste pobrisali samo slovarske sestavke, ki so v določeni fazi urejanja.
.file-type.mt-4
span.new-user-info FORMAT ZAPISA
#file-type-selection.file-types
.row
.col-sm-6.ms-2.text-nowrap
.form-check.radio-button.ms-0.ps-3
input#file-format-xml.form-check-input(
type="radio"
name="importFileFormat"
value="xml"
checked
)
label.form-check-label.ms-0(for="file-format-xml")
| XML
.form-check.radio-button.ms-3
input#file-format-csv.form-check-input(
type="radio"
name="importFileFormat"
value="csv"
)
label.form-check-label.ms-0(for="file-format-csv")
| CSV
.form-check.radio-button.ms-3
input#file-format-tsv.form-check-input(
type="radio"
name="importFileFormat"
value="tsv"
)
label.form-check-label.ms-0(for="file-format-tsv")
| TSV
.form-check.radio-button.ms-3
input#file-format-txt.form-check-input(
type="radio"
name="importFileFormat"
value="txt"
)
label.form-check-label.ms-0(for="file-format-txt")
| TXT
.col
span.name-info-txt Izberite format datoteke, v kateri je slovar shranjen na vašem računalniku.
.file-type.mt-4
button.btn.btn-primary.mt-4 UVOZI
.latest-uploads.mt-4
.d-flex.w-100.justify-content-between
.d-flex
span.info-text-for-button Zadnji uvozi
.d-flex
include /utilities/pager
+pager
if imports.length
.table-responsive
table.styled-table
thead
tr
th= 'DATUM'
th= 'VRSTA'
th= 'ŠT. GESEL'
th= 'STATUS'
th= ''
-
const localeOptions = {
day: '2-digit',
month: '2-digit',
year: 'numeric',
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
}
each element in imports
tr
td= element.timeStarted.toLocaleDateString('sl-SL', localeOptions)
td= element.fileFormat
td= element.countValidEntries
td= element.status
else
p Ni še dodanih uvozov.
include /common/footer
@@ -0,0 +1,23 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'structure' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: 'Struktura slovarskega sestavka', description: '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', linkText: 'Več ...' }, buttons: [{ type: 'disabled', content: 'Shrani', form: 'form-dictionary-structure' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container
form#form-dictionary-structure(method="post")
include /utilities/dictionary-structure-input
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
@@ -0,0 +1,282 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'users' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: 'Uporabniki', description: 'V tem razdelku lahko določite fazo urejanja slovarja, dodajate uporabnike in jim določate uporabniške pravice pri urejanju slovarja.', buttons: [{ type: 'disabled', content: 'Shrani', form: 'admin-dictionary-users' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-1
form#admin-dictionary-users.container-xxl.ms-0.ps-0(method="post")
span.users-subtitle-txt.ms-0 Faze urejanja
.row.align-items-center.mt-2
.col-sm-6
.switch-forms-and-key-word.d-md-flex.mt-2
.switch-forms
.form-check.form-switch.d-flex
input#preposition.form-check-input(
type="checkbox"
disabled
checked
)
label.form-check-label(for="preposition") Predlog
.col-sm
span.name-info-txt V slovarju so samo terminološki kandidati. Slovarja ne morete objaviti.
.row.align-items-center
.col-sm-6
.switch-forms-and-key-word.d-md-flex
.switch-forms
.form-check.form-switch.d-flex
input#editing.form-check-input(
type="checkbox"
disabled
checked
)
label.form-check-label(for="editing") V urejanju
.col-sm
span.name-info-txt Slovarski sestavek je v fazi, ko se dodajajo in oblikujejo elementi, ki ste jih izbrali v strukturi slovarskega sestavka.
a.ms-1.name-info-txt(href="/pomoc#help-users-dict" target="_blank") Več...
.row.align-items-center
.col-sm-6
.switch-forms-and-key-word.d-md-flex
.switch-forms
.form-check.form-switch.d-flex
input#edited.form-check-input(
type="checkbox"
disabled
checked
)
label.form-check-label(for="edited") Urejeno
.col-sm
span.name-info-txt Slovarski sestavek je pregledan in dokončan.
.row.align-items-center.mt-2
.col-sm-6
.switch-forms-and-key-word.d-md-flex
.switch-forms
if dictionary.terminologyReviewFlag
.form-check.form-switch.d-flex
input#terminology_review.form-check-input(
type="checkbox"
name="hasTerminologyReview"
checked
)
label.form-check-label(for="terminology_review") Strokovno pregledano
else
.form-check.form-switch.d-flex
input#terminology_review.form-check-input(
type="checkbox"
name="hasTerminologyReview"
)
label.form-check-label(for="terminology_review") Strokovno pregledano
.col-sm
span.name-info-txt Slovar je pregledal področni strokovnjak.
.row.align-items-center.mt-2
.col-sm-6
.switch-forms-and-key-word.d-md-flex
.switch-forms
if dictionary.languageReviewFlag
.form-check.form-switch.d-flex
input#language_review.form-check-input(
type="checkbox"
name="hasLanguageReview"
checked
)
label.form-check-label(for="language_review") Jezikovno pregledano
else
.form-check.form-switch.d-flex
input#language_review.form-check-input(
type="checkbox"
name="hasLanguageReview"
)
label.form-check-label(for="language_review") Jezikovno pregledano
.col-sm
span.name-info-txt Slovar je pregledal jezikoslovec.
.container-xl.mt-4.ms-0.ps-0
span.users-subtitle-txt.ms-0.mt-3 Uporabniške pravice/vloge
table#user-roles-table.table-users.table-borderless.align-middle.mt-3
thead
tr
th.col-2
span.user-rights-column-title Uporabnik
th.col-2
span.user-rights-column-title Administracija
th.col-2.text-center
span.user-rights-column-title Urejanje
th.col-2
span#txt-term-rev.user-rights-column-title Strokovni pregled
th.col-2
span#txt-lang-rev.user-rights-column-title Jezikovni pregled
th.col-1.justify-content-center
span.hidden-text Izbriši polje
if userRights
each el in userRights
tbody.user-data.pb-xl-2
tr
input.hidden-user-id(type="hidden" value=el.id)
td.d-grid.justify-content-left.justify-content-xl-center.mb-0.align-items-center(
scope="row"
data-label=""
)
span.user-name-last-name= el.userName
span.user-email= el.email
td.pt-1.pb-1(data-label="Administrator")
.form-check.d-flex.justify-content-left.justify-content-xl-center.mb-0.align-items-center
if el.hasAdministration
input.administration-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isAdministration]`
checked
)
else
input.administration-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isAdministration]`
)
td.pt-1.pb-1(data-label="Urejanje")
.form-check.d-flex.justify-content-left.justify-content-xl-center.mb-0.align-items-center
if el.hasEditing
input.edit-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isEditing]`
checked
)
else
input.edit-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isEditing]`
)
td.pt-1.pb-1(data-label="Strokovni pregled")
.form-check.d-flex.justify-content-left.justify-content-xl-center.mb-0.align-items-center
if el.hasTerminologyReview
input.terminology-review-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isTerminologyReview]`
checked
)
else
input.terminology-review-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isTerminologyReview]`
)
td.pt-1.pb-1(data-label="Jezikovni pregled")
.form-check.d-flex.justify-content-left.justify-content-xl-center.mb-0.align-items-center
if el.hasLanguageReview
input.language-review-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isLanguageReview]`
checked
)
else
input.language-review-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isLanguageReview]`
)
td.delete-user-btn.pt-3.delete-row(
value=`${el.id}`
data-bs-target="#alert-modal"
data-bs-toggle="modal"
)
img.icon-trash-delete(
src="/images/red-trash-icon.svg"
alt="Delete"
)
form#form-add-user.container-xl.new-user-input.mt-4.ps-0.ms-0(
action="/api/v1/users/addUser"
)
span.new-user-info NOV UPORABNIK
.row.d-flex.justify-content-lg-start.align-items-center.mt-2.ms-0.ps-0
.col-lg-6.ms-0.ps-0.me-2
input.name-input.d-inline.form-control.ms-0.ps-0(
type="text"
name="userNameEmail"
autocomplete="off"
)
.col.ms-xl-4.ms-0.ps-0.d-flex.justify-content-start.mt-2.mt-lg-0
button.btn.btn-primary Dodaj
- const minEntriesNum = parseInt(minEntries)
- const countEntries = parseInt(entriesCount)
.container-xxl.ms-0.ps-0
.row.align-items-center
.col-sm-6.mt-4
.switch-forms-and-key-word.d-md-flex
.form-check.form-switch.d-flex
if publishApproval === 'F'
if dictionary.status === 'closed'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
disabled=countEntries < minEntriesNum ? true : false
)
if dictionary.status === 'published'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
checked
)
else
if dictionary.status === 'closed'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
disabled=countEntries < minEntriesNum ? true : false
)
if dictionary.status === 'reviewed'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
checked
disabled
)
if dictionary.status === 'published'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
checked
)
label.form-check-label(for="publish-switch") Slovar odprt
.col-sm
span.name-info-txt Slovar je pregledal jezikoslovec.
if dictionary.status === 'published' && countEntries < minEntriesNum
.col-sm-6
span.mt-3.normal-red-note Število slovarskih sestavkov je manjše od zahtevanega števila - povečajte število slovarskih sestavkov, sicer ga skrbnik slovarjev lahko zapre
if publishApproval === 'T' && dictionary.status === 'reviewed'
.col-sm-6
span.mt-3.normal-red-note Slovar je v odpiranju - čaka na potrditev skrbnika slovarjev
include /utilities/modal-alert
include /utilities/modal-response
+responseModal
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
@@ -0,0 +1,87 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
script(nonce=cspNonce src="/javascripts/admin-portals.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'connections', activeLvl2: 'list' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Povezave', h1: 'Povezave s portali', description: 'Vnesite podatke terminološkega portala, s katerim želite povezati svoj portal.' }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
.row
ul.col-sm-5
span.smaller-blue-subheading Dodaj povezavo
form#form-connection-new(method="post")
.mt-3
.subject-name
label.smaller-black-uppercase(for="portal-name") IME PORTALA *
.row
.col-sm-5
input#portal-name.name-input.form-control.autocomplete.d-inline(
type="text"
name="name"
required
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Vnesite polno ime terminološkega portala, s katerim se povezujete.
.mt-5
.subject-name
label.smaller-black-uppercase(for="portal-label") OZNAKA PORTALA *
.row
.col-sm-5
input#portal-label.name-input.form-control.autocomplete.d-inline(
type="text"
maxlength="2"
name="code"
required
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Unikatna oznaka povezanega terminološkega portala za prikaz na vašem portalu, sestavljena iz dveh črk ali črke in številke.
.mt-5
.subject-name
label.smaller-black-uppercase(for="index-url") URL za sinhronizacijo slovarjev *
.row
.col-sm-5
input#index-url.name-input.form-control.autocomplete.d-inline(
type="text"
name="url_index"
required
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 URL naslov terminološkega portala, s katerim želite povezati svoj portal. (API klic)
.mt-5
.subject-name
label.smaller-black-uppercase(for="update-url") URL za sinhronizacijo slovarskih sestavkov *
.row
.col-sm-5
input#update-url.name-input.form-control.autocomplete.d-inline(
type="text"
name="url_update"
required
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 URL naslov terminološkega portala, s katerim boste sinhronizirali podatke iz terminoloških virov.
.mt-5
.row
.col-sm-5
.col-sm.d-flex.flex-column.flex-sm-row.align-items-center.justify-content-center
a.btn.btn-secondary.w-sm-100(href="/admin/povezave/seznam") Prekliči
button.create-portal-btn.btn.btn-primary.ms-sm-4.mt-2.mt-sm-0(
type="submit"
form="form-connection-new"
) Dodaj povezavo
include /common/footer
@@ -0,0 +1,81 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'settings', activeLvl2: 'consultancy' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Osnovne nastavitve', h1: 'Svetovalnica', description: 'Portal lahko povežete s Terminološko svetovalnico ZRC SAZU in tako prikazujete terminološke odgovore na svojem portalu, lahko pa vklopite lastno svetovalnico. V tem primeru morate med registriranimi uporabniki izbrati svetovalce in urednika svetovalnice, ki bodo odgovarjali na terminološka vprašanja uporabnikov.', buttons: [{ form: 'admin-settings-consult', type: 'disabled', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
form#admin-settings-consult(method="post")
.btn-group.d-flex.flex-column(role="group")
if consultancy.consultancyType === 'own'
.button-type
input#own-consultancy.form-check-input(
type="radio"
name="consultancyType"
value="own"
checked
)
label.normal-gray.ms-2(for="own-consultancy") Lastna svetovalnica
.mt-3
input#zrc-consultancy.form-check-input(
type="radio"
name="consultancyType"
value="ZRC"
)
label.normal-gray.ms-2(for="zrc-consultancy") Terminološka svetovalnica ZRC SAZU
else
.button-type
input#own-consultancy.form-check-input(
type="radio"
name="consultancyType"
value="own"
)
label.normal-gray.ms-2(for="own-consultancy") Lastna svetovalnica
.mt-3
input#zrc-consultancy.form-check-input(
type="radio"
name="consultancyType"
value="ZRC"
checked
)
label.normal-gray.ms-2(for="zrc-consultancy") Terminološka svetovalnica ZRC SAZU
.mt-4
.subject-name
label.smaller-black-uppercase(for="zrc-email") E-NASLOV
.row
.col-sm-5
input#zrc-email.name-input.form-control.autocomplete.d-inline(
type="email"
name="zrcEmail"
value=consultancy.zrcEmail
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Vnesite e-naslov, ki ga za obveščanje o novih terminoloških vprašanjih uporabljajo terminološki svetovalci.
.mt-3
.subject-name
label.smaller-black-uppercase(for="zrc-url") POVEZAVA
.row
.col-sm-5
input#zrc-url.name-input.form-control.autocomplete.d-inline(
type="url"
name="zrcURL"
value=consultancy.zrcURL
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Vnesite naslov spletnega mesta, kjer so zbrani vsi odgovori terminološke svetovalnice.
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
+90
View File
@@ -0,0 +1,90 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'connections', activeLvl2: 'list' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Povezave', h1: 'Povezave s portali', description: 'Vnesite podatke terminološkega portala, s katerim želite povezati svoj portal.' }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
.row
ul.col-sm-5
span.smaller-blue-subheading Uredi povezavo
form#form-connection-update(method="post")
.mt-3
.subject-name
label.smaller-black-uppercase(for="portal-name") IME PORTALA *
.row
.col-sm-5
input#portal-name.name-input.form-control.autocomplete.d-inline(
type="text"
name="name"
required
value=portal.name
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Ime terminološkega portala ... (potrebujem text)
.mt-5
.subject-name
label.smaller-black-uppercase(for="portal-label") OZNAKA PORTALA *
.row
.col-sm-5
input#portal-label.name-input.form-control.autocomplete.d-inline(
type="text"
maxlength="2"
name="code"
value=portal.code
required
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Unikatna dvočrkovna oznaka povezanega terminološkega portala za prikaz na tem portalu.
.mt-5
.subject-name
label.smaller-black-uppercase(for="index-url") URL za sinhronizacijo slovarjev *
.row
.col-sm-5
input#index-url.name-input.form-control.autocomplete.d-inline(
type="text"
name="url_index"
required
value=portal.indexURL
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 URL naslov terminološkega portala, s katerim želimo povezati svoj portal. (API klic)
.mt-5
.subject-name
label.smaller-black-uppercase(for="update-url") URL za sinhronizacijo slovarskih sestavkov *
.row
.col-sm-5
input#update-url.name-input.form-control.autocomplete.d-inline(
type="text"
name="url_update"
required
value=portal.URLupdate
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 URL naslov terminološkega portala, s katerim želimo povezati svoj portal.
.mt-5
.row
.col-sm-5
.col-sm.d-flex.flex-column.flex-sm-row.align-items-center.justify-content-center
a.btn.btn-secondary.w-sm-100(href="/admin/povezave/seznam") Prekliči
button.btn.btn-primary.ms-sm-4.mt-2.mt-sm-0(
type="submit"
form="form-connection-update"
) Shrani spremembe
include /common/footer
@@ -0,0 +1,53 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'connections', activeLvl2: 'list' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Povezave', h1: 'Povezani slovarji', description: 'Seznam slovarjev s povezanega portala.', buttons: [{ type: 'button', form: 'all-linked-dictionaries', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container
.d-flex.justify-content-between
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex.me-3
include /utilities/pager
+pager
input#hidden-portal-id(type="hidden" value=linkedId)
form#all-linked-dictionaries(method="post")
.table-responsive
table.styled-table
thead
tr
th= ''
th= 'Naslov'
th= 'Oznaka portala'
tbody#page-results
if results.length
each result in results
tr
td
.form-check.form-switch.d-flex.align-items-center
input.form-check-input(
type="checkbox"
name=`isEnabled['${result.id}']`
checked=result.isEnabled
id=result.id
)
if result.name
td= result.name
if result.code
td= result.code
else
p Ni še povezanih portalov
include /common/footer
+117
View File
@@ -0,0 +1,117 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'settings', activeLvl2: 'portals' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Osnovne nastavitve', h1: 'Portal', description: 'Administratorski del portala je namenjen skupini oseb, ki vsebinsko in tehnično ureja portal, odpira slovarske vire, daje pooblastila posameznim uporabnikom in skrbi za vsebinsko in tehnično urejenost portala. Izberite module, ki jih boste ponudili na terminološkem portalu in na kratko opišite, kaj ponuja vaš portal.', buttons: [{ type: 'disabled', form: 'admin-portal-settings', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
form#admin-portal-settings(method="post")
.port-name
.subject-name
label.smaller-black-uppercase(for="portal-name") IME PORTALA
.row
.col-sm-5
input#portal-name.name-input.form-control.autocomplete.d-inline(
type="text"
name="portalName"
value=portal.name
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Polno ime terminološkega portala.
.mt-3
.subject-name
label.smaller-black-uppercase(for="dictionary-label") OZNAKA PORTALA *
.row
.col-sm-5
input#dictionary-label.name-input.form-control.autocomplete.d-inline.w-25(
type="text"
maxlength="2"
name="portalCode"
value=portal.code
required
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Dvočrkovna oznaka terminološkega portala.
#text-editor.mt-sm-3
.subject-name
span.smaller-black-uppercase OPIS PORTALA
div
textarea.summernote(
name="portalDescription"
value=portal.description
)
p= portal.description
.moduls.mt-3
.subject-name
label.smaller-black-uppercase(for="dictionary-label") MODULI
.d-grid
.ms-1.d-sm-flex.mt-2.row
.form-check.form-switch.d-flex.align-items-center.col-sm-5
if portal.isExtractionEnabled
if portal.isExtractionEnabled === 'T'
input#extraction.form-check-input(
type="checkbox"
checked
name="isExtractionEnabled"
)
else
input#extraction.form-check-input(
type="checkbox"
name="isExtractionEnabled"
)
label.form-check-label.normal-gray-label(for="extraction") Luščenje
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info Modul za luščenje terminoloških kandidatov iz besedil.
.ms-1.d-sm-flex.mt-4.row
.form-check.form-switch.d-flex.align-items-center.col-sm-5
if portal.isDictionariesEnabled
if portal.isDictionariesEnabled === 'T'
input#edit.form-check-input(
type="checkbox"
checked
name="isDictionariesEnabled"
)
else
input#edit.form-check-input(
type="checkbox"
name="isDictionariesEnabled"
)
label.form-check-label.normal-gray-label(for="edit") Urejanje
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info Modul za urejanje terminoloških slovarjev.
.ms-1.d-sm-flex.mt-4.row
.form-check.form-switch.d-flex.align-items-center.col-sm-5
if portal.isConsultancyEnabled
if portal.isConsultancyEnabled === 'T'
input#consulting.form-check-input(
type="checkbox"
checked
name="isConsultancyEnabled"
)
else
input#consulting.form-check-input(
type="checkbox"
name="isConsultancyEnabled"
)
label.form-check-label.normal-gray-label(for="consulting") Svetovanje
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info Modul za svetovanje pri terminoloških zagatah.
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
@@ -0,0 +1,56 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
script(nonce=cspNonce src="/javascripts/admin-portals.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'connections', activeLvl2: 'dictionaries' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Povezave', h1: 'Vsi povezani slovarji', description: 'Poiščite naslove terminoloških slovarjev, s katerimi želite dopolniti iskalne zadetke na svojem portalu. Lahko izberete vse slovarje ali le nekatere. Svoje izbire morate shraniti. Vse vaše izbire mora potrditi administrator povezanega portala.', buttons: [{ type: 'button', form: 'all-linked-dictionaries', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
if results.length
.d-flex.justify-content-between
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex.me-3
include /utilities/pager
+pager
form#all-linked-dictionaries(method="post")
.table-responsive
table.styled-table
thead
tr
th= ''
th= 'Naslov'
th= 'Oznaka portala'
th= ''
tbody#page-results
each result in results
tr
td
.form-check.form-switch.d-flex.align-items-center
input.form-check-input(
type="checkbox"
name=`isEnabled['${result.id}']`
checked=result.isEnabled
data-dict-id=result.id
)
if result.name
td= result.name
if result.code
td= result.code
else
.d-flex.justify-content-center
p Ni še povezanih portalov
include /common/footer
@@ -0,0 +1,207 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'settings', activeLvl2: 'dictionaries' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Osnovne nastavitve', h1: 'Slovarji', description: 'Določite lastnosti terminoloških virov na portalu, zlasti minimalno število sestavkov, ki so pogoj za objavo, možnosti potrjevanja objave novih slovarjev, število različic slovarja, ki jih lahko hrani posamezni uporabnik. Te nastavitve veljajo za vse terminološke vire na portalu.', buttons: [{ form: 'admin-settings-dict', type: 'disabled', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
form#admin-settings-dict(method="post")
.min-composition
.subject-name
label.smaller-black-uppercase(for="min-composition") MINIMALNO ŠTEVILO SLOVARSKIH SESTAVKOV
.row
.col-sm-5
select#min-composition.name-input.form-control.autocomplete.d-inline.w-25(
name="minEntriesPerDictionary"
value=dictionary.minEntriesPerDictionary
)
option(
value="1"
selected=dictionary.minEntriesPerDictionary === '1'
) 1
option(
value="20"
selected=dictionary.minEntriesPerDictionary === '20'
) 20
option(
value="50"
selected=dictionary.minEntriesPerDictionary === '50'
) 50
option(
value="100"
selected=dictionary.minEntriesPerDictionary === '100'
) 100
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Število slovarskih sestavkov, ki jih mora vsebovati slovar, da je omogočena objava slovarja na portalu.
.mt-4
.subject-name
label.smaller-black-uppercase(for="publish-control") KONTROLA OBJAVE
.ms-1.row
.form-check.form-switch.d-flex.align-items-center.col-sm-5
if dictionary.dictionaryPublishApproval
if dictionary.dictionaryPublishApproval === 'T'
input#publish-control.form-check-input(
type="checkbox"
name="dictionaryPublishApproval"
checked
)
else
input#publish-control.form-check-input(
type="checkbox"
name="dictionaryPublishApproval"
)
label.form-check-label.normal-gray-label.ms-3(
for="publish-control"
) Kontrola objave
.col-sm.d-flex.align-items-center.ps-0
span.smaller-gray-info.ms-xxl-3.ms-md-3 Za prvo objavo slovarja je potrebno dovoljenje skrbnika slovarjev.
//- .mt-4
//- .subject-name
//- label.smaller-black-uppercase(for="max-copy-count") MAKSIMALNO ŠTEVILO KOPIJ SLOVARJEV
//- .row
//- .col-sm-5
//- input#max-copy-count.name-input.form-control.autocomplete.d-inline.w-25(
//- type="text"
//- maxlength="6"
//- name="keepNumOfExportsPerDict"
//- value=dictionary.keepNumOfExportsPerDict
//- )
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Število zadnjih kopij spremenjenih slovarjev, ki se hranijo. Če vrednost ni določena, omejitve ni.
//- .mt-4
//- .subject-name
//- label.smaller-black-uppercase(for="autosave") SAMODEJNO SHRANJEVANJE
//- .row
//- .col-sm-5
//- select#autosave.name-input.form-select.autocomplete.d-inline.w-50(
//- name="dictionaryAutoSaveFrequency"
//- )
//- if dictionary.dictionaryAutoSaveFrequency === 'disabled'
//- option(selected value="disabled") Onemogočeno
//- option(value="monthly") Mesečno
//- option(value="yearly") Letno
//- if dictionary.dictionaryAutoSaveFrequency === 'monthly'
//- option(selected value="monthly") Mesečno
//- option(value="disabled") Onemogočeno
//- option(value="yearly") Letno
//- if dictionary.dictionaryAutoSaveFrequency === 'yearly'
//- option(selected value="yearly") Letno
//- option(value="disabled") Onemogočeno
//- option(value="monthly") Mesečno
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Časovno obdobje, v katerem se slovar samodejno shranjuje.
.mt-4
.subject-name
label.smaller-black-uppercase(for="max-composition-count") MAKSIMALNO ŠTEVILO KOPIJ SLOVARSKIH SESTAVKOV
.row
.col-sm-5
input#max-composition-count.name-input.form-control.autocomplete.d-inline.w-25(
type="text"
maxlength="6"
name="numOfHistoryEntriesPerEntry"
value=dictionary.numOfHistoryEntriesPerEntry
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Število zadnjih kopij spremenjenih slovarskih sestavkov, ki se hranijo. Če vrednost ni določena, omejitve ni.
.mt-4
.row
.subject-name.col-sm-5
label.smaller-black-uppercase MOŽNOST OBJAVE SLOVARSKEGA SESTAVKA MED UREJANJEM
.d-grid
.ms-1.d-sm-flex.row
.form-check.form-switch.d-flex.align-items-center.col-sm-5
if dictionary.canPublishEntriesInEdit
if dictionary.canPublishEntriesInEdit === 'T'
input#in-editing.form-check-input(
type="checkbox"
name="canPublishEntriesInEdit"
checked
)
label.form-check-label.normal-gray-label(for="in-editing") Objava med urejanjem
else
input#in-editing.form-check-input(
type="checkbox"
name="canPublishEntriesInEdit"
)
label.form-check-label.normal-gray-label(for="in-editing") Objava med urejanjem
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-md-2 Poleg objave slovarskega sestavka v fazi "Urejeno" je omogočena tudi objava v fazi "V urejanju".
//- .ms-1.d-sm-flex.mt-2.row
//- .form-check.form-switch.d-flex.align-items-center.col-sm-2
//- input#suggestion.form-check-input(
//- type="checkbox"
//- disabled
//- checked
//- )
//- label.form-check-label.normal-gray-label(for="suggestion") Predlog
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info Modul za luščenje terminoloških kandidatov iz besedil.
//- span.d-md-inline.d-block.smaller-gray-info Modul za urejanje terminoloških slovarjev.
//- .ms-1.d-sm-flex.mt-4.row
//- .form-check.form-switch.d-flex.align-items-center.col-sm-2
//- if dictionary.enabledTerminologyReview
//- if dictionary.enabledTerminologyReview === 'T'
//- input#pro-checked.form-check-input(
//- type="checkbox"
//- checked
//- name="enabledTerminologyReview"
//- )
//- else
//- input#pro-checked.form-check-input(
//- type="checkbox"
//- name="enabledTerminologyReview"
//- )
//- label.form-check-label.normal-gray-label(for="pro-checked") Strokovno pregledano
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info Modul za urejanje terminoloških slovarjev.
//- .ms-1.d-sm-flex.mt-4.row
//- .form-check.form-switch.d-flex.align-items-center.col-sm-2
//- if dictionary.enabledLanguageReview
//- if dictionary.enabledLanguageReview === 'T'
//- input#linguistically-checked.form-check-input(
//- type="checkbox"
//- checked
//- name="enabledLanguageReview"
//- )
//- else
//- input#linguistically-checked.form-check-input(
//- type="checkbox"
//- name="enabledLanguageReview"
//- )
//- label.form-check-label.normal-gray-label(
//- for="linguistically-checked"
//- ) Jezikovno pregledano
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info Modul za urejanje terminoloških slovarjev.
//- .ms-1.d-sm-flex.mt-4.row
//- .form-check.form-switch.d-flex.align-items-center.col-sm-2
//- input#consulting.form-check-input(
//- type="checkbox"
//- checked
//- disabled
//- )
//- label.form-check-label.normal-gray-label(for="consulting") Urejeno
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info Modul za svetovanje pri terminoloških zagatah.
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
+145
View File
@@ -0,0 +1,145 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-fake
+sideNavigationFake
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: false, h2: userData.firstName + ' ' + userData.lastName, h1: 'Uporabniki', description: 'V tem razdelku lahko določite fazo urejanja slovarja, dodajate uporabnike in jim določate uporabniške pravice pri urejanju slovarja.', buttons: [{ type: 'cancel', content: 'Prekliči', url:"/admin/uporabniki/seznam", classAtr: "btn btn-secondary header-btn-secondary small-header-btn"}, { type: 'disabled', content: 'Shrani', form: 'form-edit-user' }] }
+mainHeader(c)
.content-hold-prerequisites.mt-4
#offset-main
div
.subject-name
label.smaller-gray-uppercase ID
.row
.col-sm-5
span.page-title-header= userData.id
form#form-edit-user.needs-validation(method="post" novalidate)
.mt-2
.subject-name
label.smaller-black-uppercase(for="user-name") Uporabniško ime
.row
.col-sm-5
input#user-name.name-input.form-control(
type="text"
value=userData.userName
name="username"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Ime, s katerim se uporabnik predstavlja na terminološkem portalu.
.mt-2
.subject-name
label.smaller-black-uppercase(for="user-fname") Ime
.row
.col-sm-5
input#user-fname.name-input.form-control(
type="text"
value=userData.firstName
name="firstName"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Ime registriranega uporabnika.
.mt-2
.subject-name
label.smaller-black-uppercase(for="user-lastname") Priimek
.row
.col-sm-5
input#user-lastname.name-input.form-control(
type="text"
value=userData.lastName
name="lastName"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Priimek registriranega uporabnika.
.mt-2
.subject-name
label.smaller-black-uppercase(for="user-mail") E-naslov
.row
.col-sm-5
input#user-mail.name-input.form-control(
type="text"
value=userData.email
name="email"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Veljavni elektronski naslov uporabnika, na katerega uporabnik prejema sporočila, povezana s portalom.
//- .mt-2
//- .subject-name
//- label.smaller-black-uppercase(for="user-password") Geslo
//- .row
//- .col-sm-5
//- input#user-password.name-input.form-control(
//- type="password"
//- value=userData.password
//- name="password"
//- )
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Vnesite zapleteno geslo, ki vsebuje najmanj 8 znakov.
//- .mt-2
//- .subject-name
//- label.smaller-black-uppercase(for="user-conf-password") Ponovi geslo
//- .row
//- .col-sm-5
//- input#user-conf-password.name-input.form-control(
//- type="password"
//- name="passwordRepeat"
//- )
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Ponovite geslo.
.mt-2.mb-4
.subject-name
label.smaller-black-uppercase(for="user-is-confirmed") Potrjen
.row
.col-sm-5
input#user-is-confirmed.form-check-input(
type="checkbox"
value=""
name="isUserConfirmed"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Registracija uporabnika je potrjena.
.d-flex.justify-content-between.container-xl.ps-0.ms-0.mt-4.mb-4
button#edit-user-remove.btn.btn-secondary(type="button")
img.me-2(src="/images/red-trash-icon.svg" alt="Delete")
| Briši uporabnika
span.users-subtitle-txt Uporabniške vloge
if userRoles
.container-xl.ps-0.ms-0.mt-3
table.styled-table-left-header
thead
if userRoles.roles.isPortalAdmin
tr
th.table-left-header= 'Skrbnik portala'
td= ''
if userRoles.roles.isDictionariesAdmin
tr
th.table-left-header= 'Skrbnik slovarjev'
td= ''
if userRoles.roles.isConsultancyAdmin
tr
th.table-left-header= 'Skrbnik svetovalnice'
td= ''
if userRoles.roles.isConsultant
tr
th.table-left-header= 'Svetovalec'
td= ''
if userRoles.roles.isEditor
tr
th.table-left-header= 'Urednik slovarja'
td= ''
include /common/footer
+50
View File
@@ -0,0 +1,50 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section
#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'users', activeLvl2: 'list' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Uporabniki', h1: 'Seznam', description: 'Na seznamu uporabnikov lahko določite posameznemu uporabniku dodatne vloge ali urejate njihove podatke.' }
+mainHeader(c)
.content-hold-prerequisites.mt-4
#offset-main.main-container.mt-4
.table-full
.d-flex.w-100.justify-content-between.mb-4
.d-flex
include /components/search-and-filter/inline-search
.d-flex
include /utilities/pager
+pager
.table-responsive
table.styled-table
thead
tr
th= 'Uporabniško ime'
th= 'E - naslov'
th= 'Potrjen'
th= ''
tbody#page-results
each result in results
tr
td= result.userName
td= result.email
td= result.status
td
a.image-link(
type="link"
href=`/admin/uporabniki/${result.id}/urejanje`
)
img(src="/images/u_edit-alt.svg" alt="Uredi")
span.normal-gray.ms-1 Uredi
include /common/footer
+114
View File
@@ -0,0 +1,114 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'users', activeLvl2: 'portals' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Uporabniki', h1: 'Portal', description: 'V tem razdelku lahko določite glavne administratorske pravice na terminološkem portalu.', buttons: [{ type: 'disabled', content: 'Shrani', form: 'form-user-roles' }] }
+mainHeader(c)
.content-hold-prerequisites.mt-4
#offset-main.main-container.mt-1
span.users-subtitle-txt.ms-0.mt-3 Uporabniške pravice/vloge
form#form-user-roles(method="post")
table#user-roles-table.table-users.table-borderless.align-middle.mt-3
thead
tr
th.col-2
span.user-rights-column-title Uporabnik
th.col-2
span.user-rights-column-title Skrbnik portala
th.col-2
span.user-rights-column-title.ms-xxl-4 Skrbnik slovarjev
th.col-2
span.user-rights-column-title.ms-xxl-4 Skrbnik svetovalnice
th.col-1.justify-content-center
span.hidden-text Izbriši polje
each el in users
tbody.user-data.pb-xl-2
tr
input.hidden-user-id(type="hidden" value=el.id)
td.d-grid.justify-content-left.justify-content-xl-center.pt-(
scope="row"
data-label=""
)
span.user-name-last-name= el.username
span.user-email= el.email
td.pt-1.pb-1(data-label="Skrbnik portala")
.form-check.d-flex.justify-content-left.justify-content-xl-center
if (el.roles.isPortalAdmin)
input.form-check-input(
type="checkbox"
checked
name=`rolesPerUser['${el.id}'][isPortalAdmin]`
)
else
input.form-check-input(
type="checkbox"
name=`rolesPerUser['${el.id}'][isPortalAdmin]`
)
td.pt-1.pb-1(data-label="Skrbnik slovarjev")
.form-check.d-flex.justify-content-left.justify-content-xl-center
if (el.roles.isDictionariesAdmin)
input.form-check-input(
type="checkbox"
checked
name=`rolesPerUser['${el.id}'][isDictionariesAdmin]`
)
else
input.form-check-input(
type="checkbox"
name=`rolesPerUser['${el.id}'][isDictionariesAdmin]`
)
td.pt-1.pb-1(data-label="Skrbnik svetovalnice")
.form-check.d-flex.justify-content-left.justify-content-xl-center
if (el.roles.isConsultancyAdmin)
input.form-check-input(
type="checkbox"
checked
name=`rolesPerUser['${el.id}'][isConsultancyAdmin]`
)
else
input.form-check-input(
type="checkbox"
name=`rolesPerUser['${el.id}'][isConsultancyAdmin]`
)
td.pt-3.delete-row(
data-bs-target="#alert-modal"
data-bs-toggle="modal"
)
img.icon-trash-delete(
src="/images/red-trash-icon.svg"
alt="Delete"
)
form#form-add-user.container-xl.new-user-input.mt-4.ps-0.ms-0(
action="/api/v1/users/addUser"
)
span.new-user-info NOV UPORABNIK
.row.d-flex.justify-content-lg-start.align-items-center.mt-2.ms-0.ps-0
.col-lg-6.ms-0.ps-0.me-2
input.name-input.d-inline.form-control.ms-0.ps-0(
type="text"
name="userNameEmail"
autocomplete="off"
)
.col.ms-xl-4.ms-0.ps-0.d-flex.justify-content-start.mt-2.mt-lg-0
button.btn.btn-primary Dodaj
include /utilities/modal-alert
include /utilities/modal-response
+responseModal
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer