INQ-7 schema modfications and layout modifications
This commit is contained in:
parent
531d8f8f6b
commit
a11afbfc17
21
App.py
21
App.py
@ -18,10 +18,7 @@ def home():
|
|||||||
if not session.get('logged_in'):
|
if not session.get('logged_in'):
|
||||||
return render_template('login.html')
|
return render_template('login.html')
|
||||||
else:
|
else:
|
||||||
if session.get('user_type') == 'lecturer':
|
return redirect('/courses')
|
||||||
return redirect('/lecturer')
|
|
||||||
else:
|
|
||||||
return redirect('/student')
|
|
||||||
|
|
||||||
@app.route('/student',methods=['GET', 'POST'])
|
@app.route('/student',methods=['GET', 'POST'])
|
||||||
def student():
|
def student():
|
||||||
@ -74,6 +71,22 @@ def upvote(quest_id):
|
|||||||
db.commit()
|
db.commit()
|
||||||
return '200'
|
return '200'
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
@app.route('/courses') #
|
||||||
|
def courses(): #
|
||||||
|
return render_template('courses.html')
|
||||||
|
|
||||||
|
@app.route('/lectures/<lect_id>', methods=['POST', 'GET'])
|
||||||
|
def lectures(lect_id):
|
||||||
|
return render_template('lectures.html')
|
||||||
|
|
||||||
|
@app.route('/account', methods=['GET', 'POST'])
|
||||||
|
def account():
|
||||||
|
if session.get('user_type') == 'lecturer':
|
||||||
|
return redirect(url_for('lecturer'))
|
||||||
|
else: #
|
||||||
|
return redirect(url_for('student')) #
|
||||||
|
############################################################
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app.secret_key = os.urandom(12)
|
app.secret_key = os.urandom(12)
|
||||||
|
BIN
inquire.db
BIN
inquire.db
Binary file not shown.
12
schema.sql
12
schema.sql
@ -15,7 +15,10 @@ CREATE TABLE question (
|
|||||||
created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
question_text TEXT NOT NULL,
|
question_text TEXT NOT NULL,
|
||||||
upvotes INTEGER NOT NULL,
|
upvotes INTEGER NOT NULL,
|
||||||
FOREIGN KEY (subject_id) REFERENCES subject (subject_id)
|
has_answer BOOLEAN DEFAULT 0,
|
||||||
|
answer TEXT,
|
||||||
|
FOREIGN KEY (subject_id) REFERENCES subject (subject_id),
|
||||||
|
FOREIGN KEY (user_id) REFERENCES user (user_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE subject (
|
CREATE TABLE subject (
|
||||||
@ -25,6 +28,13 @@ CREATE TABLE subject (
|
|||||||
FOREIGN KEY (user_id) REFERENCES user (user_id)
|
FOREIGN KEY (user_id) REFERENCES user (user_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE TABLE subject_day (
|
||||||
|
subject_day_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
|
subject_id INTEGER,
|
||||||
|
topic TEXT NOT NULL
|
||||||
|
FOREIGN KEY (subject_id) REFERENCES subject(subject_id)
|
||||||
|
);
|
||||||
|
|
||||||
INSERT INTO user (username, password, lecturer) VALUES ('admin','admin',1);
|
INSERT INTO user (username, password, lecturer) VALUES ('admin','admin',1);
|
||||||
INSERT INTO user (username, password, lecturer) VALUES ('jassem','jassem',1);
|
INSERT INTO user (username, password, lecturer) VALUES ('jassem','jassem',1);
|
||||||
INSERT INTO user (username, password, lecturer) VALUES ('user','user',0);
|
INSERT INTO user (username, password, lecturer) VALUES ('user','user',0);
|
||||||
|
@ -53,6 +53,7 @@ ul > li:not(:last-child) {
|
|||||||
.counter {
|
.counter {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
min-width: 60px;
|
||||||
}
|
}
|
||||||
.counter > i {
|
.counter > i {
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
@ -159,10 +160,10 @@ ul > li:not(:last-child) {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
transition: 0.2s all;
|
transition: 0.2s all;
|
||||||
}
|
}
|
||||||
.btn--answer {
|
.btn--answer, #ask-question {
|
||||||
transition: all 0.2s;
|
transition: all 0.2s;
|
||||||
}
|
}
|
||||||
#btn--login:hover, .btn--answer:hover {
|
#btn--login:hover, .btn--answer:hover, #ask-question:hover {
|
||||||
box-shadow: 0px 10px 26px 0px rgba(0,0,0,0.75);
|
box-shadow: 0px 10px 26px 0px rgba(0,0,0,0.75);
|
||||||
}
|
}
|
||||||
.forgot__text {
|
.forgot__text {
|
||||||
@ -201,4 +202,27 @@ ul > li:not(:last-child) {
|
|||||||
}
|
}
|
||||||
#questions-list .row {
|
#questions-list .row {
|
||||||
margin-bottom: 0px !important;
|
margin-bottom: 0px !important;
|
||||||
|
}
|
||||||
|
.date {
|
||||||
|
line-height: 54px;
|
||||||
|
}
|
||||||
|
.ask__container--content {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
padding-top: 10px !important;
|
||||||
|
padding-bottom: 10px !important;
|
||||||
|
padding-left: 120px !important;
|
||||||
|
padding-right: 120px !important;
|
||||||
|
padding-bottom: 20px !important;
|
||||||
|
}
|
||||||
|
.ask__container--content > div {
|
||||||
|
height: 56px;
|
||||||
|
line-height: 56px;
|
||||||
|
transition: 0.5s all;
|
||||||
|
}
|
||||||
|
.ask__container__lecturer--content > div {
|
||||||
|
height: 80px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
67
templates/courses.html
Normal file
67
templates/courses.html
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
{% block title %}Lista kursów{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="container header__container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col s12">
|
||||||
|
<div class="card color--primary white-text">
|
||||||
|
<span class="card-title">Lista kursów</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="container body__container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col s12">
|
||||||
|
<div class="card color--primary white-text">
|
||||||
|
<div class="card-content">
|
||||||
|
<span class="card-title card-title__body"></span>
|
||||||
|
<ul id="questions-list">
|
||||||
|
<li class="row">
|
||||||
|
<span class="col s7" style="display:flex; align-items:center; text-align: left">
|
||||||
|
Algorytmy Kombinatoryczne w Bioinformatyce
|
||||||
|
</span>
|
||||||
|
<a id="1" name="Algorytmy Kombinatoryczne w Bioinformatyce" class="col s3 btn--answer waves-effect waves-light btn-large red">OTWÓRZ</a>
|
||||||
|
</li>
|
||||||
|
<li class="row">
|
||||||
|
<span class="col s7" style="display:flex; align-items:center; text-align: left">
|
||||||
|
Optymalizacja kombinatoryczna
|
||||||
|
</span>
|
||||||
|
<a id="2" name="Optymalizacja kombinatoryczna" class="col s3 btn--answer waves-effect waves-light btn-large red">OTWÓRZ</a>
|
||||||
|
</li>
|
||||||
|
<li class="row" style="margin-bottom: 0">
|
||||||
|
<span class="col s7" style="display:flex; align-items:center; text-align: left">
|
||||||
|
Podstawy JavaScriptu dla programistów C#
|
||||||
|
</span>
|
||||||
|
<a id="3" name="Podstawy JavaScriptu dla programistów C#" class="col s3 btn--answer waves-effect waves-light btn-large red">OTWÓRZ</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block script %}
|
||||||
|
<script>
|
||||||
|
/////////// DO OGARNIĘCIA /////////////
|
||||||
|
$('.btn--answer').on('click', () => {
|
||||||
|
var link = '/lectures/' + event.target.id;
|
||||||
|
window.location.href = link;
|
||||||
|
/*
|
||||||
|
$.ajax({
|
||||||
|
url: link,
|
||||||
|
type: 'POST',
|
||||||
|
succes: function(response) {
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
alertify.notify('Pomyślnie oceniono pytanie', 'success', 3);
|
||||||
|
location.reload();
|
||||||
|
*/
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock %}
|
75
templates/lectures.html
Normal file
75
templates/lectures.html
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
{% block title %}Terminy wykładów{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="container header__container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col s12">
|
||||||
|
<div class="card color--primary white-text">
|
||||||
|
<span class="card-title">Nazwa wykładu</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="container body__container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col s12">
|
||||||
|
<div class="card color--primary white-text">
|
||||||
|
<div class="card-content">
|
||||||
|
<span class="card-title card-title__body">Pytania studentów</span>
|
||||||
|
<ul id="questions-list">
|
||||||
|
<li class="row">
|
||||||
|
<span class="date">
|
||||||
|
30.11.2018
|
||||||
|
</span>
|
||||||
|
<span class="col s7" style="display:flex; align-items:center; text-align: left">
|
||||||
|
Wykład o Piotrze
|
||||||
|
</span>
|
||||||
|
<a class="col s3 btn--answer waves-effect waves-light btn-large red">OTWÓRZ</a>
|
||||||
|
</li>
|
||||||
|
<li class="row">
|
||||||
|
<span class="date">
|
||||||
|
32.11.2018
|
||||||
|
</span>
|
||||||
|
<span class="col s7" style="display:flex; align-items:center; text-align: left">
|
||||||
|
Wykład o Szymonie
|
||||||
|
</span>
|
||||||
|
<a class="col s3 btn--answer waves-effect waves-light btn-large red">OTWÓRZ</a>
|
||||||
|
</li>
|
||||||
|
<li class="row" style="margin-bottom: 0">
|
||||||
|
<span class="date">
|
||||||
|
33.11.2018
|
||||||
|
</span>
|
||||||
|
<span class="col s7" style="display:flex; align-items:center; text-align: left">
|
||||||
|
Wykład o Pythonie
|
||||||
|
</span>
|
||||||
|
<a class="col s3 btn--answer waves-effect waves-light btn-large red">OTWÓRZ</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block script %}
|
||||||
|
<script>
|
||||||
|
/////////// DO OGARNIĘCIA /////////////
|
||||||
|
|
||||||
|
$('.btn--answer').on('click', () => {
|
||||||
|
window.location.href = "/student"
|
||||||
|
/*
|
||||||
|
$.ajax({
|
||||||
|
url: '/account',
|
||||||
|
type: 'POST',
|
||||||
|
succes: function(response) {
|
||||||
|
conosle.log(response)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
{% endblock %}
|
@ -4,7 +4,7 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container header__container">
|
<div class="container header__container">
|
||||||
<a href="/logout" id="btn--logout" class="btn-floating color--primary btn-small waves-effect waves-light" title="Wyloguj się"><i class="material-icons">power_settings_new</i></a>
|
<a href="/logout" id="btn--logout" class="btn-floating color--primary btn-small waves-effect waves-light" title="Wyloguj się"><i class="material-icons">power_settings_new</i></a>
|
||||||
<div class="row">
|
<div class="row" style="margin-top: 80px;">
|
||||||
<div class="col s12">
|
<div class="col s12">
|
||||||
<div class="card color--primary white-text">
|
<div class="card color--primary white-text">
|
||||||
<span class="card-title">Panel studenta</span>
|
<span class="card-title">Panel studenta</span>
|
||||||
@ -16,24 +16,22 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col s12">
|
<div class="col s12">
|
||||||
<div class="card color--primary white-text">
|
<div class="card color--primary white-text">
|
||||||
<div class="card-content">
|
<div class="card-content" style="padding-bottom: 0px">
|
||||||
<span class="card-title card-title__body">Pytania studentów</span>
|
<span class="card-title card-title__body">Pytania studentów</span>
|
||||||
<ul id="questions-list">
|
<ul id="questions-list">
|
||||||
{% for question in questions %}
|
{% for question in questions %}
|
||||||
<li>{{ question[3] }}<span class="counter"><i class="btn-thumb-up material-icons" id="{{ question[0] }}">thumb_up</i><span>{{ question[4] }}</span></span></li>
|
<li>
|
||||||
|
{{ question[3] }}
|
||||||
|
<span class="counter">
|
||||||
|
<i class="btn-thumb-up material-icons" id="{{ question[0] }}">thumb_up</i>
|
||||||
|
<span>{{ question[4] }}</span>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="ask__container--content">
|
||||||
</div>
|
<div class="col s12 modal-trigger red" id="ask-question" href="#modalAsk">Zadaj pytanie</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="container footer__container">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col s12">
|
|
||||||
<div class="card color--primary white-text">
|
|
||||||
<div class="card-content footer__container--content">
|
|
||||||
<div class="col s12 modal-trigger red" href="#modalAsk">Zadaj pytanie</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -59,7 +57,7 @@
|
|||||||
<form class="col s12">
|
<form class="col s12">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="input-field col s12">
|
<div class="input-field col s12">
|
||||||
<textarea id="textarea1" class="materialize-textarea", name ="questionText"></textarea>
|
<textarea id="textarea1" class="materialize-textarea" name ="questionText"></textarea>
|
||||||
<label for="textarea1">Tutaj wpisz swoje pytanie</label>
|
<label for="textarea1">Tutaj wpisz swoje pytanie</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user