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