INQ-7 schema modfications and layout modifications

This commit is contained in:
DarkPete 2018-12-17 15:37:50 +01:00
parent 531d8f8f6b
commit a11afbfc17
7 changed files with 208 additions and 21 deletions

21
App.py
View File

@ -18,10 +18,7 @@ def home():
if not session.get('logged_in'):
return render_template('login.html')
else:
if session.get('user_type') == 'lecturer':
return redirect('/lecturer')
else:
return redirect('/student')
return redirect('/courses')
@app.route('/student',methods=['GET', 'POST'])
def student():
@ -74,6 +71,22 @@ def upvote(quest_id):
db.commit()
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__':
app.secret_key = os.urandom(12)

Binary file not shown.

View File

@ -15,7 +15,10 @@ CREATE TABLE question (
created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
question_text TEXT 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 (
@ -25,6 +28,13 @@ CREATE TABLE subject (
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 ('jassem','jassem',1);
INSERT INTO user (username, password, lecturer) VALUES ('user','user',0);

View File

@ -53,6 +53,7 @@ ul > li:not(:last-child) {
.counter {
display: flex;
align-items: center;
min-width: 60px;
}
.counter > i {
padding-right: 10px;
@ -159,10 +160,10 @@ ul > li:not(:last-child) {
width: 100%;
transition: 0.2s all;
}
.btn--answer {
.btn--answer, #ask-question {
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);
}
.forgot__text {
@ -202,3 +203,26 @@ ul > li:not(:last-child) {
#questions-list .row {
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
View 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
View 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 %}

View File

@ -4,7 +4,7 @@
{% block content %}
<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>
<div class="row">
<div class="row" style="margin-top: 80px;">
<div class="col s12">
<div class="card color--primary white-text">
<span class="card-title">Panel studenta</span>
@ -16,24 +16,22 @@
<div class="row">
<div class="col s12">
<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>
<ul id="questions-list">
{% 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 %}
</ul>
</div>
</div>
</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 class="ask__container--content">
<div class="col s12 modal-trigger red" id="ask-question" href="#modalAsk">Zadaj pytanie</div>
</div>
</div>
</div>
@ -59,7 +57,7 @@
<form class="col s12">
<div class="row">
<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>
</div>
</div>