diff --git a/.gitignore b/.gitignore
index ebc422c..8c40aab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
uploads/*
!uploads/.gitkeep
-
+.idea/
+portal-ds4-ds1/
# Byte-compiled / optimized / DLL files
__pycache__/
diff --git a/portal/solar.py b/portal/solar.py
index 726abac..e3005f3 100644
--- a/portal/solar.py
+++ b/portal/solar.py
@@ -48,7 +48,6 @@ class ContractCreator:
template_loader = FileSystemLoader(searchpath="./")
template_env = Environment(loader=template_loader)
self.template = template_env.get_template(template_path)
-
self.pdfkit_options = {
'page-size': 'A4',
'margin-top': '0.75in',
@@ -74,7 +73,7 @@ class ContractCreator:
class UploadHandlerSolar():
-
+ ENABLED_FILETYPES = ['txt', 'csv', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'xml', 'mxliff', 'tmx', 'jpg', 'jpeg', 'png']
def __init__(self, **kwargs):
self.config = kwargs
diff --git a/static/css/form.css b/static/css/form.css
new file mode 100644
index 0000000..598c6da
--- /dev/null
+++ b/static/css/form.css
@@ -0,0 +1,210 @@
+@import url(https://fonts.googleapis.com/css?family=Roboto:400,400italic,500,500italic,700,700italic,900,900italic,300italic,300,100italic,100);
+html {
+ font-family: 'Roboto', sans-serif;
+ font-size: 16px;
+ color: #46535B; }
+
+body {
+ font-size: 16px;
+ padding: 0;
+ margin: 0; }
+
+h1 {
+ font-size: 30px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 35px;
+ color: #006CB7; }
+
+h2 {
+ font-size: 18px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 21px;
+ text-transform: uppercase;
+ color: #006CB7; }
+
+h3 {
+ font-size: 18px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 21px; }
+
+em {
+ font-weight: 300; }
+
+.btn {
+ border: none;
+ line-height: 2.5rem;
+ padding: 0 2.5rem;
+ color: white;
+ background: #006CB7;
+ border-radius: 20px;
+ font-size: 1.125rem;
+ font-weight: 400;
+ cursor: pointer;
+ transition: opacity 0.3s ease-out; }
+ .btn:hover {
+ opacity: 0.8; }
+
+.input-wrapper {
+ position: relative;
+ height: 66px; }
+ .input-wrapper .input-icon {
+ position: absolute;
+ left: 0;
+ top: 0;
+ display: block;
+ width: 1.5rem; }
+ .input-wrapper .input-floating-label {
+ position: absolute;
+ left: 46px;
+ right: 0;
+ display: block; }
+ .input-wrapper .input-floating-label input {
+ padding: 4px 0;
+ background: none;
+ border: none;
+ display: block;
+ width: 100%;
+ border-bottom: 2px solid #C4C4C4; }
+ .input-wrapper .input-floating-label .floating-label {
+ position: absolute;
+ top: -14px;
+ font-size: 10px;
+ color: #46535B; }
+
+.panel {
+ background: #F5F5F5;
+ padding: 40px 60px;
+ border-radius: 20px; }
+ .panel .panel-logo {
+ position: absolute;
+ top: -60px;
+ left: 0;
+ right: 0;
+ display: block;
+ margin: auto;
+ background: #F5F5F5;
+ padding: 20px 30px;
+ width: 100px;
+ border-radius: 100%;
+ text-align: center; }
+
+.line {
+ background: #C4C4C4;
+ height: 2px;
+ width: 200px;
+ margin: auto; }
+
+.a-right {
+ display: block;
+ text-align: right;
+ font-size: 10px;
+ text-decoration: none;
+ color: #006CB7;
+ text-transform: uppercase; }
+
+.alert {
+ position: relative;
+ color: #8D3D3D; }
+ .alert img {
+ position: relative;
+ top: 0.25rem;
+ width: 1.8rem; }
+ .alert p {
+ position: absolute;
+ left: 3rem;
+ top: 0;
+ margin: 0;
+ text-transform: uppercase; }
+
+.submit-alert {
+ background: white;
+ border: 2px solid #B7DB70;
+ box-sizing: border-box;
+ border-radius: 8px; }
+ .submit-alert .btn {
+ margin-top: 0.5rem;
+ background: #88B52F;
+ border-radius: 4px; }
+
+.form-wrapper {
+ margin-bottom: 1rem; }
+ .form-wrapper label {
+ display: block;
+ font-weight: normal;
+ font-size: 0.75rem;
+ line-height: 0.875rem;
+ text-transform: uppercase; }
+ .form-wrapper select {
+ display: block;
+ background: #FFFFFF;
+ border: 1px solid #B6BEC3;
+ padding: 0.75rem 1rem;
+ width: 100%; }
+ .form-wrapper input[type="text"] {
+ box-sizing: border-box;
+ display: block;
+ background: #FFFFFF;
+ border: 1px solid #B6BEC3;
+ padding: 0.75rem 1rem;
+ width: 100%; }
+ .form-wrapper .dropzone {
+ box-sizing: border-box;
+ padding: 0.5rem;
+ height: 4.5rem;
+ background: #E0E6EA; }
+ .form-wrapper .dropzone .dz-default.dz-message {
+ box-sizing: border-box;
+ display: block;
+ height: 3.5rem;
+ text-align: center;
+ border: 2px dashed white; }
+ .form-wrapper .dropzone .dz-default.dz-message span {
+ display: inline-block;
+ background: #006CB7;
+ border-radius: 6px;
+ color: white;
+ padding: 0.5rem 0.75rem;
+ margin-top: 0.5rem;
+ cursor: pointer; }
+ .form-wrapper .dz-preview.dz-file-preview {
+ position: relative;
+ background: white;
+ height: 4.5rem;
+ margin-top: 1rem; }
+ .form-wrapper .dz-preview.dz-file-preview .dz-image {
+ position: absolute;
+ left: 1rem;
+ top: 1rem;
+ background: url("/static/image/file.svg");
+ background-repeat: no-repeat;
+ background-position: center;
+ width: 2rem;
+ height: 2rem; }
+ .form-wrapper .dz-preview.dz-file-preview .dz-image img {
+ display: none; }
+ .form-wrapper .dz-preview.dz-file-preview .dz-details .dz-filename {
+ position: absolute;
+ top: 1.5rem;
+ left: 1.5rem; }
+ .form-wrapper .dz-preview.dz-file-preview .dz-details .dz-size {
+ position: absolute;
+ top: 1rem;
+ right: 1rem; }
+ .form-wrapper .dz-preview.dz-file-preview .dz-success-mark, .form-wrapper .dz-preview.dz-file-preview .dz-error-mark {
+ display: none; }
+ .form-wrapper .dz-preview.dz-file-preview .dz-progress {
+ position: absolute;
+ left: 50%;
+ top: 1.5rem;
+ width: 28%;
+ border-radius: 10px;
+ overflow: hidden; }
+ .form-wrapper .dz-preview.dz-file-preview .dz-progress .dz-upload {
+ height: 20px;
+ display: inline-block;
+ background: #006CB7; }
+
+/*# sourceMappingURL=form.css.map */
diff --git a/static/css/form.css.map b/static/css/form.css.map
new file mode 100644
index 0000000..5a57cc8
--- /dev/null
+++ b/static/css/form.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "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",
+"sources": ["slovenscina-theme.scss","slovenscina-elements.scss","form.scss"],
+"names": [],
+"file": "form.css"
+}
\ No newline at end of file
diff --git a/static/css/form.scss b/static/css/form.scss
new file mode 100644
index 0000000..579c854
--- /dev/null
+++ b/static/css/form.scss
@@ -0,0 +1,95 @@
+@import "slovenscina-elements.scss";
+
+.form-wrapper {
+ margin-bottom:1rem;
+ label {
+ display:block;
+ font-weight: normal;
+ font-size: 0.75rem;
+ line-height: 0.875rem;
+ text-transform: uppercase;
+ }
+ select {
+ display:block;
+ background: #FFFFFF;
+ border: 1px solid $grey-border;
+ padding: 0.75rem 1rem;
+ width:100%;
+ }
+ input[type="text"] {
+ box-sizing: border-box;
+ display:block;
+ background: #FFFFFF;
+ border: 1px solid $grey-border;
+ padding: 0.75rem 1rem;
+ width:100%;
+ }
+ .dropzone {
+ box-sizing: border-box;
+ padding:0.5rem;
+ height:4.5rem;
+ background:#E0E6EA;
+ .dz-default.dz-message {
+ box-sizing: border-box;
+ display: block;
+ height:3.5rem;
+ text-align: center;
+ border:2px dashed white;
+ span {
+ display: inline-block;
+ background: $blue;
+ border-radius: 6px;
+ color:white;
+ padding: 0.5rem 0.75rem;
+ margin-top:0.5rem;
+ cursor: pointer;
+ }
+ }
+ }
+ .dz-preview.dz-file-preview {
+ position:relative;
+ background:white;
+ height:4.5rem;
+ margin-top:1rem;
+ .dz-image {
+ position:absolute;
+ left:1rem;
+ top:1rem;
+ background: url("/static/image/file.svg");
+ background-repeat: no-repeat;
+ background-position: center;
+ width:2rem;
+ height:2rem;
+ img {
+ display: none;
+ }
+ }
+ .dz-details {
+ .dz-filename {
+ position:absolute;
+ top:1.5rem;
+ left:1.5rem;
+ }
+ .dz-size {
+ position:absolute;
+ top:1rem;
+ right:1rem;
+ }
+
+ }
+ .dz-success-mark,.dz-error-mark {display:none;}
+ .dz-progress {
+ position:absolute;
+ left:50%;
+ top: 1.5rem;
+ width:28%;
+ border-radius: 10px;
+ overflow: hidden;
+ .dz-upload {
+ height: 20px;
+ display: inline-block;
+ background:$blue;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/static/css/header.css b/static/css/header.css
new file mode 100644
index 0000000..28f02ca
--- /dev/null
+++ b/static/css/header.css
@@ -0,0 +1,189 @@
+@import url(https://fonts.googleapis.com/css?family=Roboto:400,400italic,500,500italic,700,700italic,900,900italic,300italic,300,100italic,100);
+html {
+ font-family: 'Roboto', sans-serif;
+ font-size: 16px;
+ color: #46535B; }
+
+body {
+ font-size: 16px;
+ padding: 0;
+ margin: 0; }
+
+h1 {
+ font-size: 30px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 35px;
+ color: #006CB7; }
+
+h2 {
+ font-size: 18px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 21px;
+ text-transform: uppercase;
+ color: #006CB7; }
+
+h3 {
+ font-size: 18px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 21px; }
+
+em {
+ font-weight: 300; }
+
+.btn {
+ border: none;
+ line-height: 2.5rem;
+ padding: 0 2.5rem;
+ color: white;
+ background: #006CB7;
+ border-radius: 20px;
+ font-size: 1.125rem;
+ font-weight: 400;
+ cursor: pointer;
+ transition: opacity 0.3s ease-out; }
+ .btn:hover {
+ opacity: 0.8; }
+
+.input-wrapper {
+ position: relative;
+ height: 66px; }
+ .input-wrapper .input-icon {
+ position: absolute;
+ left: 0;
+ top: 0;
+ display: block;
+ width: 1.5rem; }
+ .input-wrapper .input-floating-label {
+ position: absolute;
+ left: 46px;
+ right: 0;
+ display: block; }
+ .input-wrapper .input-floating-label input {
+ padding: 4px 0;
+ background: none;
+ border: none;
+ display: block;
+ width: 100%;
+ border-bottom: 2px solid #C4C4C4; }
+ .input-wrapper .input-floating-label .floating-label {
+ position: absolute;
+ top: -14px;
+ font-size: 10px;
+ color: #46535B; }
+
+.panel {
+ background: #F5F5F5;
+ padding: 40px 60px;
+ border-radius: 20px; }
+ .panel .panel-logo {
+ position: absolute;
+ top: -60px;
+ left: 0;
+ right: 0;
+ display: block;
+ margin: auto;
+ background: #F5F5F5;
+ padding: 20px 30px;
+ width: 100px;
+ border-radius: 100%;
+ text-align: center; }
+
+.line {
+ background: #C4C4C4;
+ height: 2px;
+ width: 200px;
+ margin: auto; }
+
+.a-right {
+ display: block;
+ text-align: right;
+ font-size: 10px;
+ text-decoration: none;
+ color: #006CB7;
+ text-transform: uppercase; }
+
+.alert {
+ position: relative;
+ color: #8D3D3D; }
+ .alert img {
+ position: relative;
+ top: 0.25rem;
+ width: 1.8rem; }
+ .alert p {
+ position: absolute;
+ left: 3rem;
+ top: 0;
+ margin: 0;
+ text-transform: uppercase; }
+
+.submit-alert {
+ background: white;
+ border: 2px solid #B7DB70;
+ box-sizing: border-box;
+ border-radius: 8px; }
+ .submit-alert .btn {
+ margin-top: 0.5rem;
+ background: #88B52F;
+ border-radius: 4px; }
+
+body {
+ background: #F5F5F5; }
+
+header {
+ position: fixed;
+ top: 0;
+ width: 100%;
+ height: 4rem;
+ background: #006CB7;
+ z-index: 1000000;
+ box-shadow: 0px 4px 40px rgba(0, 0, 0, 0.2); }
+
+header .logo {
+ display: inline-block;
+ padding: 0.5rem 1.5rem; }
+ header .logo img {
+ height: 3rem; }
+header .menu-items {
+ float: right;
+ padding: 1.5rem 1.5rem;
+ display: inline-block; }
+ header .menu-items a {
+ margin-left: 2rem;
+ display: inline-block;
+ color: white;
+ text-decoration: none; }
+
+.tab-nav {
+ margin-top: 2rem;
+ border-bottom: 1px solid #848C90; }
+ .tab-nav a {
+ position: relative;
+ top: 1px;
+ display: inline-block;
+ font-weight: 500;
+ text-transform: uppercase;
+ font-size: 1.125rem;
+ padding: 0.25rem 2rem;
+ text-decoration: none;
+ color: #848C90;
+ transition: color 0.3s ease-out; }
+ .tab-nav a.active, .tab-nav a:hover {
+ color: #006CB7;
+ border-bottom: 4px solid #006CB7; }
+
+h1.title {
+ font-weight: 300;
+ font-size: 1.5rem;
+ line-height: 1.75rem;
+ margin: 0;
+ color: #006CB7; }
+
+p.subtitle {
+ font-size: 14px;
+ line-height: 150%;
+ margin-top: 0.5rem; }
+
+/*# sourceMappingURL=header.css.map */
diff --git a/static/css/header.css.map b/static/css/header.css.map
new file mode 100644
index 0000000..5368055
--- /dev/null
+++ b/static/css/header.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "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",
+"sources": ["slovenscina-theme.scss","slovenscina-elements.scss","header.scss"],
+"names": [],
+"file": "header.css"
+}
\ No newline at end of file
diff --git a/static/css/header.scss b/static/css/header.scss
new file mode 100644
index 0000000..27a6777
--- /dev/null
+++ b/static/css/header.scss
@@ -0,0 +1,70 @@
+@import "slovenscina-elements.scss";
+
+body {
+ background: $white;
+}
+
+header {
+ position:fixed;
+ top:0;
+ width:100%;
+ height:4rem;
+ background:$blue;
+ z-index: 1000000;
+ box-shadow: 0px 4px 40px rgba(0, 0, 0, 0.2);
+}
+
+header {
+ .logo {
+ display: inline-block;
+ padding:0.5rem 1.5rem;
+ img {
+ height:3rem;
+ }
+ }
+ .menu-items {
+ float:right;
+ padding: 1.5rem 1.5rem;
+ display: inline-block;
+ a {
+ margin-left:2rem;
+ display: inline-block;
+ color:white;
+ text-decoration: none;
+ }
+ }
+}
+
+.tab-nav {
+ margin-top:2rem;
+ border-bottom:1px solid $grey-dark;
+ a {
+ position:relative;
+ top:1px;
+ display: inline-block;
+ font-weight: 500;
+ text-transform: uppercase;
+ font-size: 1.125rem;
+ padding: 0.25rem 2rem;
+ text-decoration: none;
+ color: $grey-dark;
+ transition: color 0.3s ease-out;
+ &.active,&:hover {
+ color:$blue;
+ border-bottom: 4px solid $blue;
+ }
+ }
+}
+
+h1.title {
+ font-weight: 300;
+ font-size: 1.5rem;
+ line-height: 1.75rem;
+ margin:0;
+ color: $blue;
+}
+p.subtitle {
+ font-size: 14px;
+ line-height: 150%;
+ margin-top:0.5rem;
+}
\ No newline at end of file
diff --git a/static/css/history.css b/static/css/history.css
new file mode 100644
index 0000000..d5e6956
--- /dev/null
+++ b/static/css/history.css
@@ -0,0 +1,168 @@
+@import url(https://fonts.googleapis.com/css?family=Roboto:400,400italic,500,500italic,700,700italic,900,900italic,300italic,300,100italic,100);
+html {
+ font-family: 'Roboto', sans-serif;
+ font-size: 16px;
+ color: #46535B; }
+
+body {
+ font-size: 16px;
+ padding: 0;
+ margin: 0; }
+
+h1 {
+ font-size: 30px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 35px;
+ color: #006CB7; }
+
+h2 {
+ font-size: 18px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 21px;
+ text-transform: uppercase;
+ color: #006CB7; }
+
+h3 {
+ font-size: 18px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 21px; }
+
+em {
+ font-weight: 300; }
+
+.btn {
+ border: none;
+ line-height: 2.5rem;
+ padding: 0 2.5rem;
+ color: white;
+ background: #006CB7;
+ border-radius: 20px;
+ font-size: 1.125rem;
+ font-weight: 400;
+ cursor: pointer;
+ transition: opacity 0.3s ease-out; }
+ .btn:hover {
+ opacity: 0.8; }
+
+.input-wrapper {
+ position: relative;
+ height: 66px; }
+ .input-wrapper .input-icon {
+ position: absolute;
+ left: 0;
+ top: 0;
+ display: block;
+ width: 1.5rem; }
+ .input-wrapper .input-floating-label {
+ position: absolute;
+ left: 46px;
+ right: 0;
+ display: block; }
+ .input-wrapper .input-floating-label input {
+ padding: 4px 0;
+ background: none;
+ border: none;
+ display: block;
+ width: 100%;
+ border-bottom: 2px solid #C4C4C4; }
+ .input-wrapper .input-floating-label .floating-label {
+ position: absolute;
+ top: -14px;
+ font-size: 10px;
+ color: #46535B; }
+
+.panel {
+ background: #F5F5F5;
+ padding: 40px 60px;
+ border-radius: 20px; }
+ .panel .panel-logo {
+ position: absolute;
+ top: -60px;
+ left: 0;
+ right: 0;
+ display: block;
+ margin: auto;
+ background: #F5F5F5;
+ padding: 20px 30px;
+ width: 100px;
+ border-radius: 100%;
+ text-align: center; }
+
+.line {
+ background: #C4C4C4;
+ height: 2px;
+ width: 200px;
+ margin: auto; }
+
+.a-right {
+ display: block;
+ text-align: right;
+ font-size: 10px;
+ text-decoration: none;
+ color: #006CB7;
+ text-transform: uppercase; }
+
+.alert {
+ position: relative;
+ color: #8D3D3D; }
+ .alert img {
+ position: relative;
+ top: 0.25rem;
+ width: 1.8rem; }
+ .alert p {
+ position: absolute;
+ left: 3rem;
+ top: 0;
+ margin: 0;
+ text-transform: uppercase; }
+
+.submit-alert {
+ background: white;
+ border: 2px solid #B7DB70;
+ box-sizing: border-box;
+ border-radius: 8px; }
+ .submit-alert .btn {
+ margin-top: 0.5rem;
+ background: #88B52F;
+ border-radius: 4px; }
+
+.history-item {
+ background: white;
+ height: 2.875rem;
+ padding: 1rem 1.5rem;
+ position: relative; }
+ .history-item .history-item-date {
+ text-transform: uppercase;
+ display: inline-block;
+ color: #848C90;
+ line-height: 1rem;
+ font-weight: 400;
+ font-size: 0.875rem; }
+ .history-item .history-item-uploader {
+ display: inline-block;
+ padding-left: 1rem;
+ margin-left: 1rem;
+ border-left: 1px solid #848C90;
+ color: #848C90;
+ line-height: 1rem;
+ font-weight: 400;
+ font-size: 0.875rem; }
+ .history-item .history-item-filecount {
+ float: right;
+ color: #006CB7;
+ line-height: 1rem;
+ font-weight: 400;
+ font-size: 0.875rem; }
+ .history-item .history-item-desc {
+ position: absolute;
+ bottom: 1rem;
+ font-style: normal;
+ font-weight: normal;
+ font-size: 1rem;
+ line-height: 1.25rem;
+ color: #46535B; }
+
+/*# sourceMappingURL=history.css.map */
diff --git a/static/css/history.css.map b/static/css/history.css.map
new file mode 100644
index 0000000..183a2c5
--- /dev/null
+++ b/static/css/history.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "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",
+"sources": ["slovenscina-theme.scss","slovenscina-elements.scss","history.scss"],
+"names": [],
+"file": "history.css"
+}
\ No newline at end of file
diff --git a/static/css/history.scss b/static/css/history.scss
new file mode 100644
index 0000000..a38f034
--- /dev/null
+++ b/static/css/history.scss
@@ -0,0 +1,42 @@
+@import "slovenscina-elements.scss";
+
+.history-item {
+ background:white;
+ height:2.875rem;
+ padding:1rem 1.5rem;
+ position:relative;
+ .history-item-date {
+ text-transform: uppercase;
+ display: inline-block;
+ color:$grey-dark;
+ line-height: 1rem;
+ font-weight: 400;
+ font-size:0.875rem;
+ }
+ .history-item-uploader {
+ display: inline-block;
+ padding-left:1rem;
+ margin-left:1rem;
+ border-left: 1px solid $grey-dark;
+ color:$grey-dark;
+ line-height: 1rem;
+ font-weight: 400;
+ font-size:0.875rem;
+ }
+ .history-item-filecount {
+ float:right;
+ color:$blue;
+ line-height: 1rem;
+ font-weight: 400;
+ font-size:0.875rem;
+ }
+ .history-item-desc {
+ position:absolute;
+ bottom:1rem;
+ font-style: normal;
+ font-weight: normal;
+ font-size: 1rem;
+ line-height: 1.25rem;
+ color:$black;
+ }
+}
\ No newline at end of file
diff --git a/static/css/simple-grid.css b/static/css/simple-grid.css
new file mode 100644
index 0000000..ee760de
--- /dev/null
+++ b/static/css/simple-grid.css
@@ -0,0 +1,120 @@
+.hidden-sm {
+ display: none; }
+
+.container {
+ width: 90%;
+ margin-left: auto;
+ margin-right: auto; }
+ @media only screen and (min-width: 33.75em) {
+ .container {
+ width: 80%; } }
+ @media only screen and (min-width: 60em) {
+ .container {
+ width: 90%;
+ max-width: 80rem; } }
+
+.row {
+ position: relative;
+ width: 100%; }
+
+.row [class^="col"] {
+ float: left;
+ margin: 0.5rem 2%;
+ min-height: 0.125rem; }
+
+.row::after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.col-1,
+.col-2,
+.col-3,
+.col-4,
+.col-5,
+.col-6,
+.col-7,
+.col-8,
+.col-9,
+.col-10,
+.col-11,
+.col-12 {
+ width: 96%; }
+
+.col-1-sm {
+ width: 4.3333333333%; }
+
+.col-2-sm {
+ width: 12.6666666667%; }
+
+.col-3-sm {
+ width: 21%; }
+
+.col-4-sm {
+ width: 29.3333333333%; }
+
+.col-5-sm {
+ width: 37.6666666667%; }
+
+.col-6-sm {
+ width: 46%; }
+
+.col-7-sm {
+ width: 54.3333333333%; }
+
+.col-8-sm {
+ width: 62.6666666667%; }
+
+.col-9-sm {
+ width: 71%; }
+
+.col-10-sm {
+ width: 79.3333333333%; }
+
+.col-11-sm {
+ width: 87.6666666667%; }
+
+.col-12-sm {
+ width: 96%; }
+
+@media only screen and (min-width: 45em) {
+ .col-1 {
+ width: 4.3333333333%; }
+
+ .col-2 {
+ width: 12.6666666667%; }
+
+ .col-3 {
+ width: 21%; }
+
+ .col-4 {
+ width: 29.3333333333%; }
+
+ .col-5 {
+ width: 37.6666666667%; }
+
+ .col-6 {
+ width: 46%; }
+
+ .col-7 {
+ width: 54.3333333333%; }
+
+ .col-8 {
+ width: 62.6666666667%; }
+
+ .col-9 {
+ width: 71%; }
+
+ .col-10 {
+ width: 79.3333333333%; }
+
+ .col-11 {
+ width: 87.6666666667%; }
+
+ .col-12 {
+ width: 96%; }
+
+ .hidden-sm {
+ display: block; } }
+
+/*# sourceMappingURL=simple-grid.css.map */
diff --git a/static/css/simple-grid.css.map b/static/css/simple-grid.css.map
new file mode 100644
index 0000000..14e76fa
--- /dev/null
+++ b/static/css/simple-grid.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "AACA,UAAW;EACT,OAAO,EAAE,IAAI;;AAWf,UAAW;EACT,KAAK,EAAE,GAAG;EACV,WAAW,EAAE,IAAI;EACjB,YAAY,EAAE,IAAI;EAElB,2CAAsD;IALxD,UAAW;MAMP,KAAK,EAAE,GAAG;EAGZ,wCAAsD;IATxD,UAAW;MAUP,KAAK,EAAE,GAAG;MACV,SAAS,EAAE,KAAK;;AAIpB,IAAK;EACH,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI;;AAGb,mBAAoB;EAClB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,SAAS;EACjB,UAAU,EAAE,QAAQ;;AAGtB,WAAY;EACV,OAAO,EAAE,EAAE;EACX,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;;AAGb;;;;;;;;;;;OAWQ;EACN,KAAK,EAlDC,GAAG;;AAqDX,SAAU;EAAE,KAAK,EAAC,aAAmC;;AACrD,SAAU;EAAE,KAAK,EAAE,cAAkC;;AACrD,SAAU;EAAE,KAAK,EAAE,GAAiC;;AACpD,SAAU;EAAE,KAAK,EAAE,cAAiC;;AACpD,SAAU;EAAE,KAAK,EAAE,cAAwC;;AAC3D,SAAU;EAAE,KAAK,EAAE,GAAiC;;AACpD,SAAU;EAAE,KAAK,EAAE,cAAwC;;AAC3D,SAAU;EAAE,KAAK,EAAE,cAAwC;;AAC3D,SAAU;EAAE,KAAK,EAAE,GAAwC;;AAC3D,UAAW;EAAE,KAAK,EAAE,cAAyC;;AAC7D,UAAW;EAAE,KAAK,EAAE,cAAyC;;AAC7D,UAAW;EAAE,KAAK,EAhEV,GAAG;;AAkEX,wCAAoD;EAClD,MAAO;IAAE,KAAK,EAAC,aAAmC;;EAClD,MAAO;IAAE,KAAK,EAAE,cAAkC;;EAClD,MAAO;IAAE,KAAK,EAAE,GAAiC;;EACjD,MAAO;IAAE,KAAK,EAAE,cAAiC;;EACjD,MAAO;IAAE,KAAK,EAAE,cAAwC;;EACxD,MAAO;IAAE,KAAK,EAAE,GAAiC;;EACjD,MAAO;IAAE,KAAK,EAAE,cAAwC;;EACxD,MAAO;IAAE,KAAK,EAAE,cAAwC;;EACxD,MAAO;IAAE,KAAK,EAAE,GAAwC;;EACxD,OAAQ;IAAE,KAAK,EAAE,cAAyC;;EAC1D,OAAQ;IAAE,KAAK,EAAE,cAAyC;;EAC1D,OAAQ;IAAE,KAAK,EA9ET,GAAG;;EAgFT,UAAW;IACT,OAAO,EAAE,KAAK",
+"sources": ["simple-grid.scss"],
+"names": [],
+"file": "simple-grid.css"
+}
\ No newline at end of file
diff --git a/static/css/simple-grid.scss b/static/css/simple-grid.scss
new file mode 100644
index 0000000..07cb2a1
--- /dev/null
+++ b/static/css/simple-grid.scss
@@ -0,0 +1,91 @@
+
+.hidden-sm {
+ display: none;
+}
+
+// grid
+
+$width: 96%;
+$gutter: 4%;
+$breakpoint-small: 33.75em; // 540px
+$breakpoint-med: 45em; // 720px
+$breakpoint-large: 60em; // 960px
+
+.container {
+ width: 90%;
+ margin-left: auto;
+ margin-right: auto;
+
+ @media only screen and (min-width: $breakpoint-small) {
+ width: 80%;
+ }
+
+ @media only screen and (min-width: $breakpoint-large) {
+ width: 90%;
+ max-width: 80rem;
+ }
+}
+
+.row {
+ position: relative;
+ width: 100%;
+}
+
+.row [class^="col"] {
+ float: left;
+ margin: 0.5rem 2%;
+ min-height: 0.125rem;
+}
+
+.row::after {
+ content: "";
+ display: table;
+ clear: both;
+}
+
+.col-1,
+.col-2,
+.col-3,
+.col-4,
+.col-5,
+.col-6,
+.col-7,
+.col-8,
+.col-9,
+.col-10,
+.col-11,
+.col-12 {
+ width: $width;
+}
+
+.col-1-sm { width:($width / 12) - ($gutter * 11 / 12); }
+.col-2-sm { width: ($width / 6) - ($gutter * 10 / 12); }
+.col-3-sm { width: ($width / 4) - ($gutter * 9 / 12); }
+.col-4-sm { width: ($width / 3) - ($gutter * 8 / 12); }
+.col-5-sm { width: ($width / (12 / 5)) - ($gutter * 7 / 12); }
+.col-6-sm { width: ($width / 2) - ($gutter * 6 / 12); }
+.col-7-sm { width: ($width / (12 / 7)) - ($gutter * 5 / 12); }
+.col-8-sm { width: ($width / (12 / 8)) - ($gutter * 4 / 12); }
+.col-9-sm { width: ($width / (12 / 9)) - ($gutter * 3 / 12); }
+.col-10-sm { width: ($width / (12 / 10)) - ($gutter * 2 / 12); }
+.col-11-sm { width: ($width / (12 / 11)) - ($gutter * 1 / 12); }
+.col-12-sm { width: $width; }
+
+@media only screen and (min-width: $breakpoint-med) {
+ .col-1 { width:($width / 12) - ($gutter * 11 / 12); }
+ .col-2 { width: ($width / 6) - ($gutter * 10 / 12); }
+ .col-3 { width: ($width / 4) - ($gutter * 9 / 12); }
+ .col-4 { width: ($width / 3) - ($gutter * 8 / 12); }
+ .col-5 { width: ($width / (12 / 5)) - ($gutter * 7 / 12); }
+ .col-6 { width: ($width / 2) - ($gutter * 6 / 12); }
+ .col-7 { width: ($width / (12 / 7)) - ($gutter * 5 / 12); }
+ .col-8 { width: ($width / (12 / 8)) - ($gutter * 4 / 12); }
+ .col-9 { width: ($width / (12 / 9)) - ($gutter * 3 / 12); }
+ .col-10 { width: ($width / (12 / 10)) - ($gutter * 2 / 12); }
+ .col-11 { width: ($width / (12 / 11)) - ($gutter * 1 / 12); }
+ .col-12 { width: $width; }
+
+ .hidden-sm {
+ display: block;
+ }
+}
\ No newline at end of file
diff --git a/static/css/slovenscina-elements.css b/static/css/slovenscina-elements.css
new file mode 100644
index 0000000..417d251
--- /dev/null
+++ b/static/css/slovenscina-elements.css
@@ -0,0 +1,8 @@
+html {
+ font-family: 'Roboto', sans-serif;
+ color: #46535B; }
+
+.panel {
+ background: #F5F5F5; }
+
+/*# sourceMappingURL=slovenscina-elments.css.map */
diff --git a/static/css/slovenscina-elements.css.map b/static/css/slovenscina-elements.css.map
new file mode 100644
index 0000000..c895f2d
--- /dev/null
+++ b/static/css/slovenscina-elements.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "AAMA,IAAK;EACH,WAAW,EAAE,oBAAoB;EACjC,KAAK,EANC,OAAO;;ACAf,MAAO;EACL,UAAU,EDCJ,OAAO",
+"sources": ["slovenscina-theme.scss","slovenscina-elments.scss"],
+"names": [],
+"file": "slovenscina-elments.css"
+}
\ No newline at end of file
diff --git a/static/css/slovenscina-elements.scss b/static/css/slovenscina-elements.scss
new file mode 100644
index 0000000..723195a
--- /dev/null
+++ b/static/css/slovenscina-elements.scss
@@ -0,0 +1,144 @@
+@import "slovenscina-theme.scss";
+
+h1 {
+ font-size: 30px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 35px;
+ color:$blue;
+}
+h2 {
+ font-size: 18px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 21px;
+ text-transform: uppercase;
+ color:$blue;
+}
+
+h3 {
+ font-size: 18px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 21px;
+}
+
+em {
+ font-weight: 300;
+}
+
+.btn {
+ border:none;
+ line-height: 2.5rem;
+ padding: 0 2.5rem;
+ color:white;
+ background: $blue;
+ border-radius: 20px;
+ font-size: 1.125rem;
+ font-weight: 400;
+ cursor: pointer;
+ transition: opacity 0.3s ease-out;
+ &:hover {
+ opacity: 0.8;
+ }
+}
+
+.input-wrapper {
+ position:relative;
+ height:66px;
+ .input-icon {
+ position:absolute;
+ left:0;
+ top:0;
+ display:block;
+ width:1.5rem;
+ }
+ .input-floating-label {
+ position:absolute;
+ left: 46px;
+ right:0;
+ display:block;
+ input {
+ padding:4px 0;
+ background: none;
+ border:none;
+ display:block;
+ width:100%;
+ border-bottom: 2px solid $grey;
+ }
+
+ .floating-label {
+ position: absolute;
+ top: -14px;
+ font-size: 10px;
+ color: $black;
+ }
+
+ }
+}
+
+
+.panel {
+ background: $white;
+ padding: 40px 60px;
+ border-radius: 20px;
+ .panel-logo {
+ position:absolute;
+ top: -60px;
+ left:0;
+ right:0;
+ display:block;
+ margin:auto;
+ background: $white;
+ padding:20px 30px;
+ width: 100px;
+ border-radius: 100%;
+ text-align: center;
+ }
+}
+
+
+.line {
+ background: $grey;
+ height:2px;
+ width:200px;
+ margin: auto;
+}
+
+.a-right {
+ display:block;
+ text-align: right;
+ font-size:10px;
+ text-decoration: none;
+ color:$blue;
+ text-transform: uppercase;
+}
+
+.alert {
+ position:relative;
+ color:$red;
+ img {
+ position:relative;
+ top:0.25rem;
+ width:1.8rem;
+ }
+ p {
+ position: absolute;
+ left:3rem;
+ top: 0;
+ margin:0;
+ text-transform: uppercase;
+ }
+}
+
+.submit-alert {
+ background:white;
+ border: 2px solid $green-light;
+ box-sizing: border-box;
+ border-radius: 8px;
+ .btn {
+ margin-top:0.5rem;
+ background: $green;
+ border-radius: 4px;
+ }
+}
\ No newline at end of file
diff --git a/static/css/slovenscina-theme.css b/static/css/slovenscina-theme.css
new file mode 100644
index 0000000..09c9d86
--- /dev/null
+++ b/static/css/slovenscina-theme.css
@@ -0,0 +1,5 @@
+html {
+ font-family: 'Roboto', sans-serif;
+ color: #46535B; }
+
+/*# sourceMappingURL=slovenscina-theme.css.map */
diff --git a/static/css/slovenscina-theme.css.map b/static/css/slovenscina-theme.css.map
new file mode 100644
index 0000000..f3c93fa
--- /dev/null
+++ b/static/css/slovenscina-theme.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "AAMA,IAAK;EACH,WAAW,EAAE,oBAAoB;EACjC,KAAK,EANC,OAAO",
+"sources": ["slovenscina-theme.scss"],
+"names": [],
+"file": "slovenscina-theme.css"
+}
\ No newline at end of file
diff --git a/static/css/slovenscina-theme.scss b/static/css/slovenscina-theme.scss
new file mode 100644
index 0000000..b7a1401
--- /dev/null
+++ b/static/css/slovenscina-theme.scss
@@ -0,0 +1,24 @@
+@import url(https://fonts.googleapis.com/css?family=Roboto:400,400italic,500,500italic,700,700italic,900,900italic,300italic,300,100italic,100);
+
+$blue: #006CB7;
+$red: #8D3D3D;
+$black: #46535B;
+$grey: #C4C4C4;
+$grey-dark: #848C90;
+$grey-border: #B6BEC3;
+$white: #F5F5F5;
+$green-light: #B7DB70;
+$green: #88B52F;
+
+
+html {
+ font-family: 'Roboto', sans-serif;
+ font-size:16px;
+ color: $black;
+}
+
+body {
+ font-size:16px;
+ padding:0;
+ margin:0;
+}
\ No newline at end of file
diff --git a/static/css/styles.css b/static/css/styles.css
new file mode 100644
index 0000000..944f16e
--- /dev/null
+++ b/static/css/styles.css
@@ -0,0 +1,169 @@
+@import url(https://fonts.googleapis.com/css?family=Roboto:400,400italic,500,500italic,700,700italic,900,900italic,300italic,300,100italic,100);
+html {
+ font-family: 'Roboto', sans-serif;
+ font-size: 16px;
+ color: #46535B; }
+
+body {
+ font-size: 16px;
+ padding: 0;
+ margin: 0; }
+
+h1 {
+ font-size: 30px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 35px;
+ color: #006CB7; }
+
+h2 {
+ font-size: 18px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 21px;
+ text-transform: uppercase;
+ color: #006CB7; }
+
+h3 {
+ font-size: 18px;
+ font-style: normal;
+ font-weight: 300;
+ line-height: 21px; }
+
+em {
+ font-weight: 300; }
+
+.btn {
+ border: none;
+ line-height: 2.5rem;
+ padding: 0 2.5rem;
+ color: white;
+ background: #006CB7;
+ border-radius: 20px;
+ font-size: 1.125rem;
+ font-weight: 400;
+ cursor: pointer;
+ transition: opacity 0.3s ease-out; }
+ .btn:hover {
+ opacity: 0.8; }
+
+.input-wrapper {
+ position: relative;
+ height: 66px; }
+ .input-wrapper .input-icon {
+ position: absolute;
+ left: 0;
+ top: 0;
+ display: block;
+ width: 1.5rem; }
+ .input-wrapper .input-floating-label {
+ position: absolute;
+ left: 46px;
+ right: 0;
+ display: block; }
+ .input-wrapper .input-floating-label input {
+ padding: 4px 0;
+ background: none;
+ border: none;
+ display: block;
+ width: 100%;
+ border-bottom: 2px solid #C4C4C4; }
+ .input-wrapper .input-floating-label .floating-label {
+ position: absolute;
+ top: -14px;
+ font-size: 10px;
+ color: #46535B; }
+
+.panel {
+ background: #F5F5F5;
+ padding: 40px 60px;
+ border-radius: 20px; }
+ .panel .panel-logo {
+ position: absolute;
+ top: -60px;
+ left: 0;
+ right: 0;
+ display: block;
+ margin: auto;
+ background: #F5F5F5;
+ padding: 20px 30px;
+ width: 100px;
+ border-radius: 100%;
+ text-align: center; }
+
+.line {
+ background: #C4C4C4;
+ height: 2px;
+ width: 200px;
+ margin: auto; }
+
+.a-right {
+ display: block;
+ text-align: right;
+ font-size: 10px;
+ text-decoration: none;
+ color: #006CB7;
+ text-transform: uppercase; }
+
+.alert {
+ position: relative;
+ color: #8D3D3D; }
+ .alert img {
+ position: relative;
+ top: 0.25rem;
+ width: 1.8rem; }
+ .alert p {
+ position: absolute;
+ left: 3rem;
+ top: 0;
+ margin: 0;
+ text-transform: uppercase; }
+
+.submit-alert {
+ background: white;
+ border: 2px solid #B7DB70;
+ box-sizing: border-box;
+ border-radius: 8px; }
+ .submit-alert .btn {
+ margin-top: 0.5rem;
+ background: #88B52F;
+ border-radius: 4px; }
+
+.background {
+ background: url(../image/bg.jpeg) no-repeat center center fixed;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;
+ background-size: cover;
+ overflow-y: scroll;
+ height: 200vh;
+ width: 100%; }
+
+.login-panel {
+ position: absolute;
+ width: 50%;
+ left: 25%;
+ top: 100px; }
+
+.register-button {
+ position: relative;
+ margin-top: 2rem;
+ display: block;
+ text-decoration: none;
+ color: #848C90; }
+ .register-button img {
+ width: 2rem; }
+ .register-button h3 {
+ position: absolute;
+ left: 3rem;
+ top: 0;
+ margin: 0; }
+ .register-button p {
+ position: absolute;
+ left: 3rem;
+ bottom: 0;
+ margin: 0;
+ font-size: 0.875rem;
+ font-weight: 300; }
+
+/*# sourceMappingURL=styles.css.map */
diff --git a/static/css/styles.css.map b/static/css/styles.css.map
new file mode 100644
index 0000000..ecf9683
--- /dev/null
+++ b/static/css/styles.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "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",
+"sources": ["slovenscina-theme.scss","slovenscina-elements.scss","styles.scss"],
+"names": [],
+"file": "styles.css"
+}
\ No newline at end of file
diff --git a/static/css/styles.scss b/static/css/styles.scss
new file mode 100644
index 0000000..78df69b
--- /dev/null
+++ b/static/css/styles.scss
@@ -0,0 +1,44 @@
+@import "slovenscina-elements.scss";
+
+.background {
+ background: url(../image/bg.jpeg) no-repeat center center fixed;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;
+ background-size: cover;
+ overflow-y: scroll;
+ height:200vh;
+ width:100%;
+}
+
+.login-panel {
+ position:absolute;
+ width:50%;
+ left:25%;
+ top: 100px;
+}
+
+.register-button {
+ position:relative;
+ margin-top:2rem;
+ display: block;
+ text-decoration: none;
+ color:$grey-dark;
+ img {
+ width:2rem;
+ }
+ h3 {
+ position:absolute;
+ left:3rem;
+ top:0;
+ margin:0;
+ }
+ p {
+ position:absolute;
+ left:3rem;
+ bottom:0;
+ margin:0;
+ font-size:0.875rem;
+ font-weight: 300;
+ }
+}
\ No newline at end of file
diff --git a/static/css/utils.css b/static/css/utils.css
new file mode 100644
index 0000000..0e13731
--- /dev/null
+++ b/static/css/utils.css
@@ -0,0 +1,17 @@
+.text-center {
+ text-align: center; }
+
+.m-b-1 {
+ margin-bottom: 1rem; }
+
+.m-b-2 {
+ margin-bottom: 2rem; }
+
+.m-b-3 {
+ margin-bottom: 3rem; }
+
+.set-open-transition {
+ transition: max-height 0.3s ease-out;
+ overflow: hidden; }
+
+/*# sourceMappingURL=utils.css.map */
diff --git a/static/css/utils.css.map b/static/css/utils.css.map
new file mode 100644
index 0000000..e75f8bd
--- /dev/null
+++ b/static/css/utils.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "AAAA,YAAa;EACX,UAAU,EAAE,MAAM;;AAGpB,MAAO;EACL,aAAa,EAAC,IAAI;;AAEpB,MAAO;EACL,aAAa,EAAC,IAAI;;AAEpB,MAAO;EACL,aAAa,EAAC,IAAI;;AAGpB,oBAAqB;EACnB,UAAU,EAAE,wBAAwB;EACpC,QAAQ,EAAE,MAAM",
+"sources": ["utils.scss"],
+"names": [],
+"file": "utils.css"
+}
\ No newline at end of file
diff --git a/static/css/utils.scss b/static/css/utils.scss
new file mode 100644
index 0000000..21afc94
--- /dev/null
+++ b/static/css/utils.scss
@@ -0,0 +1,18 @@
+.text-center {
+ text-align: center;
+}
+
+.m-b-1 {
+ margin-bottom:1rem;
+}
+.m-b-2 {
+ margin-bottom:2rem;
+}
+.m-b-3 {
+ margin-bottom:3rem;
+}
+
+.set-open-transition {
+ transition: max-height 0.3s ease-out;
+ overflow: hidden;
+}
\ No newline at end of file
diff --git a/static/image/alert.svg b/static/image/alert.svg
new file mode 100644
index 0000000..38eaf15
--- /dev/null
+++ b/static/image/alert.svg
@@ -0,0 +1,5 @@
+
diff --git a/static/image/file.svg b/static/image/file.svg
new file mode 100644
index 0000000..d426a9a
--- /dev/null
+++ b/static/image/file.svg
@@ -0,0 +1,7 @@
+
diff --git a/static/image/logo-white.svg b/static/image/logo-white.svg
new file mode 100644
index 0000000..f2de4b0
--- /dev/null
+++ b/static/image/logo-white.svg
@@ -0,0 +1,3 @@
+
diff --git a/static/image/password.png b/static/image/password.png
deleted file mode 100644
index 3c52c25..0000000
Binary files a/static/image/password.png and /dev/null differ
diff --git a/static/image/password.svg b/static/image/password.svg
new file mode 100644
index 0000000..3618846
--- /dev/null
+++ b/static/image/password.svg
@@ -0,0 +1,4 @@
+
diff --git a/static/image/register.png b/static/image/register.png
deleted file mode 100644
index 29538b1..0000000
Binary files a/static/image/register.png and /dev/null differ
diff --git a/static/image/register.svg b/static/image/register.svg
new file mode 100644
index 0000000..0e4dafd
--- /dev/null
+++ b/static/image/register.svg
@@ -0,0 +1,12 @@
+
diff --git a/static/image/showpass.png b/static/image/showpass.png
deleted file mode 100644
index cc3890a..0000000
Binary files a/static/image/showpass.png and /dev/null differ
diff --git a/static/image/showpass.svg b/static/image/showpass.svg
new file mode 100644
index 0000000..b6aba5d
--- /dev/null
+++ b/static/image/showpass.svg
@@ -0,0 +1,4 @@
+
diff --git a/static/image/user.png b/static/image/user.png
deleted file mode 100644
index 7d81b47..0000000
Binary files a/static/image/user.png and /dev/null differ
diff --git a/static/image/user.svg b/static/image/user.svg
new file mode 100644
index 0000000..a580b04
--- /dev/null
+++ b/static/image/user.svg
@@ -0,0 +1,4 @@
+
diff --git a/static/style.css b/static/style.css
index a9c6d5f..7f2d208 100644
--- a/static/style.css
+++ b/static/style.css
@@ -16,9 +16,7 @@ label {
body,
html {
- height: 100%;
margin: 0;
- overflow-y: hidden;
}
html {
diff --git a/templates/solar-forgotpass.html b/templates/solar-forgotpass.html
index ba28d59..114e086 100644
--- a/templates/solar-forgotpass.html
+++ b/templates/solar-forgotpass.html
@@ -3,38 +3,39 @@
Portal ŠOLAR
-
+
+
-
-
-
-
-
-
-
Nazaj na prijavo
-
Pozabljeno geslo - ŠOLAR
-
- {% with messages = get_flashed_messages() %}
- {% if messages %}
-
- {{ messages[0] }}
-
- {% endif %}
- {% endwith %}
-
-
+
+
+
+
+
+
Pozabljeno geslo - ŠOLAR
+
+
+ {% with messages = get_flashed_messages() %}
+ {% if messages %}
+
+
+
{{ messages[0] }}
+
+ {% endif %}
+ {% endwith %}
-
-
+
+
diff --git a/templates/solar-login.html b/templates/solar-login.html
index 8e7cff6..8c4f44e 100644
--- a/templates/solar-login.html
+++ b/templates/solar-login.html
@@ -3,63 +3,57 @@
Portal ŠOLAR
-
+
+
-
-
-
-
-
-
-
Portal za oddajanje besedil
-
Korpus Šolar
-
-
Zbiranje besedil za korpus Šolar poteka po naslednjem postopku, ki prinaša tudi točke za napredovanje.
-
-
Prijava
-
-
+
+
+
+
-
-
+
Portal za oddajanje besedil
+
+
Korpus ŠOLAR
+
+
Zbiranje besedil za korpus Šolar poteka po naslednjem postopku, ki prinaša tudi točke za napredovanje.
+
+
Prijava
+
+ {% with messages = get_flashed_messages() %}
+ {% if messages %}
+
+
+
{{ messages[0] }}
+
+ {% endif %}
+ {% endwith %}
+
+
+ Registracija
+ Še nimate uporabniškega računa? Registrirajte se!
+
+
diff --git a/templates/solar-oddaja.html b/templates/solar-oddaja.html
index 8397119..e0448fa 100644
--- a/templates/solar-oddaja.html
+++ b/templates/solar-oddaja.html
@@ -3,31 +3,246 @@
Portal za oddajanje besedil
-
-
- {{ dropzone.style('position: absolute;
- top: -0.5px;
- width: 388px;
- height: 732px;
- left: 385px;
- background: linear-gradient(198.62deg, rgba(255, 255, 255, 0.49) -1.62%, rgba(255, 255, 255, 0.73) -1.61%, rgba(255, 255, 255, 0.41) 79.34%);
- box-shadow: 20px 4px 40px rgba(0, 0, 0, 0.25);
- border: 0px;
- backdrop-filter: blur(20px);
- border-radius: 0px 20px 20px 0px;') }}
-
+
+
+
+
-
Odjavi se
- {% if is_institution_coordinator %}
-
Upravljaj z institucijo
- {% endif %}
- {% if is_admin %}
-
Administracijski meni
- {% endif %}
-
Pomoč
-
-
+
+
+
+
+
Koprus SOLAR
+
Zbiranje besedil za korpus Šolar poteka po naslednjem postopku, ki prinaša tudi točke za napredovanje.
+
+
+
+
+
+
+
+
+
+
+ {% if not institution %}
+
+
+
Niste član nobene institucije!
+
+ {% elif not institution_contract %}
+
+
+
Pogodba s šolo še ni naložena!
+
+ {% endif %}
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -142,13 +351,11 @@
var btnSubmit = document.getElementById("button-submit");
var btnSubmitFinal = document.getElementById("button-submit-final");
var btnSubmitCancel = document.getElementById("button-submit-cancel");
- var btnZgodovina = document.getElementById("button-zgodovina");
- var btnPogodbe = document.getElementById("button-pogodbe");
var elemTermsPopup = document.getElementById("popup-terms");
var termsScrollbox = document.getElementById("popup-terms-text");
var dataConfirmNotification = document.getElementById("data-confirm-notification");
- var scrollboxTriggered = false;
- var form = document.forms["my-dropzone"];
+ var errorMessage = document.getElementById("error-message");
+ var form = document.forms["form-oddaja"];
{% if not institution %}
btnSubmit.disabled = true;
@@ -158,8 +365,42 @@
return str == null || str.match(/^ *$/) !== null;
}
+ function showError(str) {
+ errorMessage.querySelector("p").textContent = str;
+ errorMessage.style.display = "block";
+ window.scroll({
+ top: 0,
+ behavior: 'smooth'
+ });
+ }
+
const reEmail = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
+
+ //onready
+ selectPredmet.addEventListener("change", function(e) {
+ var predmetCustomBox = document.getElementById("predmet-custom-box").closest('.row');
+ if (selectPredmet.value.startsWith("drug")) {
+ predmetCustomBox.style.maxHeight = "150px";
+ } else {
+ predmetCustomBox.style.maxHeight = "0px";
+ }
+ });
+
+ selectVrsta.addEventListener("change", function(e) {
+ var vrstaCustomBox = document.getElementById("vrsta-custom-box").closest('.row');
+ if (selectVrsta.value == "delo-v-razredu") {
+ vrstaCustomBox.style.maxHeight = "150px";
+ } else {
+ vrstaCustomBox.style.maxHeight = "0px";
+ }
+ });
+ var event = new CustomEvent("change");
+ selectPredmet.dispatchEvent(event);
+ selectVrsta.dispatchEvent(event);
+
+
+
Dropzone.options.myDropzone = { // The camelized version of the ID of the form element
url: "../upload",
autoProcessQueue: false,
@@ -168,8 +409,9 @@
paramName: "file", // The name that will be used to transfer the file
maxFilesize: 1000, // MB
timeout: 5000000, // milliseconds
- acceptedFiles: ".txt, .csv, .pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .jpg, .jpeg, .png",
+ acceptedFiles: ".txt, .csv, .pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .jpg, .jpeg, .png, .mkv",
maxFiles: 20,
+ previewsContainer: "#dropzone-previews",
dictDefaultMessage: `Kliknite ali odložite datoteke sem.`,
dictFallbackMessage: "Vaš brskalnik ne podpira izbiranje datotek z odlaganjem (\"drag & drop\").",
dictInvalidFileType: "Datoteka je napačnega formata.",
@@ -184,24 +426,8 @@
// The setting up of the dropzone
init: function() {
var dz = this;
-
- selectPredmet.addEventListener("change", function(e) {
- var predmetCustomBox = document.getElementById("predmet-custom-box");
- if (selectPredmet.value.startsWith("drug")) {
- predmetCustomBox.style.display = "inherit";
- } else {
- predmetCustomBox.style.display = "none";
- }
- });
-
- selectVrsta.addEventListener("change", function(e) {
- var vrstaCustomBox = document.getElementById("vrsta-custom-box");
- if (selectVrsta.value == "delo-v-razredu") {
- vrstaCustomBox.style.display = "inherit";
- } else {
- vrstaCustomBox.style.display = "none";
- }
- });
+ dataConfirmNotification.style.display = "none";
+ errorMessage.style.display = "none";
btnSubmit.addEventListener("click", function(e) {
// Make sure that the form isn't actually being sent.
@@ -219,18 +445,13 @@
var jezikovniPopravki = form["jezikovni-popravki"].value;
if (predmet.startsWith("drug") && isEmptyOrSpaces(predmetCustom)) {
- alert("Polje za predmet ne more biti prazno!");
+ showError("Polje za predmet ne more biti prazno!");
} else if (vrsta === "delo-v-razredu" && isEmptyOrSpaces(vrstaCustom)) {
- alert("Polje za vrsto besedila ne more biti prazno!");
+ showError("Polje za vrsto besedila ne more biti prazno!");
} else if (dataConfirmNotification.style.display == "none") {
dataConfirmNotification.style.display = "inherit";
- btnSubmit.textContent = "Potrdi";
+ btnSubmit.style.display = "none";
} else {
- // Then make terms popup visible
- //btnSubmit.disabled = true;
- //btnSubmitFinal.disabled = true;
- //elemTermsPopup.style.display = "inline";
- //scrollboxtriggered = false;
// Hand off data to dropzone
dz.processQueue();
@@ -249,32 +470,20 @@
dz.processQueue();
// Clear fields and hide popup agian
- btnSubmit.disabled = false;
- elemTermsPopup.style.display = "none";
+ /*btnSubmit.disabled = false;
dataConfirmNotification.style.display = "none";
btnSubmit.textContent = "Oddaj";
form.reset();
- scrollboxTriggered = false;
+ scrollboxTriggered = false;*/
});
- btnSubmitCancel.addEventListener("click", function(e) {
+ /*btnSubmitCancel.addEventListener("click", function(e) {
btnSubmit.disabled = false;
scrollboxTriggered = false;
elemTermsPopup.style.display = "none";
- });
-
- btnZgodovina.addEventListener("click", function(e) {
- e.preventDefault();
- e.stopPropagation();
- window.location.replace("../zgodovina");
- });
-
- btnPogodbe.addEventListener("click", function(e) {
- e.preventDefault();
- e.stopPropagation();
- window.location.replace("../pogodbe");
- });
+ });*/
+/*
// Enable final submit button only if user scrolls to the end of the terms.
function checkScrollboxTrigger(event) {
var element = event.target;
@@ -292,11 +501,11 @@
termsScrollbox.addEventListener("mouseenter", function(event) {
checkScrollboxTrigger(event);
- });
+ });*/
// Listen to the sendingmultiple event. In this case, it's the sendingmultiple event instead
// of the sending event because uploadMultiple is set to true.
- this.on("sendingmultiple", function() {
+ /*this.on("sendingmultiple", function() {
// Gets triggered when the form is actually being sent.
// Hide the success button or the complete form.
});
@@ -311,9 +520,33 @@
this.on("errormultiple", function(files, response) {
// Gets triggered when there was an error sending the files.
// Maybe show form again, and notify user of error
+ });*/
+ this.on("sending", function(file, xhr, formData) {
+ formData.append("program",form["program"].value);
+ formData.append("predmet",form["predmet"].value);
+ formData.append("predmet-custom",form["predmet-custom"].value);
+ formData.append("letnik",form["letnik"].value);
+ formData.append("vrsta",form["vrsta"].value);
+ formData.append("vrsta-custom",form["vrsta-custom"].value);
+ formData.append("solsko-leto",form["solsko-leto"].value);
+ formData.append("jezikovni-popravki",form["jezikovni-popravki"].value);
+
});
+
+ },
+ uploadprogress: function(file, progress, bytesSent) {
+ if (file.previewElement) {
+ console.log(progress);
+ var progressElement = file.previewElement.querySelector("[data-dz-uploadprogress]");
+ progressElement.style.width = progress + "%";
+ //progressElement.querySelector(".progress-text").textContent = progress + "%";
+ }
}
+
+
+
+
}
diff --git a/templates/solar-register.html b/templates/solar-register.html
index 9cad54a..26e0fc5 100644
--- a/templates/solar-register.html
+++ b/templates/solar-register.html
@@ -3,67 +3,78 @@
Portal ŠOLAR
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
Portal za oddajanje besedil
+
+
Korpus ŠOLAR
+
+
Zbiranje besedil za korpus Šolar poteka po naslednjem postopku, ki prinaša tudi točke za napredovanje.
+
+
Registracija
+
-
+ {% with messages = get_flashed_messages() %}
+ {% if messages %}
+
+
+
{{ messages[0] }}
+ {% endif %}
+ {% endwith %}
+
+
+
+
diff --git a/templates/solar-zgodovina.html b/templates/solar-zgodovina.html
index d98183b..92e6bec 100644
--- a/templates/solar-zgodovina.html
+++ b/templates/solar-zgodovina.html
@@ -3,10 +3,106 @@
Portal za oddajanje besedil
-
+
+
+
+
+
+
+
+
+
+
Koprus SOLAR
+
Zbiranje besedil za korpus Šolar poteka po naslednjem postopku, ki prinaša tudi točke za napredovanje.
+
+
+
+
+
+
+
+
+
Zgodovina naloženih datotek
+
+
+ {% for item in upload_history %}
+
+
+
+
Dodano {{ item.timestamp.strftime('%d. %m. %Y') }}
+
{{ uploader_names[loop.index - 1] }}
+
Št. datotek: {{ item.upload_file_hashes|length }}
+
+
+ {% set began = False %}
+ {% if institution_names[loop.index - 1] %}
+ {% if began %}, {% endif %} {{ institution_names[loop.index - 1] }}
+ {% set began = True %}
+ {% endif %}
+ {% if item.program %}
+ {% if began %}, {% endif %} {{ item.program }}
+ {% set began = True %}
+ {% endif %}
+ {% if item.subject %}
+ {% if began %}, {% endif %} {{ item.subject }}
+ {% set began = True %}
+ {% endif %}
+ {% if item.subject_custom %}
+ {% if began %}, {% endif %} {{ item.subject_custom }}
+ {% set began = True %}
+ {% endif %}
+ {% if item.grade %}
+ {% if began %}, {% endif %} {{ item.grade }}
+ {% set began = True %}
+ {% endif %}
+ {% if item.text_type %}
+ {% if began %}, {% endif %} {{ item.text_type }}
+ {% set began = True %}
+ {% endif %}
+ {% if item.text_type_custom %}
+ {% if began %}, {% endif %} {{ item.text_type_custom }}
+ {% set began = True %}
+ {% endif %}
+ {% if item.school_year %}
+ {% if began %}, {% endif %} {{ item.school_year }}
+ {% set began = True %}
+ {% endif %}
+ {% if item.grammar_corrections %}
+ {% if began %}, {% endif %} {{ item.grammar_corrections }}
+ {% set began = True %}
+ {% endif %}
+
+
+
+
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Odjavi se
{% if is_institution_coordinator %}
Upravljaj z institucijo