Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • ipipan/valunifer
1 result
Show changes
Commits on Source (80)
Showing
with 1340 additions and 36 deletions
......@@ -5,12 +5,18 @@ DATABASE_PASSWORD=shellvalier
DATABASE_PORT=5432
DATABASE_USER=shellvalier
DEBUG=true
EMAIL_BACKEND=django.core.mail.backends.console.EmailBackend
EMAIL_HOST=
EMAIL_PORT=25
EMAIL_HOST_USER=
EMAIL_HOST_PASSWORD=
EMAIL_USE_TLS=false
EMAIL_FROM=valunifier@ipipan.waw.pl
EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend
EMAIL_HOST=zimbra.ipipan.waw.pl
EMAIL_PORT=587
EMAIL_HOST_USER=valunifier
EMAIL_HOST_PASSWORD=gE7ds6hbGLGHRwm4
EMAIL_USE_TLS=true
EMAIL_USE_SSL=false
SECRET_KEY=Ixosoh1iemoh0Heloh1thee5akooboonu5veehae4aikoh2ohg
UWSGI_PROCESS_PER_CONTAINER=4
#SERVER_HOST_NAME=valunifier.ipipan.waw.pl
SERVER_HOST_NAME=localhost
#UNIFIED_FRAME_SERVICE_URL=http://walentygroupies.ipipan.waw.pl/ajax/clusterer/?unifier_frame_id=
PHRASE_TYPES_EXPAND_FILE_NAME=phrase_types_expand_20210913.xml
WALENTY_FILE_NAME=walenty_20210913_smaller.xml
......@@ -25,7 +25,7 @@ To load different dictionary file one have to run following tasks before executi
* download full Walenty dataset (TEI format can by downlowaded from http://zil.ipipan.waw.pl/Walenty)
* unpack zip archive and place xml file in ./data/walenty
* set environment variable WALENTY_FILE_NAME to the name of file (e.g. export WALENTY_FILE_NAME=walenty_20210913.xml)
* set environment variables WALENTY_FILE_NAME and PHRASE_TYPES_EXPAND_FILE_NAME to the name of files that will be loaded (e.g. export WALENTY_FILE_NAME=walenty_20210913.xml, export PHRASE_TYPES_EXPAND_FILE_NAME=phrase_types_expand_20210913.xml)
In order to reinstall a database instance a folder specified by the DATABASE_DIR should be removed.
......@@ -59,4 +59,11 @@ Compiled application files will be located in `frontend/dist/`.
* Login: Superleksykograf
* Hasło: valier111
## Database manual migration
export LOADING_THE_SLOWOSIEC_ONTOLOGY_HIERARCHY_DISABLED=true
python manage.py makemigrations <module-name> (e.g. python manage.py makemigrations users)
python manage.py migrate <module-name> (e.g. python manage.py migrate users)
#-*- coding:utf-8 -*-
import datetime
import os
from django.core.management.base import BaseCommand
from optparse import make_option
from unifier.models import UnifiedFrame
from django.contrib.auth.models import User
from users.models import Assignment
from common.valunifier_tei import createteixml
BASEPATH = '.'
class Command(BaseCommand):
args = ''
help = 'Export ValUnifier in TEI format'
def add_arguments(self, parser):
parser.add_argument('-i', '--individual', action='store_true', help='Gen individual files.')
def handle(self, **options):
now = datetime.datetime.now().strftime('%Y%m%d')
if not options['individual']:
print("Full dictionary")
outfile = 'valunifier_' + now + '.xml'
outpath = os.path.join(BASEPATH, outfile)
frames = UnifiedFrame.objects.all()
createteixml(outpath, frames)
else:
for user in User.objects.all():
print("Part for " + user.username)
frames = []
for assignment in Assignment.objects.filter(user=user):
if assignment.subject_ct.model_class() == UnifiedFrame:
frames.append(assignment.subject_ct.get_object_for_this_type(id=assignment.subject_id))
outfile = user.username + '_' + now + '.xml'
outpath = os.path.join(BASEPATH, outfile)
if len(frames) > 0:
createteixml(outpath, frames)
This diff is collapsed.
......@@ -10,7 +10,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>{% block title %}{% endblock %} – Val Unifier [BETA]</title>
<title>{% block title %}{% endblock %} – Val Unifier</title>
<link rel="icon" href="{% static 'common/favicon.ico' %}">
<link rel="stylesheet" type="text/css" href="https://bootswatch.com/4/lux/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;700&display=swap">
......@@ -38,14 +38,14 @@
{% vite_asset 'src/main.js' %}
</head>
<body>
<body style="min-width: 1500px">
{% block modals %}{% endblock %}
<div class="container-fluid h-100 d-flex flex-column p-0">
<!--z-index 2 above sticky-top-->
<nav id="page-nav" class="navbar navbar-expand-lg sticky-top navbar-dark bg-dark font-weight-bold p-2" style="z-index: 1022;">
<a class="navbar-brand" href="{% url 'dash' %}">Val Unifier [BETA]</a>
<a class="navbar-brand" href="{% url 'dash' %}">Val Unifier</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
......@@ -53,30 +53,30 @@
<div class="collapse navbar-collapse" id="navbarNav">
{% if request.user.is_authenticated %}
<ul class="navbar-nav mr-auto">
<li class="nav-item" id="nav-entries">
<li class="nav-item mr-1" id="nav-entries">
<a class="nav-link text-light" href="{% url 'entries:entries' %}">
{% trans "Hasła" %}
</a>
</li>
{% block additional-nav-items %}{% endblock %}
<li class="nav-item" id="nav-phrases">
<li class="nav-item mr-1" id="nav-phrases">
<a class="nav-link text-light" href="{% url 'phrase_expansions:phrase_expansions' %}">
{% trans "Typy fraz" %}
</a>
</li>
<li class="nav-item" id="nav-statistics">
<li class="nav-item mr-1" id="nav-statistics">
<a class="nav-link text-light" href="{% url 'dictionary_statistics:dictionary_statistics' %}">
{% trans "Statystyki" %}
</a>
</li>
{% if perms.users.view_user %}
<li class="nav-item" id="nav-users">
<li class="nav-item mr-1" id="nav-users">
<a class="nav-link text-light" href="{% url 'users:user_list' %}">
{% trans "Użytkownicy" %}
</a>
</li>
{% endif %}
<li class="nav-item" id="nav-fin-statements">
<li class="nav-item mr-1" id="nav-fin-statements">
<a class="nav-link text-light" href="{% url 'financial_settlement:statement_list' %}">
{% trans "Umowy" %}
</a>
......@@ -87,7 +87,7 @@
<span id="import-status" class="navbar-text text-warning mr-3"></span>
{% if request.user.is_authenticated %}
<div class="dropdown mr-3">
<a href="#" class="btn btn-sm btn-outline-light dropdown-toggle" data-toggle="dropdown">{{ request.user.get_full_name|default:request.user.username }}</a>
<a href="#" class="btn btn-sm btn-outline-light dropdown-toggle" data-toggle="dropdown">{{ request.user.username }}</a>
<div class="dropdown-menu dropdown-menu-right">
<a href="{% url 'users:user_profile' %}" class="dropdown-item font-weight-bold text-dark text-uppercase">
{% trans "Twój profil" %}
......@@ -100,13 +100,13 @@
{% else %}
<a id="login-btn" class="btn btn-sm btn-outline-light mr-3" href="{% url 'users:login' %}">{% trans "Zaloguj się" %}</a>
{% endif %}
<a
<!--<a
id="lang-btn"
class="btn btn-sm btn-outline-light"
href="{% if LANGUAGE_CODE == "pl" %}/en{% else %}/pl{% endif %}{{ request.path|slice:"3:" }}"
>
<b>{% trans "EN" %}</b>
</a>
</a>-->
</nav>
{% if is_vue_app %}
......
OTOCZENIE:
〈powierzchnia-2, rzecz-4, wytwór-2, pomieszczenie-3, osoba-1
select base, synset_id from meanings_lexicalunit where base='powierzchnia' and sense='2';
46651
select base, synset_id from meanings_lexicalunit where base='rzecz' and sense='4';
103156
select base, synset_id from meanings_lexicalunit where base='wytwór' and sense='2';
2605
select base, synset_id from meanings_lexicalunit where base='pomieszczenie' and sense='3';
4799
select base, synset_id from meanings_lexicalunit where base='osoba' and sense='1';
6047
insert into semantics_selectivepreference (id) values (17);
insert into semantics_selectivepreference_synsets (selectivepreference_id, synset_id) values (17, 46651),(17,103156),(17,2605),(17,4799),(17,6047);
update semantics_predefinedselectionalpreference set members_id=17 where id=12;
POŁOŻENIE: 〈miejsce-1, przestrzeń-1, obiekt-2>
select base, synset_id from meanings_lexicalunit where base='miejsce' and sense='1';
4750
select base, synset_id from meanings_lexicalunit where base='przestrzeń' and sense='1';
4897
select base, synset_id from meanings_lexicalunit where base='obiekt' and sense='2';
234224
insert into semantics_selectivepreference (id) values (18);
insert into semantics_selectivepreference_synsets (selectivepreference_id, synset_id) values (18, 4750),(18,4897),(18,234224);
update semantics_predefinedselectionalpreference set members_id=18 where id=10;
SYTUACJA
〈czynność-1, zdarzenie-2, okoliczność-1, ciąg zdarzeń-1, CZASOWNIK-1〉
select base, synset_id from meanings_lexicalunit where base='czynność' and sense='1';
10765
select base, synset_id from meanings_lexicalunit where base='zdarzenie' and sense='2';
6526
select base, synset_id from meanings_lexicalunit where base='okoliczność' and sense='1';
247969
select base, synset_id from meanings_lexicalunit where base='ciąg zdarzeń' and sense='1';
47401
select base, synset_id from meanings_lexicalunit where base='CZASOWNIK' and sense='1';
55268
insert into semantics_selectivepreference (id) values (19);
insert into semantics_selectivepreference_synsets (selectivepreference_id, synset_id) values (19, 10765),(19, 6526),(19, 247969),(19, 47401),(19, 55268);
update semantics_predefinedselectionalpreference set members_id=19 where id=17;
CZYNNOŚĆ
<czynność-1, czyn-1, czynności-1, robić-1>
select base, synset_id from meanings_lexicalunit where base='czyn' and sense='1';
50840
select base, synset_id from meanings_lexicalunit where base='czynności' and sense='1';
105438
select base, synset_id from meanings_lexicalunit where base='robić' and sense='1';
55305
insert into semantics_selectivepreference_synsets (selectivepreference_id, synset_id) values (13, 50840),(13, 105438),(13, 55305);
......@@ -8,34 +8,42 @@ from semantics.models import Frame, FrameOpinion
from entries.polish_strings import POS as POS_names, STATUS, SCHEMA_OPINION, FRAME_OPINION
@login_required
def dictionary_statistics(request):
ALL = _('wszystkie')
# ENTRIES
entries = Entry.objects.filter(import_error=False)
pos_names = POS_names()
status_names = STATUS()
entry_statuses = list(Status.objects.all())
all_pos = ['verb', 'noun', 'adj', 'adv']
entry_stats = { ALL : [entries.count()] + [entries.filter(pos__tag=pos).count() for pos in all_pos] }
entry_stats = {ALL: [entries.count()] + [entries.filter(pos__tag=pos).count() for pos in all_pos]}
used_statuses = set()
for status in entry_statuses:
c = entries.filter(status=status).count()
if c:
used_statuses.add(status)
entry_stats[status_names[status.key]] = [entries.filter(status=status).count()] + [entries.filter(status=status, pos__tag=pos).count() for pos in all_pos]
entry_stats[status_names[status.key]] = [entries.filter(status=status).count()] + [
entries.filter(status=status, pos__tag=pos).count() for pos in all_pos]
all_statuses = [ALL] + [status_names[status.key] for status in entry_statuses if status in used_statuses]
all_pos = [ALL] + [pos_names[pos] for pos in all_pos]
# SCHEMATA
schemata = Schema.objects.filter(subentries__entry__import_error=False)
schema_opinions = SCHEMA_OPINION()
schema_stats = [(ALL, 'all', schemata.count())] + [(schema_opinions[opinion.key], opinion.key, schemata.filter(opinion=opinion).count()) for opinion in SchemaOpinion.objects.all()]
schema_stats = [(ALL, 'all', schemata.count())] + [
(schema_opinions[opinion.key], opinion.key, schemata.filter(opinion=opinion).count()) for opinion in
SchemaOpinion.objects.all()]
# FRAMES
frames = Frame.objects.all() #filter(arguments__argument_connections__schema_connections__subentry__entry__import_error=False)
frames = Frame.objects.all() # filter(arguments__argument_connections__schema_connections__subentry__entry__import_error=False)
frame_opinions = FRAME_OPINION()
frame_stats = [(ALL, 'all', frames.count())] + [(frame_opinions[opinion.key], opinion.key, frames.filter(opinion=opinion).count()) for opinion in FrameOpinion.objects.all()]
return render(request, 'dictionary_statistics.html', { 'all_statuses' : all_statuses, 'all_pos' : all_pos, 'entry_stats' : entry_stats, 'schema_stats' : schema_stats, 'frame_stats' : frame_stats })
frame_stats = [(ALL, 'all', frames.count())] + [
(frame_opinions[opinion.key], opinion.key, frames.filter(opinion=opinion).count()) for opinion in
FrameOpinion.objects.all()]
return render(request, 'dictionary_statistics.html',
{'all_statuses': all_statuses, 'all_pos': all_pos, 'entry_stats': entry_stats,
'schema_stats': schema_stats, 'frame_stats': frame_stats})
......@@ -35,6 +35,9 @@ services:
- .:/app
ports:
- "80:8000"
extra_hosts:
walentygroupies.ipipan.waw.pl: 213.135.36.247
zimbra.ipipan.waw.pl: 213.135.36.155
frontend:
container_name: shellvalier-frontend
......
......@@ -14,6 +14,7 @@ import crispy_forms.bootstrap as bootstrap
import crispy_forms.layout as layout
from connections.models import Entry, POS, Status, SchemaHook
from semantics.choices import FrameStatus
from syntax.models import (
Schema, SchemaOpinion, InherentSie, Negativity, Predicativity, Aspect,
Position, SyntacticFunction, Control, PredicativeControl,
......@@ -593,6 +594,22 @@ class FrameFormFactory(FormFactory):
lookup='opinion',
), None,
),
(
'status',
lambda: MultipleChoiceFilter(
label=_('Status'),
choices=(
(FrameStatus.NEW, (_('Nowa'), None)),
(FrameStatus.PROCESSING, (_('W obróbce'), None)),
(FrameStatus.READY, (_('Gotowa'), None)),
(FrameStatus.VERIFIED, (_('Sprawdzona'), None)),
(FrameStatus.INVALID, (_('Błędna'), None)),
(FrameStatus.NOT_MATCHING_UNIFIED_FRAME, (_('Niepasująca'), None)),
(FrameStatus.BAD, (_('Zła'), None)),
),
lookup='status',
), None,
),
(
'num_arguments',
lambda: RangeFilter(
......
......@@ -286,3 +286,64 @@ legend {
.table-primary>th {
background-color:#bfbfbf !important;
}
#overlay{
position: fixed;
top: 0;
z-index: 1030;
width: 100%;
height:100%;
display: none;
background: rgba(0,0,0,0.6);
}
.cv-spinner {
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.spinner {
width: 40px;
height: 40px;
border: 4px #ddd solid;
border-top: 4px #2e93e6 solid;
border-radius: 50%;
animation: sp-anime 0.8s infinite linear;
}
@keyframes sp-anime {
100% {
transform: rotate(360deg);
}
}
.is-hide{
display:none;
}
@media (min-width: 1500px){
.navbar-expand-custom {
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
}
.navbar-expand-custom .navbar-nav {
flex-direction: row;
}
.navbar-expand-custom .dropdown-menu {
position: absolute;
}
.navbar-expand-custom .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-expand-custom > .container {
flex-wrap: nowrap;
}
.navbar-expand-custom .navbar-collapse {
display: flex!important;
flex-basis: auto;
}
.navbar-expand-custom .navbar-toggler {
display: none;
}
}
......@@ -6,7 +6,7 @@ table.table-button-menu {
width: 100%
}
table.table-button-menu td {
.table-button-menu-td {
border-style:solid;
border-width:1px;
border-right: 1px solid #000;
......@@ -14,7 +14,7 @@ table.table-button-menu td {
}
table.table-button-menu td:hover {
.table-button-menu-td:hover {
background-color: #e8ebed;
cursor: pointer;
}
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="10mm"
height="10mm"
viewBox="0 0 10 10"
version="1.1"
id="svg864"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="unc.svg">
<defs
id="defs858" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="-6.5679497"
inkscape:cy="19.041578"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:pagecheckerboard="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1853"
inkscape:window-height="1025"
inkscape:window-x="67"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata861">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-19.654762,-94.232147)">
<circle
style="fill:#ffff3f;fill-opacity:1;stroke:none;stroke-width:0.05232107;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path868"
cx="24.654762"
cy="99.232147"
r="5" />
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="10mm"
height="10mm"
viewBox="0 0 10 10"
version="1.1"
id="svg864"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="vul.svg">
<defs
id="defs858" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="20.708836"
inkscape:cy="19.041578"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:pagecheckerboard="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1853"
inkscape:window-height="1025"
inkscape:window-x="67"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata861">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-19.654762,-94.232147)">
<rect
style="fill:#ff7fff;fill-opacity:1;stroke:none;stroke-width:0.22748956;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1493"
width="8"
height="8"
x="20.654762"
y="95.232147" />
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="10mm"
height="10mm"
viewBox="0 0 10 10"
version="1.1"
id="svg864"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="col.svg">
<defs
id="defs858" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="20.708836"
inkscape:cy="19.041578"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:pagecheckerboard="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1853"
inkscape:window-height="1025"
inkscape:window-x="67"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata861">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-19.654762,-94.232147)">
<rect
style="fill:#7f00ff;fill-opacity:1;stroke:none;stroke-width:0.22748956;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1493"
width="8"
height="8"
x="20.654762"
y="95.232147" />
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="10mm"
height="10mm"
viewBox="0 0 10 10"
version="1.1"
id="svg864"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="bad.svg">
<defs
id="defs858" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="-6.5679497"
inkscape:cy="19.041578"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:pagecheckerboard="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1853"
inkscape:window-height="1025"
inkscape:window-x="67"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata861">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-19.654762,-94.232147)">
<circle
style="fill:#bf0000;fill-opacity:1;stroke:none;stroke-width:0.05232107;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path868"
cx="24.654762"
cy="99.232147"
r="5" />
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="10mm"
height="10mm"
viewBox="0 0 10 10"
version="1.1"
id="svg864"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="unk.svg">
<defs
id="defs858" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="-33.844735"
inkscape:cy="19.041578"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:pagecheckerboard="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1853"
inkscape:window-height="1025"
inkscape:window-x="67"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata861">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-19.654762,-94.232147)">
<circle
style="fill:#606060;fill-opacity:1;stroke:none;stroke-width:0.05232107;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path868"
cx="24.654762"
cy="99.232147"
r="5" />
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="10mm"
height="10mm"
viewBox="0 0 10 10"
version="1.1"
id="svg864"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="certain.svg">
<defs
id="defs858" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="20.708836"
inkscape:cy="19.041578"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:pagecheckerboard="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1853"
inkscape:window-height="1025"
inkscape:window-x="67"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata861">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-19.654762,-94.232147)">
<circle
style="fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.05232107;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path868"
cx="24.654762"
cy="99.232147"
r="5" />
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="10mm"
height="10mm"
viewBox="0 0 10 10"
version="1.1"
id="svg864"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="dat.svg">
<defs
id="defs858" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="20.708836"
inkscape:cy="19.041578"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:pagecheckerboard="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1853"
inkscape:window-height="1025"
inkscape:window-x="67"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata861">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-19.654762,-94.232147)">
<rect
style="fill:#007fff;fill-opacity:1;stroke:none;stroke-width:0.22748956;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1493"
width="8"
height="8"
x="20.654762"
y="95.232147" />
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="10mm"
height="10mm"
viewBox="0 0 10 10"
version="1.1"
id="svg864"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="rar.svg">
<defs
id="defs858" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="20.708836"
inkscape:cy="19.041578"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:pagecheckerboard="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1853"
inkscape:window-height="1025"
inkscape:window-x="67"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata861">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-19.654762,-94.232147)">
<rect
style="fill:#ff7f00;fill-opacity:1;stroke:none;stroke-width:0.22748956;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1493"
width="8"
height="8"
x="20.654762"
y="95.232147" />
</g>
</svg>
......@@ -11,6 +11,7 @@ var curr_examples_by_id = null;
var roles = []
var role_attributes = []
var role_sub_attributes = []
function make_opinion_row(item, span, width) {
const opinion_row = document.createElement('tr');
......@@ -998,15 +999,22 @@ function setup_datatable(options) {
$(row).addClass('text-muted');
}
$(row).hover(function()
{
$(this).addClass('tr-hover');
},function()
{
$(this).removeClass('tr-hover');
});
{
$(this).addClass('tr-hover');
},function()
{
$(this).removeClass('tr-hover');
});
if (options.setup_hierarchy_marking === true && data.hierarchy_exists !== true) {
$(row).addClass('hierarchy_not_exists');
}
for (let i in options.columns) {
const column = options.columns[i];
if (column.data == 'status') {
$(cells)[i].innerHTML = "<img src='/static/entries/img_status/"+data['status']+"_status.svg' width='10' height='10'> "+data['status'];
}
}
},
initComplete: function(settings, json) {
// display the first entry once it’s loaded
......@@ -1112,6 +1120,17 @@ function getRoleAttributes() {
});
}
function getRoleSubAttributes() {
$.ajax({
dataType: "json",
url: '/' + lang + '/entries/role_sub_attributes',
success: function(data){
role_sub_attributes = data.role_sub_attributes;
},
async: false
});
}
$(document).ready(function() {
bind_last_visited();
......@@ -1143,6 +1162,8 @@ $(document).ready(function() {
getRoleAttributes();
getRoleSubAttributes();
// $.getJSON('relations', function(data){
// memorizeRelations(data.relations);
// });
......