commit
4005e008ca
24 changed files with 592 additions and 68 deletions
@ -0,0 +1,38 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
# Generated by Django 1.9.3 on 2017-07-11 17:04 |
||||||
|
from __future__ import unicode_literals |
||||||
|
|
||||||
|
import datetime |
||||||
|
from django.db import migrations, models |
||||||
|
import django.db.models.deletion |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
('courses', '0045_merge'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.CreateModel( |
||||||
|
name='Flow', |
||||||
|
fields=[ |
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||||
|
('title', models.CharField(max_length=255, verbose_name='Название')), |
||||||
|
('description', models.TextField(blank=True, default='', null=True, verbose_name='Описание')), |
||||||
|
('start_flow', models.DateTimeField(default=datetime.datetime.now, verbose_name='Дата начала потока')), |
||||||
|
('created', models.DateTimeField(default=datetime.datetime.now, editable=False, verbose_name='Создан')), |
||||||
|
('modified', models.DateTimeField(auto_now=True, verbose_name='Изменен')), |
||||||
|
('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='Курс')), |
||||||
|
], |
||||||
|
options={ |
||||||
|
'ordering': ['-modified'], |
||||||
|
'verbose_name_plural': 'Потоки', |
||||||
|
'verbose_name': 'Поток', |
||||||
|
}, |
||||||
|
), |
||||||
|
migrations.RemoveField( |
||||||
|
model_name='coursetheme', |
||||||
|
name='empty_old', |
||||||
|
), |
||||||
|
] |
||||||
@ -0,0 +1,19 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
# Generated by Django 1.9.3 on 2017-07-11 17:09 |
||||||
|
from __future__ import unicode_literals |
||||||
|
|
||||||
|
from django.db import migrations |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
('courses', '0046_auto_20170711_1704'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.RemoveField( |
||||||
|
model_name='course', |
||||||
|
name='public_old', |
||||||
|
), |
||||||
|
] |
||||||
@ -0,0 +1,5 @@ |
|||||||
|
from django import forms |
||||||
|
|
||||||
|
class UploadFileForm(forms.Form): |
||||||
|
service_id = forms.CharField(max_length=50, label=u'id услуги') |
||||||
|
file = forms.FileField() |
||||||
Binary file not shown.
@ -0,0 +1,238 @@ |
|||||||
|
{% extends 'base_index.html' %} |
||||||
|
{% block title %}Рабочий кабинет{% endblock %} |
||||||
|
{% block content %} |
||||||
|
<style type="text/css"> |
||||||
|
.functions{ |
||||||
|
width: 500px; |
||||||
|
} |
||||||
|
.themes, .homes, .password-change, .open-diplom{ |
||||||
|
width: 600px; |
||||||
|
height: auto; |
||||||
|
margin-left: 100px; |
||||||
|
border: 1px solid #000; |
||||||
|
margin-bottom: 5px; |
||||||
|
} |
||||||
|
.name{ |
||||||
|
width: 600px; |
||||||
|
height: 60px; |
||||||
|
line-height: 60px; |
||||||
|
color: #0c0c0c; |
||||||
|
font-size: 24px; |
||||||
|
font-style: bold; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
.input-block{ |
||||||
|
width: 100%; |
||||||
|
height: 60px; |
||||||
|
} |
||||||
|
form{ |
||||||
|
width: 450px; |
||||||
|
margin: auto; |
||||||
|
} |
||||||
|
input{ |
||||||
|
float: right; |
||||||
|
} |
||||||
|
textarea{ |
||||||
|
float: right; |
||||||
|
width: 200px; |
||||||
|
height: 300px; |
||||||
|
} |
||||||
|
.submit{ |
||||||
|
float: none; |
||||||
|
margin-left: 190px; |
||||||
|
margin-bottom: 20px; |
||||||
|
margin-top: 10px; |
||||||
|
} |
||||||
|
.responce{ |
||||||
|
font-size: 16px; |
||||||
|
font-style: bold; |
||||||
|
} |
||||||
|
.courses{ |
||||||
|
position: absolute; |
||||||
|
right: 300px; |
||||||
|
top: 70px; |
||||||
|
font-size: 18px; |
||||||
|
} |
||||||
|
</style> |
||||||
|
|
||||||
|
<div class="functions"> |
||||||
|
<div class="themes"> |
||||||
|
<div class="name">Открыть уроки</div> |
||||||
|
<form id='lessons'> |
||||||
|
<div class="input-block"> |
||||||
|
<span>Введите id пользователя</span> |
||||||
|
<input type="text" class="id-user" name='user' required> |
||||||
|
<div id='output-user'></div> |
||||||
|
</div> |
||||||
|
<div class="input-block"> |
||||||
|
<span>Введите id курса</span> |
||||||
|
<input type="text" class="id-course" name="course" required> |
||||||
|
<div class="output-course"></div> |
||||||
|
</div> |
||||||
|
<div class="input-block"> |
||||||
|
<span>Открыть домашки</span> |
||||||
|
<input type="checkbox" id="open-homes" name="homes"> |
||||||
|
</div> |
||||||
|
<div class="input-block"> |
||||||
|
<span>Отдельные темы</span> |
||||||
|
<input type="text" id="themes" name="themes"> |
||||||
|
</div> |
||||||
|
<div class="lresp responce"></div> |
||||||
|
<input type="submit" class='submit'> |
||||||
|
</form> |
||||||
|
</div> |
||||||
|
<div class="homes"> |
||||||
|
<div class="name">Открыть домашки</div> |
||||||
|
<form id='homes'> |
||||||
|
<div class="input-block"> |
||||||
|
<span>Введите id пользователя</span> |
||||||
|
<input type="text" class="id-user" name="user" required> |
||||||
|
<div id='output-user'></div> |
||||||
|
</div> |
||||||
|
<div class="input-block"> |
||||||
|
<span>Введите id курса</span> |
||||||
|
<input type="text" class="id-course" name="course" required> |
||||||
|
<div class="output-course"></div> |
||||||
|
</div> |
||||||
|
<div class="input-block"> |
||||||
|
<span>Отдельные темы</span> |
||||||
|
<input type="text" id="themes" name="themes"> |
||||||
|
</div> |
||||||
|
<div class="hresp responce"></div> |
||||||
|
<input type="submit" class='submit'> |
||||||
|
</form> |
||||||
|
</div> |
||||||
|
<div class="password-change"> |
||||||
|
<div class="name">Поменять пароль</div> |
||||||
|
<form id='pass'> |
||||||
|
<div class="input-block"> |
||||||
|
<span>Введите id пользователя</span> |
||||||
|
<input type="text" name="user" class="id-user"> |
||||||
|
<div id='output-user'></div> |
||||||
|
</div> |
||||||
|
<div class="input-block"> |
||||||
|
<span>Введите новый пароль</span> |
||||||
|
<input type="text" name="pass"> |
||||||
|
</div> |
||||||
|
<div class="presp responce"></div> |
||||||
|
<input type="submit" name="" class='submit'> |
||||||
|
</form> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="courses"> |
||||||
|
{% for c in courses %} |
||||||
|
<div class="course">{{ c.id }}: {{ c.title }}</div> |
||||||
|
{% endfor %} |
||||||
|
</div> |
||||||
|
|
||||||
|
<script type="text/javascript"> |
||||||
|
|
||||||
|
$('.id-user').on('focusout', function(){ |
||||||
|
outblock = $(this).next() |
||||||
|
value = $(this).val() |
||||||
|
console.log(value) |
||||||
|
$.ajax({ |
||||||
|
url: 'find_user/', |
||||||
|
type: 'GET', |
||||||
|
data: {'user': value }, |
||||||
|
success: function(data){ |
||||||
|
console.log(data) |
||||||
|
if (data == 0){ |
||||||
|
$(outblock).html('Пользователь не найден') // передлать элемент |
||||||
|
} |
||||||
|
else { |
||||||
|
$(outblock).html(data) |
||||||
|
} |
||||||
|
} |
||||||
|
}) |
||||||
|
}) |
||||||
|
|
||||||
|
$('.id-course').on('focusout', function(){ |
||||||
|
value = $(this).val() |
||||||
|
outblock = $(this).next() |
||||||
|
console.log(outblock) |
||||||
|
$.ajax({ |
||||||
|
url: 'find_course/', |
||||||
|
type: 'GET', |
||||||
|
data: {'course': value}, |
||||||
|
success: function(data){ |
||||||
|
if (data == 0){ |
||||||
|
$(outblock).html('Курс не найден') |
||||||
|
} |
||||||
|
else { |
||||||
|
$(outblock).html(data) |
||||||
|
} |
||||||
|
} |
||||||
|
}) |
||||||
|
}) |
||||||
|
|
||||||
|
$('#lessons').on('submit', function(event){ |
||||||
|
event.preventDefault() |
||||||
|
data = $(this).serialize() |
||||||
|
console.log(data) |
||||||
|
$.ajax({ |
||||||
|
url: 'open_lessons/', |
||||||
|
type: 'GET', |
||||||
|
data: data, |
||||||
|
success: function(data){ |
||||||
|
console.log(data) |
||||||
|
if (data == '0'){ |
||||||
|
$('.lresp').html('Не получается обработать данные') |
||||||
|
} |
||||||
|
if (data == '1'){ |
||||||
|
$('.lresp').html('Ошибка в работе') |
||||||
|
} |
||||||
|
if (data == '2'){ |
||||||
|
$('.lresp').html('Уроки открыты') |
||||||
|
} |
||||||
|
} |
||||||
|
}) |
||||||
|
}) |
||||||
|
$('#homes').on('submit', function(event){ |
||||||
|
event.preventDefault() |
||||||
|
data = $(this).serialize() |
||||||
|
console.log(data) |
||||||
|
$.ajax({ |
||||||
|
url: 'open_homes/', |
||||||
|
type: 'GET', |
||||||
|
data: data, |
||||||
|
success: function(data){ |
||||||
|
console.log(data) |
||||||
|
if (data == 0){ |
||||||
|
$('.hresp').html('Не получается обработать данные') |
||||||
|
} |
||||||
|
if (data == 1){ |
||||||
|
$('.hresp').html('Ошибка в работе') |
||||||
|
} |
||||||
|
if (data == 2){ |
||||||
|
$('.hresp').html('Домашки открыты') |
||||||
|
} |
||||||
|
} |
||||||
|
}) |
||||||
|
}) |
||||||
|
$('#pass').on('submit', function(event){ |
||||||
|
event.preventDefault() |
||||||
|
data = $(this).serialize() |
||||||
|
console.log(data) |
||||||
|
$.ajax({ |
||||||
|
url: 'change_pass/', |
||||||
|
type: 'GET', |
||||||
|
data: data, |
||||||
|
success: function(data){ |
||||||
|
console.log(data) |
||||||
|
if (data == 0){ |
||||||
|
$('.presp').html('Не получается обработать данные') |
||||||
|
} |
||||||
|
if (data == 1){ |
||||||
|
$('.presp').html('Ошибка в работе') |
||||||
|
} |
||||||
|
if (data == 2){ |
||||||
|
$('.presp').html('Пароль сменен') |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
}) |
||||||
|
}) |
||||||
|
</script> |
||||||
|
|
||||||
|
{% endblock %} |
||||||
@ -0,0 +1,14 @@ |
|||||||
|
{% extends 'base_index.html' %} |
||||||
|
{% block title %}Рабочий кабинет{% endblock %} |
||||||
|
{% block content %} |
||||||
|
<div class="name">Массовое открытие дипломов</div> |
||||||
|
<form enctype="multipart/form-data" method="post" > |
||||||
|
{% csrf_token %} |
||||||
|
<table> |
||||||
|
{{form.as_table}} |
||||||
|
</table> |
||||||
|
<div class="errors">{{ ERROR }}</div> |
||||||
|
<input type="submit" value="Submit" id="Save"/> |
||||||
|
</form> |
||||||
|
|
||||||
|
{% endblock %} |
||||||
Loading…
Reference in new issue