parent
abf7720b93
commit
9f11f4c426
127 changed files with 508 additions and 13572 deletions
@ -0,0 +1,20 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.11.6 on 2017-10-19 11:49 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('access', '0002_auto_20171018_1437'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AlterField( |
||||
model_name='account', |
||||
name='gender', |
||||
field=models.SmallIntegerField(choices=[(1, 'male'), (2, 'female'), (0, 'undefined')], default=0), |
||||
), |
||||
] |
||||
@ -0,0 +1,20 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.11.6 on 2017-10-19 11:50 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('access', '0003_auto_20171019_1149'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AlterField( |
||||
model_name='account', |
||||
name='gender', |
||||
field=models.SmallIntegerField(choices=[(0, 'undefined'), (1, 'male'), (2, 'female')], default=0), |
||||
), |
||||
] |
||||
@ -0,0 +1,20 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.11.6 on 2017-10-19 12:41 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('access', '0004_auto_20171019_1150'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AlterField( |
||||
model_name='account', |
||||
name='gender', |
||||
field=models.SmallIntegerField(choices=[(1, 'male'), (0, 'undefined'), (2, 'female')], default=0), |
||||
), |
||||
] |
||||
@ -0,0 +1,20 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.11.6 on 2017-10-19 12:43 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('access', '0005_auto_20171019_1241'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AlterField( |
||||
model_name='account', |
||||
name='gender', |
||||
field=models.SmallIntegerField(choices=[(0, 'undefined'), (1, 'male'), (2, 'female')], default=0), |
||||
), |
||||
] |
||||
@ -0,0 +1 @@ |
||||
default_app_config = "config_app.apps.ConfigAppConfig" |
||||
@ -0,0 +1,7 @@ |
||||
# -*- coding: utf-8 -*- |
||||
from django.apps import AppConfig |
||||
|
||||
|
||||
class ConfigAppConfig(AppConfig): |
||||
name = "config_app" |
||||
verbose_name = "Конфиги" |
||||
@ -0,0 +1,25 @@ |
||||
from django.core.management.base import BaseCommand, CommandError |
||||
import os |
||||
import shutil |
||||
from django.conf import settings |
||||
|
||||
|
||||
class Command(BaseCommand): |
||||
help = 'Clear log files' |
||||
|
||||
def add_arguments(self, parser): |
||||
parser.add_argument( |
||||
'--log_name', |
||||
type=str, |
||||
default='__all__', |
||||
dest='log_name', |
||||
help='указать имя конкретного файла' |
||||
) |
||||
|
||||
def handle(self, *args, **options): |
||||
if options['log_name'] == '__all__': |
||||
shutil.rmtree(settings.BASE_DIR + '/logs') |
||||
os.mkdir(settings.BASE_DIR + '/logs') |
||||
|
||||
else: |
||||
os.remove(settings.BASE_DIR + '/logs/' + options['log_name']) |
||||
@ -0,0 +1,5 @@ |
||||
DEBUG=True |
||||
SECRET_KEY='!eiquy7_+2#vn3z%zfp51$m-=tmvtcv*cj*@x$!v(_9btq0w=$' |
||||
DATABASE_URL='psql://team:nu5Xefise@127.0.0.1:5432/new_lms' |
||||
EMAIL_URL='smtp+tls://robo@skillbox.ru:nu5Xefise@smtp.gmail.com:587' |
||||
CACHE_URL=rediscache://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient |
||||
@ -0,0 +1,5 @@ |
||||
DEBUG=False |
||||
SECRET_KEY='!eiquy7_+2#vn3z%zfp51$m-=tmvtcv*cj*@x$!v(_9btq0w=$' |
||||
DATABASE_URL='psql://team:nu5Xefise@127.0.0.1:5432/new_lms' |
||||
EMAIL_URL='smtp+tls://robo@skillbox.ru:nu5Xefise@smtp.gmail.com:587' |
||||
CACHE_URL=rediscache://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient |
||||
@ -0,0 +1,5 @@ |
||||
DEBUG=True |
||||
SECRET_KEY='!eiquy7_+2#vn3z%zfp51$m-=tmvtcv*cj*@x$!v(_9btq0w=$' |
||||
DATABASE_URL='psql://team:nu5Xefise@127.0.0.1:5432/new_lms' |
||||
EMAIL_URL='smtp+tls://9ae31a1a770138:a7d79ee373a14c@smtp.mailtrap.io:2525' |
||||
CACHE_URL=rediscache://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient |
||||
@ -0,0 +1,7 @@ |
||||
[program:celery] |
||||
command=/home/andrey/skillbox/bin/celery -A lms worker -l=info |
||||
directory=/home/andrey/skillbox/go.skillbox.ru |
||||
user=andrey |
||||
stdout_logfile=/home/andrey/skillbox/go.skillbox.ru/logs/celery.log |
||||
autorestart=true |
||||
redirect_stderr=true |
||||
@ -0,0 +1,7 @@ |
||||
[program:flower] |
||||
command=/home/andrey/skillbox/bin/celery -A lms flower -l=info |
||||
directory=/home/andrey/skillbox/go.skillbox.ru |
||||
user=andrey |
||||
stdout_logfile=/home/andrey/skillbox/go.skillbox.ru/logs/flower.log |
||||
autorestart=true |
||||
redirect_stderr=true |
||||
@ -0,0 +1,7 @@ |
||||
[program:schedule] |
||||
command=/home/andrey/skillbox/bin/celery -A lms beat -l=info |
||||
directory=/home/andrey/skillbox/go.skillbox.ru |
||||
user=andrey |
||||
stdout_logfile=/home/andrey/skillbox/go.skillbox.ru/logs/schedule.log |
||||
autorestart=true |
||||
redirect_stderr=true |
||||
@ -1,77 +1,79 @@ |
||||
# coding=utf-8 |
||||
from celery.task import periodic_task |
||||
from datetime import timedelta, datetime |
||||
|
||||
from celery.task import periodic_task |
||||
from django.core.files import File |
||||
from access.models import User |
||||
from journals.models import ExamTry, HomeworkTry, DiplomaJ |
||||
from management.letters import sent_new_expired |
||||
from lms.settings import TEACHER |
||||
|
||||
|
||||
@periodic_task(run_every=timedelta(hours=1)) |
||||
def check_expired(): |
||||
# Проверка просроченых задач преподавателя |
||||
for res in (ExamTry.objects.filter(f_date=None).exclude(expired=True), |
||||
HomeworkTry.objects.filter(f_date=None).exclude(expired=True)): |
||||
for _try in res: |
||||
if _try.parent.get_status_flag() not in ['N', 'F']: |
||||
# Проверка экзамена |
||||
if _try.date + timedelta(days=1) < datetime.now(): |
||||
_try.expired = True |
||||
_try.save() |
||||
for user in User.objects.filter(in_role='S2'): |
||||
sent_new_expired(_try, user.email) |
||||
|
||||
|
||||
@periodic_task(run_every=timedelta(minutes=1)) |
||||
def check_robo_prep(): |
||||
teacher = User.objects.get(email=TEACHER) |
||||
handler = [] |
||||
for journal in HomeworkTry.objects.filter(teacher=teacher, f_date=None).exclude(success=True, date=None).order_by( |
||||
'date'): |
||||
if journal.parent.get_status_flag not in ['N', 'F']: |
||||
handler.append(journal) |
||||
|
||||
for journal in ExamTry.objects.filter(teacher=teacher, f_date=None).exclude(success=True, date=None).order_by( |
||||
'date'): |
||||
if journal.parent.get_status_flag not in ['N', 'F']: |
||||
handler.append(journal) |
||||
|
||||
print(handler) |
||||
for _tr in handler: |
||||
for _cm in _tr.comments.all(): |
||||
s = False |
||||
print(_cm.text) |
||||
if 'GO_TO_SUCCESS' in _cm.text: |
||||
_tr.success = True |
||||
_tr.f_date = datetime.now() |
||||
s = True |
||||
elif 'GO_TO_FAIL' in _cm.text: |
||||
_tr.f_date = datetime.now() |
||||
s = True |
||||
if s: |
||||
_tr.save() |
||||
from access.models import User |
||||
from journals.models import ExamTry, HomeworkTry, DiplomaJ |
||||
from settings.settings import TEACHER |
||||
|
||||
|
||||
# @periodic_task(run_every=timedelta(hours=1)) |
||||
# def check_expired(): |
||||
# # Проверка просроченых задач преподавателя |
||||
# for res in (ExamTry.objects.filter(f_date=None).exclude(expired=True), |
||||
# HomeworkTry.objects.filter(f_date=None).exclude(expired=True)): |
||||
# for _try in res: |
||||
# if _try.parent.get_status_flag() not in ['N', 'F']: |
||||
# # Проверка экзамена |
||||
# if _try.date + timedelta(days=1) < datetime.now(): |
||||
# _try.expired = True |
||||
# _try.save() |
||||
# for user in User.objects.filter(in_role='S2'): |
||||
# sent_new_expired(_try, user.email) |
||||
# |
||||
# |
||||
# @periodic_task(run_every=timedelta(minutes=1)) |
||||
# def check_robo_prep(): |
||||
# teacher = User.objects.get(email=TEACHER) |
||||
# handler = [] |
||||
# for journal in HomeworkTry.objects.filter(teacher=teacher, f_date=None).exclude(success=True, date=None).order_by( |
||||
# 'date'): |
||||
# if journal.parent.get_status_flag not in ['N', 'F']: |
||||
# handler.append(journal) |
||||
# |
||||
# for journal in ExamTry.objects.filter(teacher=teacher, f_date=None).exclude(success=True, date=None).order_by( |
||||
# 'date'): |
||||
# if journal.parent.get_status_flag not in ['N', 'F']: |
||||
# handler.append(journal) |
||||
# |
||||
# print(handler) |
||||
# for _tr in handler: |
||||
# for _cm in _tr.comments.all(): |
||||
# s = False |
||||
# print(_cm.text) |
||||
# if 'GO_TO_SUCCESS' in _cm.text: |
||||
# _tr.success = True |
||||
# _tr.f_date = datetime.now() |
||||
# s = True |
||||
# elif 'GO_TO_FAIL' in _cm.text: |
||||
# _tr.f_date = datetime.now() |
||||
# s = True |
||||
# if s: |
||||
# _tr.save() |
||||
# |
||||
# |
||||
# #@periodic_task(run_every=timedelta(minutes=3)) |
||||
# #def block_warning(): |
||||
# # for tm in CourseThemeJ.objects.filter(material__empty=True): |
||||
# # for n in CourseThemeJ.objects.filter(material__sort__gte=tm.material.sort-1, f_date=None).exclude(date=None): |
||||
# # for u in User.objects.filter(in_role='A'): |
||||
# # letters.block_warning(n, n.material.course.get_title(), u) |
||||
# |
||||
# |
||||
# @periodic_task(run_every=timedelta(minutes=3)) |
||||
#def block_warning(): |
||||
# for tm in CourseThemeJ.objects.filter(material__empty=True): |
||||
# for n in CourseThemeJ.objects.filter(material__sort__gte=tm.material.sort-1, f_date=None).exclude(date=None): |
||||
# for u in User.objects.filter(in_role='A'): |
||||
# letters.block_warning(n, n.material.course.get_title(), u) |
||||
|
||||
|
||||
@periodic_task(run_every=timedelta(minutes=3)) |
||||
def gen_in_diploma(): |
||||
for tm in DiplomaJ.objects.filter(gen=False): |
||||
if not tm.out_image or not tm.in_image: |
||||
_in, _out = tm.draw_key(*tm.draw_name(*tm.draw_date())) |
||||
if _in: |
||||
_in = open(_in, 'rb') |
||||
tm.in_image.save(File(_in).name, File(_in), save=True) |
||||
|
||||
if _out: |
||||
_out = open(_out, 'rb') |
||||
tm.out_image.save(File(_out).name, File(_out), save=True) |
||||
tm.gen = True |
||||
tm.save() |
||||
# def gen_in_diploma(): |
||||
# for tm in DiplomaJ.objects.filter(gen=False): |
||||
# if not tm.out_image or not tm.in_image: |
||||
# _in, _out = tm.draw_key(*tm.draw_name(*tm.draw_date())) |
||||
# if _in: |
||||
# _in = open(_in, 'rb') |
||||
# tm.in_image.save(File(_in).name, File(_in), save=True) |
||||
# |
||||
# if _out: |
||||
# _out = open(_out, 'rb') |
||||
# tm.out_image.save(File(_out).name, File(_out), save=True) |
||||
# tm.gen = True |
||||
# tm.save() |
||||
|
||||
@ -0,0 +1,7 @@ |
||||
from __future__ import absolute_import, unicode_literals |
||||
|
||||
# This will make sure the app is always imported when |
||||
# Django starts so that shared_task will use this app. |
||||
from lms.celery import app as celery_app |
||||
|
||||
__all__ = ['celery_app'] |
||||
@ -0,0 +1,23 @@ |
||||
from __future__ import absolute_import, unicode_literals |
||||
import os |
||||
from celery import Celery |
||||
from raven import Client |
||||
from raven.contrib.celery import register_signal, register_logger_signal |
||||
|
||||
# set the default Django settings module for the 'celery' program. |
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'lms.settings') |
||||
|
||||
app = Celery('lms') |
||||
|
||||
app.config_from_object('django.conf:settings', namespace='CELERY') |
||||
|
||||
app.autodiscover_tasks() |
||||
|
||||
client = Client('http://caaea487274f4e23a9107862484c79f3:3d463ad4717942508536f7a659921950@sentry.skillbox.ru/3') |
||||
register_logger_signal(client) |
||||
register_signal(client) |
||||
|
||||
|
||||
@app.task(bind=True) |
||||
def debug_task(self): |
||||
print('Request: {0!r}'.format(self.request)) |
||||
@ -1,5 +1,6 @@ |
||||
from django.contrib import admin |
||||
|
||||
from management.models import Comment |
||||
from management.models import Comment, Like |
||||
|
||||
admin.site.register(Comment) |
||||
admin.site.register(Like) |
||||
@ -1 +0,0 @@ |
||||
default_app_config = "service.apps.ServiceAppConfig" |
||||
@ -1,5 +0,0 @@ |
||||
from django.contrib import admin |
||||
from service.models import MailBox, MailTemplate |
||||
|
||||
admin.site.register(MailBox) |
||||
admin.site.register(MailTemplate) |
||||
@ -1,7 +0,0 @@ |
||||
# -*- coding: utf-8 -*- |
||||
from django.apps import AppConfig |
||||
|
||||
|
||||
class ServiceAppConfig(AppConfig): |
||||
name = "service" |
||||
verbose_name = "Сервис" |
||||
@ -1,46 +0,0 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.11.6 on 2017-10-18 14:37 |
||||
from __future__ import unicode_literals |
||||
|
||||
import datetime |
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
initial = True |
||||
|
||||
dependencies = [ |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.CreateModel( |
||||
name='MailBox', |
||||
fields=[ |
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('status', models.CharField(choices=[('Q', 'На очереди'), ('S', 'Отправлен'), ('E', 'Ошибка отправки'), ('D', 'Доставлен'), ('F', 'Ошибка доставки')], default='Q', max_length=1, verbose_name='Статус письма')), |
||||
('send_to', models.EmailField(max_length=254, verbose_name='Почта')), |
||||
('error_text', models.TextField(blank=True, verbose_name='Текст ошибки')), |
||||
('sent_date', models.DateTimeField(default=datetime.datetime.now, verbose_name='Время отправки')), |
||||
('title', models.CharField(max_length=255, verbose_name='Заголовок письма')), |
||||
('text', models.TextField(editable=False, verbose_name='Текст отправки')), |
||||
], |
||||
options={ |
||||
'verbose_name': 'Письмо', |
||||
'verbose_name_plural': 'Письма', |
||||
}, |
||||
), |
||||
migrations.CreateModel( |
||||
name='MailTemplate', |
||||
fields=[ |
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('title', models.CharField(max_length=255, verbose_name='Название шаблона')), |
||||
('text', models.TextField(default='', verbose_name='Шаблон')), |
||||
('kwarg', models.TextField(default='', verbose_name='Пораметры для шаблона')), |
||||
], |
||||
options={ |
||||
'verbose_name': 'Шаблон письма', |
||||
'verbose_name_plural': 'Шаблоны писем', |
||||
}, |
||||
), |
||||
] |
||||
@ -1,41 +0,0 @@ |
||||
# coding=utf-8 |
||||
from __future__ import unicode_literals |
||||
import datetime |
||||
|
||||
from django.db import models |
||||
|
||||
|
||||
class MailTemplate(models.Model): |
||||
title = models.CharField(verbose_name='Название шаблона', max_length=255) |
||||
text = models.TextField(verbose_name='Шаблон', default='') |
||||
kwarg = models.TextField(verbose_name='Пораметры для шаблона', default='') |
||||
|
||||
def __str__(self): |
||||
return '%s' % self.title |
||||
|
||||
class Meta: |
||||
verbose_name = u'Шаблон письма' |
||||
verbose_name_plural = u'Шаблоны писем' |
||||
|
||||
|
||||
class MailBox(models.Model): |
||||
MAIL_STATUS = ( |
||||
('Q', 'На очереди'), |
||||
('S', 'Отправлен'), |
||||
('E', 'Ошибка отправки'), |
||||
('D', 'Доставлен'), |
||||
('F', 'Ошибка доставки') |
||||
) |
||||
status = models.CharField(verbose_name='Статус письма', choices=MAIL_STATUS, default='Q', max_length=1) |
||||
send_to = models.EmailField(verbose_name='Почта') |
||||
error_text = models.TextField(verbose_name='Текст ошибки', blank=True) |
||||
sent_date = models.DateTimeField(verbose_name='Время отправки', default=datetime.datetime.now) |
||||
title = models.CharField(verbose_name='Заголовок письма', max_length=255) |
||||
text = models.TextField(verbose_name='Текст отправки', editable=False) |
||||
|
||||
def __str__(self): |
||||
return '%s %s' % (self.send_to, self.get_status_display()) |
||||
|
||||
class Meta: |
||||
verbose_name = 'Письмо' |
||||
verbose_name_plural = 'Письма' |
||||
@ -1,9 +0,0 @@ |
||||
import datetime |
||||
from celery.task import periodic_task |
||||
from service.models import MailBox |
||||
|
||||
|
||||
@periodic_task(run_every=datetime.timedelta(minutes=1)) |
||||
def mailbox_send(): |
||||
for box in MailBox.objects.filter(queue_date__lte=datetime.datetime.now(), status__in=['Q', 'W']).order_by('-queue_date'): |
||||
box.send_letter() |
||||
@ -1,280 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="ru"> |
||||
<head> |
||||
<meta charset="UTF-8"> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> |
||||
<title>404</title> |
||||
<script type="text/javascript" src='/static/js/jquery.min.js'></script> |
||||
<script src="/static/js/theater.min.js"></script> |
||||
<link rel="stylesheet" href="/static/css/bootstrap.min.css" type="text/css" /> |
||||
<script type="text/javascript" src='/static/js/bootstrap.min.js'></script> |
||||
<link rel="shortcut icon" href="/static/img/favicon.ico" type="image/x-icon"> |
||||
<link rel="icon" href="/static/img/favicon.ico" type="image/x-icon"> |
||||
<meta name="description" content="{{ NAME }}" /> |
||||
<meta property="og:title" content="{{ NAME }}" /> |
||||
<meta property="og:description" content="{{ NAME }}" /> |
||||
<meta property="og:image" content="{{ DOMAIN }}static/img/3818cc0ec1.png" /> |
||||
<style> |
||||
@font-face{font-family:'FiraSans';src:url('/static/fonts/FiraSans-Heavy.otf');} |
||||
@font-face{font-family:'Cutive';src:url('/static/fonts/cour.ttf');} |
||||
.header__video-wrapp { |
||||
position:absolute; |
||||
top:0; |
||||
left: 0; |
||||
right: 0; |
||||
bottom: 0; |
||||
overflow: hidden; |
||||
|
||||
} |
||||
.header__video-box { |
||||
position: absolute; |
||||
top:0; |
||||
left: 50%; |
||||
height: 100%; |
||||
} |
||||
.header__video { |
||||
display: inline-block; |
||||
transform: translateX(-50%); |
||||
min-height: 100%; |
||||
min-width: 100%; |
||||
} |
||||
.videoWrapper { |
||||
position: relative; |
||||
padding-bottom: 56.25%; |
||||
padding-top: 25px; |
||||
height: 0; |
||||
} |
||||
.videoWrapper iframe { |
||||
position: absolute; |
||||
top: 0; |
||||
left: 0; |
||||
width: 100%; |
||||
height: 100%; |
||||
} |
||||
</style> |
||||
<script> |
||||
$(document).ready(function(){ |
||||
if ($(window).width() > 500) { |
||||
$('.header__video-box').fadeIn('slow'); |
||||
$('body').css('background', '#000'); |
||||
setTimeout(obves, 3000) |
||||
} else { |
||||
$('img').css('left', 30).css('top', 50).fadeIn('slow'); |
||||
$('[name=error]').css('left', 40).css('bottom', 50).fadeIn('slow'); |
||||
$('[name=dialog]').css('top', '30%').fadeIn('slow'); |
||||
$('.actor__content').css('width', 270).css('font-size', 15).css('font-weight', 'bold').css('text-align', 'center').css('background', '#000'); |
||||
$('.actor__prefix').hide(); |
||||
|
||||
} |
||||
|
||||
}); |
||||
window.onresize = function(){ |
||||
obves() |
||||
}; |
||||
function obves(){ |
||||
var left = $('video.header__video').offset().left; |
||||
if (left < 0){ |
||||
left = 30 |
||||
} |
||||
if ($(window).width() > 500) { |
||||
$('img').css('left', left + 50).fadeIn('slow', function () { |
||||
$('[name=dialog]').css('left', left + 50); |
||||
$('[name=dialog]').css('top', $('img').offset().top + 100).fadeIn('slow'); |
||||
$('[name=error]').css('left', left + 50); |
||||
$('[name=error]').css('top', $('video.header__video').height() - ($('[name=error]').height() + 100)).fadeIn('slow') |
||||
} |
||||
); |
||||
} else { |
||||
$('img').css('left', 30).css('top', 50).fadeIn('slow'); |
||||
$('[name=error]').css('left', 40).css('bottom', 50).fadeIn('slow'); |
||||
|
||||
} |
||||
|
||||
} |
||||
|
||||
</script> |
||||
</head> |
||||
<body style="text-align: center;background-image: url('/static/img/404.gif');background-size: cover;background-position: center;" class="scene"> |
||||
<div style="width: 100%;text-align: center;"> |
||||
<a href="/"><img src="/static/img/logowhite.png" style="position: absolute; top: 100px;z-index: 3000;display: none;"></a> |
||||
</div> |
||||
<div class="header__video-wrapp"> |
||||
<div class="header__video-box" style="display: none;"> |
||||
<video class="header__video" id='header__video' autoplay preload loop muted> |
||||
<source src='/static/video/404.webm' type="video/webm"> |
||||
<source src="/static/video/404.ogv" type="video/ogg"/> |
||||
<source src='/static/video/404.mp4' type="video/mp4"> |
||||
</video> |
||||
</div> |
||||
</div> |
||||
|
||||
<div name="error" style="z-index: 3000; |
||||
position: absolute;margin: 0;display: none;"> |
||||
<h1 style="font-size: 150px;color:#fff;font-family: FiraSans;letter-spacing: -10px;margin: 0;line-height: 100px;text-align: left;">404</h1> |
||||
<span style="font-size: 20px; color: #f8b539;font-weight: bold; |
||||
float: left;padding-left: 10px;">{% if request.GET.error %}{{ request.GET.error }}{% else %}error{% endif %}</span> |
||||
</div> |
||||
<script> |
||||
|
||||
|
||||
|
||||
/* |
||||
* TheaterJS, a typing effect mimicking human behavior. |
||||
* |
||||
* Github repository: |
||||
* https://github.com/Zhouzi/TheaterJS |
||||
* |
||||
*/ |
||||
|
||||
var theater = theaterJS(); |
||||
|
||||
theater |
||||
.on('type:start, erase:start', function () { |
||||
theater.getCurrentActor().$element.classList.add('actor__content--typing') |
||||
}) |
||||
.on('type:end, erase:end', function () { |
||||
theater.getCurrentActor().$element.classList.remove('actor__content--typing') |
||||
}) |
||||
.on('type:start, erase:start', function () { |
||||
|
||||
}); |
||||
start_time = get_start_time(); |
||||
function get_start_time(){ |
||||
if ($(window).width() > 500) { |
||||
return 4500 |
||||
} else { |
||||
return 1000 |
||||
} |
||||
} |
||||
theater |
||||
.addActor('vader', { speed: 1, accuracy: 0.6 }) |
||||
.addActor('luke') |
||||
.addScene('vader:', start_time) |
||||
.addScene('vader:Ты попал на эту страницу', 100) |
||||
.addScene('vader:в очень странный период моей жизни...', 800) |
||||
.addScene('luke:Что происходит?!', 800) |
||||
.addScene('vader:Ты сломал наш сервис', 400) |
||||
.addScene('luke:И что теперь делать?', 600) |
||||
.addScene('luke:Когда все починится?', 400) |
||||
.addScene('vader:Мы уже решаем эту проблему', 1600) |
||||
.addScene('vader:Ей конкретно занимается <b>Николай</b>', 1600) |
||||
.addScene('vader:Ты можешь перейти на <a href="/" target="__blank">главную страницу</a>', 1000) |
||||
.addScene('luke:Что мне там делать?', 600) |
||||
.addScene('vader:Можешь и там что-нибудь сломать', 600) |
||||
.addScene('vader:Тут сломал и там сломай.', 1600) |
||||
.addScene('vader:Если проблема долго не решится', 800) |
||||
.addScene('vader:Можешь написать на support@' + location.host, 1600) |
||||
.addScene('luke:Хорошо, спасибо', 600) |
||||
.addScene('vader:Если что -> <a href="/">главная страница</a>', 800) |
||||
</script> |
||||
<style> |
||||
*, |
||||
*:before, |
||||
*:after { |
||||
box-sizing: inherit; |
||||
} |
||||
|
||||
html, |
||||
body { |
||||
padding: 0; |
||||
margin: 0; |
||||
} |
||||
|
||||
html { |
||||
font-size: 14px; |
||||
height: 100%; |
||||
box-sizing: border-box; |
||||
} |
||||
|
||||
body { |
||||
font-family: "Cutive", serif; |
||||
font-size: 1rem; |
||||
line-height: 1.4; |
||||
color: #222; |
||||
background-color: #ededed; |
||||
-webkit-transition: background-color 150ms ease-out, color 150ms ease-out; |
||||
transition: background-color 150ms ease-out, color 150ms ease-out; |
||||
} |
||||
|
||||
.dark { |
||||
color: #ededed; |
||||
background-color: #222; |
||||
} |
||||
|
||||
a { |
||||
color: inherit; |
||||
text-decoration: none; |
||||
border-bottom: 1px solid; |
||||
} |
||||
a:focus, a:hover { |
||||
box-shadow: inset 0 -8px 0 #c92b2b; |
||||
} |
||||
|
||||
p { |
||||
opacity: .6; |
||||
margin: 0 0 .6rem 0; |
||||
-webkit-transition: opacity 300ms ease-out; |
||||
transition: opacity 300ms ease-out; |
||||
} |
||||
p:hover { |
||||
opacity: 1; |
||||
} |
||||
|
||||
.scene { |
||||
padding: 6rem 2rem; |
||||
max-width: 800px; |
||||
margin: 0 auto; |
||||
} |
||||
|
||||
.actor { |
||||
font-size: 1.8rem; |
||||
display: -webkit-box; |
||||
display: -webkit-flex; |
||||
display: -ms-flexbox; |
||||
display: flex; |
||||
margin-bottom: 2rem; |
||||
color: #fff; |
||||
} |
||||
.actor:last-of-type { |
||||
margin-bottom: 6rem; |
||||
} |
||||
|
||||
.actor__content { |
||||
-webkit-box-flex: 1; |
||||
-webkit-flex-grow: 1; |
||||
-ms-flex-positive: 1; |
||||
flex-grow: 1; |
||||
width: 600px; |
||||
text-align: left; |
||||
} |
||||
.actor__prefix{ |
||||
font-weight: bold; |
||||
font-size: 25px; |
||||
margin-right: 10px; |
||||
} |
||||
@-webkit-keyframes blink { |
||||
from { |
||||
opacity: 0; |
||||
} |
||||
to { |
||||
opacity: 1; |
||||
} |
||||
} |
||||
|
||||
@keyframes blink { |
||||
from { |
||||
opacity: 0; |
||||
} |
||||
to { |
||||
opacity: 1; |
||||
} |
||||
} |
||||
.actor__content--typing::after { |
||||
content: '|'; |
||||
-webkit-animation: blink 500ms infinite; |
||||
animation: blink 500ms infinite; |
||||
} |
||||
|
||||
</style> |
||||
</body> |
||||
</html> |
||||
@ -1,291 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="ru"> |
||||
<head> |
||||
<meta charset="UTF-8"> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> |
||||
<title>500</title> |
||||
<script type="text/javascript" src='/static/js/jquery.min.js'></script> |
||||
<script src="/static/js/theater.min.js"></script> |
||||
<link rel="stylesheet" href="/static/css/bootstrap.min.css" type="text/css" /> |
||||
<script type="text/javascript" src='/static/js/bootstrap.min.js'></script> |
||||
|
||||
<link rel="shortcut icon" href="/static/img/favicon.ico" type="image/x-icon"> |
||||
<link rel="icon" href="/static/img/favicon.ico" type="image/x-icon"> |
||||
<meta name="description" content="{{ NAME }}" /> |
||||
<meta property="og:title" content="{{ NAME }}" /> |
||||
<meta property="og:description" content="{{ NAME }}" /> |
||||
<meta property="og:image" content="{{ DOMAIN }}static/img/3818cc0ec1.png" /> |
||||
<style> |
||||
@font-face{font-family:'FiraSans';src:url('/static/fonts/FiraSans-Heavy.otf');} |
||||
@font-face{font-family:'Cutive';src:url('/static/fonts/cour.ttf');} |
||||
.header__video-wrapp { |
||||
position:absolute; |
||||
top:0; |
||||
left: 0; |
||||
right: 0; |
||||
bottom: 0; |
||||
overflow: hidden; |
||||
|
||||
} |
||||
.header__video-box { |
||||
position: absolute; |
||||
top:0; |
||||
left: 50%; |
||||
height: 100%; |
||||
} |
||||
.header__video { |
||||
display: inline-block; |
||||
transform: translateX(-50%); |
||||
min-height: 100%; |
||||
min-width: 100%; |
||||
} |
||||
.videoWrapper { |
||||
position: relative; |
||||
padding-bottom: 56.25%; |
||||
padding-top: 25px; |
||||
height: 0; |
||||
} |
||||
.videoWrapper iframe { |
||||
position: absolute; |
||||
top: 0; |
||||
left: 0; |
||||
width: 100%; |
||||
height: 100%; |
||||
} |
||||
</style> |
||||
<script> |
||||
$(document).ready(function(){ |
||||
if ($(window).width() > 500) { |
||||
$('.header__video-box').fadeIn('slow'); |
||||
$('body').css('background', '#000'); |
||||
setTimeout(obves, 3000) |
||||
} else { |
||||
$('img').css('left', 30).css('top', 50).fadeIn('slow'); |
||||
$('[name=error]').css('left', 40).css('bottom', 50).fadeIn('slow'); |
||||
$('[name=dialog]').css('top', '30%').fadeIn('slow'); |
||||
$('.actor__content').css('width', 270).css('font-size', 15).css('font-weight', 'bold').css('text-align', 'center').css('background', '#000'); |
||||
$('.actor__prefix').hide(); |
||||
|
||||
} |
||||
|
||||
}); |
||||
window.onresize = function(){ |
||||
obves() |
||||
}; |
||||
function obves(){ |
||||
var left = $('video.header__video').offset().left; |
||||
if (left < 0){ |
||||
left = 30 |
||||
} |
||||
if ($(window).width() > 500) { |
||||
$('img').css('left', left + 50).fadeIn('slow', function () { |
||||
$('[name=dialog]').css('left', left + 50); |
||||
$('[name=dialog]').css('top', $('img').offset().top + 150).fadeIn('slow'); |
||||
$('[name=error]').css('left', left + 50); |
||||
$('[name=error]').css('top', $('video.header__video').height() - ($('[name=error]').height() + 150)).fadeIn('slow') |
||||
} |
||||
); |
||||
} else { |
||||
$('img').css('left', 30).css('top', 50).fadeIn('slow'); |
||||
$('[name=error]').css('left', 40).css('bottom', 50).fadeIn('slow'); |
||||
|
||||
} |
||||
|
||||
} |
||||
|
||||
</script> |
||||
</head> |
||||
<body style="text-align: center;background-image: url('/static/img/500bg.png');background-size: cover;background-position: center;" class="scene"> |
||||
<div style="width: 100%;text-align: center;"> |
||||
<a href="/"><img src="/static/img/logowhite.png" style="position: absolute; top: 150px;z-index: 3000;display: none;"></a> |
||||
</div> |
||||
<div class="header__video-wrapp"> |
||||
<div class="header__video-box" style="display: none;"> |
||||
<video class="header__video" id='header__video' autoplay preload loop muted> |
||||
<source src='/static/video/500.webm' type="video/webm"> |
||||
<source src="/static/video/500.ogv" type="video/ogg"/> |
||||
<source src='/static/video/500.mp4' type="video/mp4"> |
||||
</video> |
||||
</div> |
||||
</div> |
||||
<div name="dialog" style="position: absolute;display: none;"> |
||||
<div class="actor" style="z-index: 3000;position: absolute;"> |
||||
<div class="actor__prefix">-</div> |
||||
<div id="vader" class="actor__content"></div> |
||||
</div> |
||||
|
||||
<div class="actor" style="z-index: 3000;position: absolute; margin-top: 50px;"> |
||||
<div class="actor__prefix">-</div> |
||||
<div id="luke" class="actor__content"></div> |
||||
</div> |
||||
</div> |
||||
<div name="error" style="z-index: 3000; |
||||
position: absolute;margin: 0;display: none;"> |
||||
<h1 style="font-size: 150px;color:#fff;font-family: FiraSans;letter-spacing: -10px;margin: 0;line-height: 100px;">500</h1> |
||||
<span style="font-size: 20px; color: #f8b539; |
||||
float: left;padding-left: 10px;">error</span> |
||||
</div> |
||||
<script> |
||||
|
||||
|
||||
|
||||
/* |
||||
* TheaterJS, a typing effect mimicking human behavior. |
||||
* |
||||
* Github repository: |
||||
* https://github.com/Zhouzi/TheaterJS |
||||
* |
||||
*/ |
||||
|
||||
var theater = theaterJS(); |
||||
|
||||
theater |
||||
.on('type:start, erase:start', function () { |
||||
theater.getCurrentActor().$element.classList.add('actor__content--typing') |
||||
}) |
||||
.on('type:end, erase:end', function () { |
||||
theater.getCurrentActor().$element.classList.remove('actor__content--typing') |
||||
}) |
||||
.on('type:start, erase:start', function () { |
||||
|
||||
}); |
||||
start_time = get_start_time(); |
||||
function get_start_time(){ |
||||
if ($(window).width() > 500) { |
||||
return 4500 |
||||
} else { |
||||
return 1000 |
||||
} |
||||
} |
||||
theater |
||||
.addActor('vader', { speed: 1, accuracy: 0.6 }) |
||||
.addActor('luke') |
||||
.addScene('vader:', start_time) |
||||
.addScene('vader:Ты попал на эту страницу', 100) |
||||
.addScene('vader:в очень странный период моей жизни...', 800) |
||||
.addScene('luke:Что происходит?!', 800) |
||||
.addScene('vader:Ты сломал наш сервис', 400) |
||||
.addScene('luke:И что теперь делать?', 600) |
||||
.addScene('luke:Когда все починится?', 400) |
||||
.addScene('vader:Мы уже решаем эту проблему', 1600) |
||||
.addScene('vader:Ей конкретно занимается <b>Николай</b>', 1600) |
||||
.addScene('vader:Ты можешь перейти на <a href="/" target="__blank">главную страницу</a>', 1000) |
||||
.addScene('luke:Что мне там делать?', 600) |
||||
.addScene('vader:Можешь и там что-нибудь сломать', 600) |
||||
.addScene('vader:Тут сломал и там сломай.', 1600) |
||||
.addScene('vader:Если проблема долго не решится', 800) |
||||
.addScene('vader:Можешь написать на support@' + location.host, 1600) |
||||
.addScene('luke:Хорошо, спасибо', 600) |
||||
.addScene('vader:Если что -> <a href="/">главная страница</a>', 800) |
||||
</script> |
||||
<style> |
||||
*, |
||||
*:before, |
||||
*:after { |
||||
box-sizing: inherit; |
||||
} |
||||
|
||||
html, |
||||
body { |
||||
padding: 0; |
||||
margin: 0; |
||||
} |
||||
|
||||
html { |
||||
font-size: 14px; |
||||
height: 100%; |
||||
box-sizing: border-box; |
||||
} |
||||
|
||||
body { |
||||
font-family: "Cutive", serif; |
||||
font-size: 1rem; |
||||
line-height: 1.4; |
||||
color: #222; |
||||
background-color: #ededed; |
||||
-webkit-transition: background-color 150ms ease-out, color 150ms ease-out; |
||||
transition: background-color 150ms ease-out, color 150ms ease-out; |
||||
} |
||||
|
||||
.dark { |
||||
color: #ededed; |
||||
background-color: #222; |
||||
} |
||||
|
||||
a { |
||||
color: inherit; |
||||
text-decoration: none; |
||||
border-bottom: 1px solid; |
||||
} |
||||
a:focus, a:hover { |
||||
box-shadow: inset 0 -8px 0 #c92b2b; |
||||
} |
||||
|
||||
p { |
||||
opacity: .6; |
||||
margin: 0 0 .6rem 0; |
||||
-webkit-transition: opacity 300ms ease-out; |
||||
transition: opacity 300ms ease-out; |
||||
} |
||||
p:hover { |
||||
opacity: 1; |
||||
} |
||||
|
||||
.scene { |
||||
padding: 6rem 2rem; |
||||
max-width: 800px; |
||||
margin: 0 auto; |
||||
} |
||||
|
||||
.actor { |
||||
font-size: 1.8rem; |
||||
display: -webkit-box; |
||||
display: -webkit-flex; |
||||
display: -ms-flexbox; |
||||
display: flex; |
||||
margin-bottom: 2rem; |
||||
color: #fff; |
||||
} |
||||
.actor:last-of-type { |
||||
margin-bottom: 6rem; |
||||
} |
||||
|
||||
.actor__content { |
||||
-webkit-box-flex: 1; |
||||
-webkit-flex-grow: 1; |
||||
-ms-flex-positive: 1; |
||||
flex-grow: 1; |
||||
width: 600px; |
||||
text-align: left; |
||||
} |
||||
.actor__prefix{ |
||||
font-weight: bold; |
||||
font-size: 25px; |
||||
margin-right: 10px; |
||||
} |
||||
@-webkit-keyframes blink { |
||||
from { |
||||
opacity: 0; |
||||
} |
||||
to { |
||||
opacity: 1; |
||||
} |
||||
} |
||||
|
||||
@keyframes blink { |
||||
from { |
||||
opacity: 0; |
||||
} |
||||
to { |
||||
opacity: 1; |
||||
} |
||||
} |
||||
.actor__content--typing::after { |
||||
content: '|'; |
||||
-webkit-animation: blink 500ms infinite; |
||||
animation: blink 500ms infinite; |
||||
} |
||||
|
||||
</style> |
||||
</body> |
||||
</html> |
||||
@ -1,73 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% load static %} |
||||
{% load course_filter %} |
||||
{% block page_title %}Доступ на страницу закрыт{% endblock %} |
||||
{% block title %}Доступ запрещен{% endblock %} |
||||
{% block head %} |
||||
{% endblock %} |
||||
{% block content %} |
||||
<div class="col"> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3"> |
||||
<i class="glyphicon glyphicon-lock"></i> Доступ на страницу закрыт |
||||
<a href="/" style="font-size: 15px; color:cornflowerblue;border-bottom: 1px dotted cornflowerblue;"> |
||||
Перейти на главную страницу |
||||
</a> |
||||
</h1> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
<table width="100%" height="100%"> |
||||
<tr width="100%"> |
||||
<td width="100%" valign="middle" align="center"> |
||||
<img src="/static/img/denied.png"><br><Br> |
||||
<a type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal" style=" margin-right: 20px;"> |
||||
<span class="glyphicon glyphicon-plus"></span> Регистрация |
||||
</a> |
||||
<a type="button" class="btn btn-success btn-lg" data-toggle="modal" data-target="#myModal1"> |
||||
<span class="glyphicon glyphicon-log-in"></span> Вход |
||||
</a> |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
</div> |
||||
</div> |
||||
|
||||
{% if request.user.is_authenticated %} |
||||
<div class="col w-md bg-white-only b-l bg-auto no-border-xs aside-col"> |
||||
<div class="padder-md"> |
||||
<!-- streamline --> |
||||
<div class="m-b m-t text-md">Последняя активность</div> |
||||
<div class="streamline b-l m-b"> |
||||
<div class="sl-item b-success b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">минуту назад<br>Курс «Профессия веб-разработчик», занятие 6</div> |
||||
<p>Ваше <a href class="text-info">домашнее задание</a> одобрено преподавателем.</p> |
||||
</div> |
||||
</div> |
||||
<div class="sl-item b-danger b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">23:30 <br>Курс «Профессия веб-разработчик», занятие 6.</div> |
||||
<p>Ваше домашнее задание проверено преподавателем. Вам необходимо <a href class="text-info">провести работу над ошибками</a></p> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="sl-item b-info b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">понедельник, 03.02.2015<br>Курс «Профессия веб-разработчик», занятие 6.</div> |
||||
<p>Преподаватель <a href class="text-info">оставил комментарий</a></p> |
||||
</div> |
||||
</div> |
||||
|
||||
</div> |
||||
|
||||
<!-- / streamline --> |
||||
</div> |
||||
|
||||
|
||||
</div> |
||||
{% endif %} |
||||
{% endblock %} |
||||
@ -1,369 +0,0 @@ |
||||
{% load static %} |
||||
<!DOCTYPE html> |
||||
<html lang="ru"> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<title>{% block title %}{% endblock %} {{ NAME }}</title> |
||||
<link rel="shortcut icon" href="/static/img/favicon.ico" type="image/x-icon"> |
||||
<link rel="icon" href="/static/img/favicon.ico" type="image/x-icon"> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> |
||||
<link rel="stylesheet" href="/static/css/bootstrap.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/animate.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/font-awesome.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/simple-line-icons.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/font.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/app.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/aside.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/kladr.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/bootstrap-datepicker.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/bootstrap-datepicker.standalone.min.css" type="text/css" /> |
||||
<link href="/static/css/jqiuery_dialogs.css" rel="stylesheet" /> |
||||
<link href="/static/css/jquery.Jcrop.css" rel="stylesheet" /> |
||||
<style> |
||||
input{ |
||||
font-weight: bold; |
||||
color: #666 !important; |
||||
font-size: 18px !important; |
||||
} |
||||
</style> |
||||
{% block head %} |
||||
{% endblock %} |
||||
</head> |
||||
<body> |
||||
|
||||
<div class="modal fade" id="image-workshop" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="z-index: 2000;"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="close_workshop()"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="validateTips" style=" text-align: center; |
||||
padding: 10px; |
||||
background-color: #f1f1f1; |
||||
margin-top: 10px; |
||||
margin-bottom: 10px;"> |
||||
Обрежте изображение, если это необходимо. |
||||
</div> |
||||
<div class="image_change_workshop"> |
||||
<div class="image_change_workshop_place" id="id"> |
||||
<img name="image_change_workshop" src="/static/img/ui-anim_basic_16x16.gif"> |
||||
</div> |
||||
</div> |
||||
<div style=" width: 100%; |
||||
background-color: #ffc; |
||||
padding: 10px; |
||||
margin-top: 10px; |
||||
text-align: center;"> |
||||
<button type="button" class="btn btn-warning btn-lg" onclick="save_workshop()">Сохранить</button> |
||||
<button type="button" class="btn btn-warning btn-lg" onclick="close_workshop()">Назад</button> |
||||
</div> |
||||
|
||||
<p style="text-align: center; padding-top: 10px; display: none;" name='file_load_error'> |
||||
Ошибка загрузки файла |
||||
</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="modal fade" id="img-load" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="z-index: 2000;"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="$('#form_image_load_file_input').replaceWith($('#form_image_load_file_input').clone())"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<p style="text-align: center;"> |
||||
Вы можете загрузить изображение в формате JPG, GIF или PNG. |
||||
<br> <b>Минимальный размер изображения 256x256</b></p> |
||||
<div class="progress_img_load" style="display: none;"> |
||||
<p style="text-align: center;"><img src="/static/img/ui-anim_basic_16x16.gif" style="margin: 20px auto;"></p> |
||||
|
||||
</div> |
||||
<div class="form_img_load"> |
||||
|
||||
<form enctype='multipart/form-data' |
||||
action='/storage/upload_file/' |
||||
method='post' |
||||
name='load_img' |
||||
id="form_image_load_form" |
||||
target='hidden_frame' |
||||
class="load_file" style=" margin-bottom: 20px;"> |
||||
<input type='hidden' name='MAX_FILE_SIZE' value='64000'> |
||||
<input id="form_image_load_file_input" name='file' type='file' accept="image/x-png, image/gif, image/jpeg" data-icon="false" data-classbutton="btn btn-default" data-classinput="form-control inline v-middle input-s" tabindex="-1" |
||||
style="outline: 0;background: #ffc; padding: 5px 10px;border-radius: 5px;margin: auto;position: absolute; clip: rect(0px, 0px, 0px, 0px);"> |
||||
|
||||
<div class="bootstrap-filestyle input-group"> |
||||
<span tabindex="0" class="group-span-filestyle input-group-btn" style="text-align: center;"> |
||||
<label for="form_image_load_file_input" class="btn btn-default "> |
||||
<span class="glyphicon glyphicon-save-file"></span> Загрузить изображение |
||||
</label> |
||||
</span> |
||||
</div> |
||||
<input type="text" name="clip_file_id" readonly value="0" style="display: none;"> |
||||
</form> |
||||
<input name="load_img" id="form_image_load_hidden_input" value="0" readonly style="display: none"> |
||||
|
||||
</div> |
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div id="fb-root"></div> |
||||
<script>(function(d, s, id) { |
||||
var js, fjs = d.getElementsByTagName(s)[0]; |
||||
if (d.getElementById(id)) return; |
||||
js = d.createElement(s); js.id = id; |
||||
js.src = "//connect.facebook.net/ru_RU/sdk.js#xfbml=1&version=v2.4&appId=1129937553688972"; |
||||
fjs.parentNode.insertBefore(js, fjs); |
||||
}(document, 'script', 'facebook-jssdk'));</script> |
||||
<div class="app app-header-fixed "> |
||||
|
||||
<!-- header --> |
||||
<header id="header" class="app-header navbar " role="menu" style=" background-color: #fdfdfd;"> |
||||
<!-- navbar header --> |
||||
<div class="navbar-header bg-info dker" style="text-align: center;"> |
||||
{% if request.user.is_authenticated %} |
||||
|
||||
<button class="pull-right visible-xs " target=".navbar-collapse" style="padding: 12px 17px;"> |
||||
<a href="/access/logout/"><i class="glyphicon glyphicon-log-out"></i></a> |
||||
</button> |
||||
<button class="pull-right visible-xs " target=".navbar-collapse" style="padding: 10px;"> |
||||
<a href="/access/profile/" class="pull-right visible-xs "> |
||||
<span class="w-auto-folded avatar thumb-xs"> |
||||
<img src="/static/img/user_photo.jpg" class="img-circle" alt="..."> |
||||
</span> |
||||
</a> |
||||
</button> |
||||
<!-- / navbar right --> |
||||
{% else %} |
||||
<button class="pull-right visible-xs " target=".navbar-collapse"> |
||||
<a type="button" data-toggle="modal" data-target="#myModal1" ui-sref="access.signin"><i class="glyphicon glyphicon-log-out"></i></a> |
||||
</button> |
||||
<button class="pull-right visible-xs " target=".navbar-collapse"> |
||||
<a type="button" data-toggle="modal" data-target="#myModal" ui-sref="access.signin"><i class="glyphicon glyphicon-plus"></i></a> |
||||
</button> |
||||
{% endif %} |
||||
<!-- brand --> |
||||
<a href="/" class="navbar-brand text-lt" style="padding-right: 0;"> |
||||
<img src="/static/img/logo.png" alt="." class="" style=" max-width: 200px; |
||||
margin-left: 20px;"> |
||||
</a> |
||||
<!-- / brand --> |
||||
</div> |
||||
<!-- / navbar header --> |
||||
|
||||
</header> |
||||
<!-- / header --> |
||||
|
||||
<style> |
||||
.app-content-body:before { |
||||
content: ''; |
||||
display: inline-block; |
||||
height: 100%; |
||||
vertical-align: middle; |
||||
} |
||||
|
||||
.hbox { |
||||
display: inline-block; |
||||
vertical-align: middle; |
||||
} |
||||
|
||||
/* добавим горизонтальное центрирование */ |
||||
.app-content-body { |
||||
text-align: center; |
||||
} |
||||
input#error{ |
||||
background: red; |
||||
} |
||||
</style> |
||||
<!-- content --> |
||||
<div id="content" class="app-content" role="main" style="margin: 20px auto 0 auto;width: 100%;"> |
||||
<div class="app-content-body " style="padding: 0;"> |
||||
<div class="hbox hbox-auto-xs hbox-auto-sm" style="text-align: center;"> |
||||
<div class="progress" style=" width: 570px; |
||||
text-align: center; |
||||
margin: 40px auto 0 auto; |
||||
background-color: #ccc; |
||||
border-radius: 5px 5px 0 0;"> |
||||
<div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" |
||||
style="width: {% if step == '1' %}0{% endif %}{% if step == '2' %}33%{% endif %}{% if step == '3' %}66%{% endif %}" |
||||
> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="btn-group" data-toggle="buttons"> |
||||
<label step_number="1" style="cursor: default;" class="btn btn-primary {% if step == '1' %}active{% endif %}" onchange="click_label('1')"> |
||||
<input type="radio" name="options" id="step_1" step_number="1" autocomplete="off"> <b>1 - Придумайте пароль</b> |
||||
</label> |
||||
<label step_number="2" style="cursor: default;" class="btn btn-primary {% if step == '2' %}active{% endif %}" onchange="click_label('2')"> |
||||
<input type="radio" name="options" id="step_2" step_number="2" autocomplete="off"> <b>2 - Расскажите о себе</b> |
||||
</label> |
||||
<label step_number="3" style="cursor: default;" class="btn btn-primary deactivate {% if step == '3' %}active{% endif %}" onchange="click_label('3')"> |
||||
<input type="radio" name="options" id="step_3" step_number="3" autocomplete="off"> <b>3 - Загрузите фотографию</b> |
||||
</label> |
||||
</div> |
||||
<ul style="width: 570px; |
||||
margin: 0 auto; |
||||
list-style: none; |
||||
background-color: #fff; |
||||
padding: 20px; |
||||
height: 100%; |
||||
border-radius: 0 0 5px 5px; border-bottom: 5px solid #666;border-left: 1px solid #ccc; |
||||
border-right: 1px solid #ccc;"> |
||||
<li id="step_1" step_number="1" {% if step != '1' %}style="display: none;" {% endif %}> |
||||
<h3 style="margin-top: 10px;margin-bottom: 30px;font-weight: bold;">Придумайте пароль</h3> |
||||
<p name="error" style="background: #ffc; padding: 10px;"></p> |
||||
<form onsubmit="return false;" name="step_1"> |
||||
<input readonly value="1" style="display: none;" name="step"> |
||||
<p style=" margin-bottom: 5px; |
||||
text-align: left; |
||||
font-weight: bold; |
||||
margin-left: 5px; |
||||
font-size: 16px; color: #666;">Введите пароль</p> |
||||
<input type="password" name="password1" class="form-control" |
||||
style="margin-bottom: 20px; text-align: center; border-left: 5px solid;font-size: 50px; |
||||
font-weight: bold; |
||||
padding-top: 0px;" autocomplete="off"> |
||||
<p style=" margin-bottom: 5px; |
||||
text-align: left; |
||||
font-weight: bold; |
||||
margin-left: 5px; |
||||
font-size: 16px; color: #666;">Повторите пароль</p> |
||||
<input type="password" name="password2" class="form-control" |
||||
style="margin-bottom: 20px; text-align: center; border-left: 5px solid;font-size: 50px; |
||||
font-weight: bold; |
||||
padding-top: 0px;" autocomplete="off"> |
||||
<p style="margin-top: 20px;"> |
||||
<button step_number="1" class="btn btn-warning btn-lg" onclick="check_step(1); return false;">Продолжить</button> |
||||
</p> |
||||
|
||||
<input name="token" style="display: none;" readonly type="text" value="{{ token }}"> |
||||
<input name="email" style="display: none;" readonly type="text" value="{{ email }}"> |
||||
</form> |
||||
</li> |
||||
<li id="step_2" step_number="2" {% if step != '2' %}style="display: none;" {% endif %}> |
||||
<h3 style="margin-top: 10px;margin-bottom: 30px;font-weight: bold;">Расскажите о себе</h3> |
||||
<p name="error" style="background: #ffc; padding: 10px;"></p> |
||||
<form onsubmit="return false;" name="step_2"> |
||||
<input readonly value="2" style="display: none;" name="step"> |
||||
<input type="text" name="fname" class="form-control" placeholder="Фамилия" style="margin-bottom: 20px; border-left: 5px solid;"> |
||||
<input type="text" name="name" class="form-control" placeholder="Имя" style="margin-bottom: 20px; border-left: 5px solid;"> |
||||
<input type="text" name="phone" class="form-control" {% if phone %}value="{{ phone }}"{% endif %} placeholder="Телефон" style="margin-bottom: 20px; border-left: 5px solid;"> |
||||
<input type="text" name="city" class="form-control" placeholder="Город" |
||||
style="margin-bottom: 20px;" autocomplete="off"> |
||||
<div class="input-group date"> |
||||
<input type="text" class="form-control" placeholder="Дата рождения" name="bday" ><span class="input-group-addon"><i class="glyphicon glyphicon-th"></i></span> |
||||
</div> |
||||
<p style="margin-top: 20px;"> |
||||
<button step_number="2" class="btn btn-warning btn-lg" onclick="check_step(2); return false;">Продолжить</button> |
||||
</p> |
||||
|
||||
<input name="token" style="display: none;" readonly type="text" value="{{ token }}"> |
||||
<input name="email" style="display: none;" readonly type="text" value="{{ email }}"> |
||||
</form> |
||||
</li> |
||||
<li id="step3" step_number="3" {% if step != '3' %}style="display: none;" {% endif %}> |
||||
<h3 style="margin-top: 10px;margin-bottom: 30px;font-weight: bold;">Загрузите фотографию</h3> |
||||
<p name="error" style="background: #ffc; padding: 10px;"></p> |
||||
<form onsubmit="return false;" name="step_3"> |
||||
<img src="/static/img/a8.jpg" alt="..." class="img-thumbnail" name="avatar" style="margin-bottom: 10px;"> |
||||
<p style=" margin-bottom: 50px;"><a href="#" style=" color: #666; |
||||
border-bottom: 1px dotted #999; |
||||
padding-bottom: 3px;" onclick="load_image('avatar', 'big')">Загрузить фотографию</a></p> |
||||
<p style="margin-top: 20px;"> |
||||
<button step_number="3" class="btn btn-warning btn-lg" onclick="check_step(3); return false;">Завершить</button><Br> |
||||
<a href="#" style="color: #999; float: right; |
||||
border-bottom: 1px dotted #999; |
||||
padding-bottom: 1px;" onclick="check_step(3); return false;">Пропустить</a> |
||||
</p> |
||||
<input readonly value="3" style="display: none;" name="step"> |
||||
<input name="avatar_code" style="display: none;" readonly type="text"> |
||||
<input name="token" style="display: none;" readonly type="text" value="{{ token }}"> |
||||
<input name="email" style="display: none;" readonly type="text" value="{{ email }}"> |
||||
</form> |
||||
</li> |
||||
<li id="step4" step_number="4" {% if step != '4' %}style="display: none;" {% endif %}> |
||||
<h3>Поздравляем!</h3> |
||||
<div style="text-align: justify;"> |
||||
Вы приняты в сообщество — «{{ NAME }}».<br> |
||||
|
||||
</div> |
||||
<p style="text-align: center;"><img src="/static/img/1440723611_check.png"> </p> |
||||
<form method="post" action="/access/fast_auth/" name="final_form"> |
||||
{% csrf_token %} |
||||
<p style="text-align: center; margin-top: 10px;"><button class="btn btn-success">Начать изучение</button></p> |
||||
</form> |
||||
|
||||
<p style="text-align: justify;margin-bottom: 40px;">С Уважением,<br>{{ NAME }}.</p> |
||||
</li> |
||||
|
||||
</ul> |
||||
<div style="width: 570px; margin: auto;"> |
||||
<input id="checkBox" type="checkbox" style="width: 20px; height: 20px; margin-top: 0px;"> |
||||
<span>Регистрируясь, вы соглашаетесь с <a href="/oferta">договором-оферты</a></span> |
||||
</div> |
||||
<p style="text-align: left;margin: 20px auto;width: 530px;"> |
||||
<i class="glyphicon glyphicon-copyright-mark"></i> {% now "Y" %} |
||||
<span style="float: right;">{{ NAME }}</span> |
||||
</p> |
||||
|
||||
<iframe name="hidden_frame" id="form_image_load_hidden_frame" style="width:0; height:0; border:0;display: none;"></iframe> |
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<!-- / content --> |
||||
<script type="text/javascript" src='/static/js/jquery.min.js'></script> |
||||
<script type="text/javascript" src='/static/js/bootstrap.min.js'></script> |
||||
<script src="/static/js/jquery.maskedinput.min.js" type="text/javascript"></script> |
||||
<script type="text/javascript" src='/static/js/regex_check.js'></script> |
||||
<script type="text/javascript" src='/static/js/apis/management.js'></script> |
||||
<script type="text/javascript" src='/static/js/apis/access.js'></script> |
||||
<script type="text/javascript" src='/static/js/news.js'></script> |
||||
<script type="text/javascript" src='/static/js/tools.js'></script> |
||||
<script type="text/javascript" src="/static/js/apis/activation.js"></script> |
||||
<script type="text/javascript" src="/static/js/apis/kladr.min.js"></script> |
||||
<script type="text/javascript" src="/static/js/bootstrap-datepicker.min.js"></script> |
||||
<script type="text/javascript" src="/static/js/bootstrap-datepicker.ru.min.js"></script> |
||||
<script type="text/javascript" src="/static/js/apis/inputmask.min.js"></script> |
||||
<script type="text/javascript" src="/static/js/apis/jquery.inputmask.min.js"></script> |
||||
<script type="text/javascript" src="/static/js/apis/image_loader.js"></script> |
||||
<script type="text/javascript" src="/static/js/jquery.Jcrop.min.js"></script> |
||||
|
||||
<input name="load_image_place_name" style="display: none;" readonly> |
||||
<input name="load_image_placed_size" style="display: none;" readonly> |
||||
<input name="load_image_width" style="display: none;" readonly> |
||||
<input name="load_image_height" style="display: none;" readonly> |
||||
<input name="load_image_x1" style="display: none;" readonly> |
||||
<input name="load_image_x2" style="display: none;" readonly> |
||||
<input name="load_image_y1" style="display: none;" readonly> |
||||
<input name="load_image_y2" style="display: none;" readonly> |
||||
<input name="REQUEST_USER_ID" style="display: none;" readonly value="{{ request.user.id }}"> |
||||
|
||||
<script type="text/javascript"> |
||||
$(function(){ |
||||
function release(){ |
||||
jcrop_api.release(); |
||||
$('#crop').hide(); |
||||
} |
||||
}); |
||||
$('.input-group.date').datepicker({ |
||||
todayBtn: false, |
||||
language: "ru", |
||||
orientation: "top auto", |
||||
keyboardNavigation: false, |
||||
autoclose: true, |
||||
toggleActive: true, |
||||
defaultViewDate: { year: 1990, month: 11, day: 18 } |
||||
}); |
||||
|
||||
</script> |
||||
{% block js %} |
||||
{% endblock %} |
||||
</body> |
||||
</html> |
||||
@ -1,140 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block modals %} |
||||
<!-- Modal Смена пароля--> |
||||
<div class="modal fade" id="new_bill" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('new_bill')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1441326667_certificate.png" alt=""> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel">Новый счет</p> |
||||
<form action="" name="new_bill" onsubmit="return false;"> |
||||
<p class="error" id="error_new_bill"></p> |
||||
<p style="margin-bottom: 0;padding-bottom: 10px; |
||||
padding-top: 20px;">Пользователь</p> |
||||
<input type="text" name="new_bill_user_id" readonly style="display: none;"> |
||||
<input type="text" name="new_bill_user" style="background-color: #ffc;" readonly> |
||||
<p style="margin-bottom: 0;padding-bottom: 10px; |
||||
padding-top: 20px;">Услуга</p> |
||||
<select type="text" name="new_bill_service" onchange="$('[name=new_bill_checked_service]').val($('[name=new_bill_service]').find('option:selected').attr('id'))" style=" width: 100%; |
||||
height: 40px; |
||||
background-color: #ffc; |
||||
border: 1px solid #f1f1f1; |
||||
border-radius: 3px; |
||||
margin-bottom: 10px;"> |
||||
</select> |
||||
<input name="new_bill_checked_service" type="text" readonly style="display: none;"> |
||||
<p style="margin-bottom: 0;padding-bottom: 10px; |
||||
padding-top: 20px;">Ваш комментарий</p> |
||||
<textarea name="new_bill_comment" style="width: 100%;background: #ffc; |
||||
border: 1px solid #f1f1f1; |
||||
border-radius: 3px;"></textarea> |
||||
<button type="button" class="btn btn-warning btn-lg" onclick="create_new_bill()">Отправить</button> |
||||
</form> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
{% endblock %} |
||||
{% block asside %} |
||||
<aside id="aside" class="app-aside hidden-xs bg-dark" style="background: #3a3f51;"> |
||||
<div class="aside-wrap"> |
||||
<div class="navi-wrap"> |
||||
<!-- user --> |
||||
<div class="clearfix hidden-xs text-center" id="aside-user"> |
||||
<div class="dropdown wrapper"> |
||||
<a href="/management/profile/"> |
||||
<span class="thumb-lg w-auto-folded avatar m-t-sm"> |
||||
<img src="/static/img/a8.jpg" class="img-full" alt="..."> |
||||
</span> |
||||
</a> |
||||
<a href="#"> |
||||
<span class="clear"> |
||||
<span class="block m-t-sm"> |
||||
<strong class="font-bold text-lt">{{ request.user.get_short_name }}</strong> |
||||
</span> |
||||
<span class="text-muted text-xs block">{{ request.user.get_role_display }}</span> |
||||
</span> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<!-- / user --> |
||||
<nav ui-nav="" class="navi clearfix"> |
||||
<ul class="nav"> |
||||
|
||||
<li class="active"> |
||||
<a href="#"> |
||||
<i class="icon-user icon text-warning-dk"></i> |
||||
<span>Пользователи</span> |
||||
</a> |
||||
</li> |
||||
<li> |
||||
<a href="/management/history/"> |
||||
<i class="glyphicon glyphicon-stats text-warning-dk"></i> |
||||
<span>История</span> |
||||
</a> |
||||
</li> |
||||
</ul> |
||||
</nav> |
||||
<!-- nav --> |
||||
</div> |
||||
</div> |
||||
</aside> |
||||
{% endblock %} |
||||
<!-- / aside --> |
||||
|
||||
<!-- content --> |
||||
{% block content %} |
||||
<div class="col"> |
||||
<!-- main header --> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3">Пользователи системы</h1> |
||||
<!-- <small class="text-muted">Welcome to angulr application</small> --> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
<div class="row"> |
||||
<form onsubmit="return false;"> |
||||
<p style="font-size: 20px; font-weight: bold;margin-left: 2%;">Поиск пользователей</p> |
||||
<input name="user_search" type="text" style="margin-right: 1%; width: 85%; margin-left: 1%;padding: 10px;font-size:20px;font-weight: bold; border: 2px solid yellow;" inpmask="phone"> |
||||
<button onclick="search_users($('[name=user_search]').val())" |
||||
style="float: right; width: 12%;margin-right: 1%;padding: 10px;font-weight: bold;font-size: 20px;">Поиск</button> |
||||
</form> |
||||
<p style="text-align: center;padding: 10px;display: none;" name="load_user_list"><img src="/static/img/ui-anim_basic_16x16.gif"></p> |
||||
<p style="text-align: center;padding: 10px;display: none;margin: 0 10px;background: #fff;" name="empty_user_list">Результатов нет</p> |
||||
<table width="100%" style="margin-top: 20px;"> |
||||
<thead> |
||||
<tr style="border-bottom: 1px dotted #ccc;"> |
||||
<td style="padding: 10px; background: #fff;border-right: 1px dotted #ccc;">Пользователь</td> |
||||
<td style="padding: 10px; background: #fff;border-right: 1px dotted #ccc;">Телефон</td> |
||||
<td style="padding: 10px; background: #fff;">Действие</td> |
||||
</tr> |
||||
</thead> |
||||
<tbody name="search_results"> |
||||
|
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
</div> |
||||
<!-- / main --> |
||||
<!-- right col --> |
||||
<!-- / right col --> |
||||
{% endblock %} |
||||
@ -1,84 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block title %}Все доступные достижения{% endblock %} |
||||
{% block head %} |
||||
<link rel="stylesheet" href="/static/css/pie_chart.css" type="text/css" /> |
||||
<script> |
||||
window.courses = []; |
||||
</script> |
||||
{% endblock %} |
||||
{% block content %} |
||||
<div class="col" style="width: 100%;"> |
||||
<!-- main header --> |
||||
<div class="wrapper-md col-md-9 col-sm-12 col-xs-12 col-lg-9" style="text-align: center;"> |
||||
<h3 style="margin-top: 0;font-weight: bold;text-align: left; |
||||
margin-bottom: 20px; |
||||
margin-left: 30px; border-bottom: 1px dotted #ccc; |
||||
padding-bottom: 10px;"><i class="glyphicon glyphicon-star" style="color: #fcb813;margin-right: 5px;"></i> Все доступные достижения системы</h3> |
||||
|
||||
{% for achievement in achievements %} |
||||
<div class="thumb-xl" style="text-align: center; |
||||
margin: 10px;"> |
||||
<img src="{{ achievement.icon.url }}" alt="..." class="m-b-xs" style=" width: 125px;"> |
||||
<small class="block">{{ achievement.title }}</small> |
||||
</div> |
||||
{% empty %} |
||||
<h3 style="text-align: center; font-weight: bold">Достижений еще нет</h3> |
||||
{% endfor %} |
||||
|
||||
</div> |
||||
|
||||
<div class="wrapper-md col-md-3 col-sm-12 col-xs-12 col-lg-3"> |
||||
<h3 style="margin-top: 0;font-weight: bold; |
||||
margin-bottom: 20px; |
||||
margin-left: 30px; border-bottom: 1px dotted #ccc; |
||||
padding-bottom: 10px;"><i class="glyphicon glyphicon-ok-sign" style="color: #fcb813;margin-right: 5px;"></i> Получаемые навыки</h3> |
||||
{% for course, points in skills.items %} |
||||
<script> |
||||
{% if points %} |
||||
window.courses.push({{ course.0 }}) |
||||
{% endif %} |
||||
</script> |
||||
<div class="panel panel-default"> |
||||
<div class="panel-heading font-bold">{{ course.1 }} <span style="float: right; color: #666;"><i class="glyphicon glyphicon-ok-sign"></i></span></div> |
||||
|
||||
<div class="text-center wrapper m-b-sm" style="width: 100%"> |
||||
{% if points %} |
||||
<div id="pieChart{{ course.0 }}" class="chart" style="width: 100%;height: 250px;"></div> |
||||
{% else %} |
||||
<h3 style="font-weight: bold;text-align: center;margin: 10px 0;">Навыков не назначено</h3> |
||||
{% endif %} |
||||
</div> |
||||
|
||||
<ul class="list-group no-radius"> |
||||
{% for key, value in points.items %} |
||||
<li class="list-group-item" name="skill_row{{ course.0 }}" skill_title="{{ key }}" skill_color="{{ value.color }}" skill_value={{ value.size }}> |
||||
<span class="pull-right"><b>{{ value.size }}</b> очков</span> |
||||
<span class="label font-normal text-white" style="background: {{ value.color }};font-size: 14px;">{% if value.icon %}<img src="{{ value.icon.url }}" style="margin-top: -1px;width: 15px; |
||||
height: 15px; |
||||
margin-right: 5px;">{% endif %}{{ key }}</span> |
||||
|
||||
</li> |
||||
{% endfor %} |
||||
</ul> |
||||
</div> |
||||
{% endfor %} |
||||
|
||||
</div> |
||||
<!-- / main header --> |
||||
</div> |
||||
{% endblock %} |
||||
{% block js %} |
||||
<script src="/static/js/pie_chart.js"></script> |
||||
<script src="/static/js/clipboard.min.js"></script> |
||||
<script> |
||||
$(function(){ |
||||
for (var c in courses){ |
||||
var result = []; |
||||
var skills = $('li[name=skill_row'+courses[c]+']'); |
||||
for(var i=0;i<skills.length;i++){result.push({'title': $(skills[i]).attr('skill_title'), 'value': parseInt($(skills[i]).attr('skill_value'), 10), 'color':$(skills[i]).attr('skill_color')})} |
||||
$("#pieChart"+courses[c]).drawPieChart(result); |
||||
} |
||||
|
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
@ -1,35 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% load course_filter %} |
||||
{% block title %}История активности {% endblock %} |
||||
{% block content %} |
||||
<div class="col"> |
||||
<!-- main header --> |
||||
<div class="wrapper-md"> |
||||
<div class="row"> |
||||
<h3 style="margin-top: 0; |
||||
margin-bottom: 20px; |
||||
margin-left: 30px;"><i class="glyphicon glyphicon-th-list"></i> История активности</h3> |
||||
<ul class="timeline"> |
||||
{% for i in b_actions %} |
||||
<li class="tl-item tl-left"> |
||||
<div class="tl-wrap {{ i.get_a_type_display }}"> |
||||
<div class="tl-content panel padder b-a col-lg-11"> |
||||
<span class="arrow left pull-up hidden-left"></span> |
||||
<span class="arrow right pull-up visible-left"></span> |
||||
<div class="text-lt m-b-sm" style="margin-left: 15px;font-weight: bold; font-size: 16px;margin-bottom: 5px;">{{ i.place }}<span class="tags l-h-2x" style="margin-left: 10px; |
||||
font-weight: normal; |
||||
font-size: 13px;">{{ i.date }}</span></div> |
||||
<div class="panel-body p-b-none pull-in b-t b-light" style="margin-left: 10px;padding-bottom: 20px !important;"> |
||||
<div>{{ i.text|safe }}</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</li> |
||||
{% endfor %} |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
</div> |
||||
{% endblock %} |
||||
@ -1,117 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block title %}Статьи{% endblock %} |
||||
{% block head %} |
||||
<link rel="stylesheet" type="text/css" href="/static/css/flickity.css" /> |
||||
<link rel="stylesheet" type="text/css" href="/static/css/component.css" /> |
||||
<script src="/static/js/modernizr.custom.js"></script> |
||||
<script> |
||||
window.favorite_count = 0; |
||||
</script> |
||||
{% endblock %} |
||||
{% block content %} |
||||
<div class="col"> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3" style=" margin-left: 10px !important;"> |
||||
Обучающие статьи |
||||
<div style="float: right;font-size: 12px;color: #999;" class="hidden-xs"> |
||||
<span class="hidden-xs">Все статьи</span> |
||||
<label class="i-switch bg-success" style="top: 5px; |
||||
position: relative; margin: 0 5px;"> |
||||
<input type="checkbox" name="by_radio"> |
||||
<i></i> |
||||
</label><span class="hidden-xs">Непрочитанные</span> |
||||
</div> |
||||
</h1> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="nav-tabs_self filter" name="section_list"> |
||||
<button class="action filter__item filter__item--selected" data-filter="*">Все статьи <span style="margin-left: 5px;" class="label label-success" name="all_count">{{ articles|length }}</span></button> |
||||
<div style=" float: right; |
||||
padding: 10px 0; |
||||
color: #ccc; |
||||
font-size: 13px;" data-toggle="tooltip" data-placement="top" title="Всего просмотров" class="hidden-xs"><i class="glyphicon glyphicon-eye-open" style=" top: 2px; |
||||
left: -5px;"></i> <span name="all_article_views">{{ views }}</span></div> |
||||
</div> |
||||
<!-- Main view --> |
||||
<div class="view"> |
||||
<!-- /grid--> |
||||
|
||||
<section class="grid"> |
||||
<img class="grid__loader" src="/static/img/preloader.gif" width="60" alt="Loader image"> |
||||
<div class="grid__sizer"></div> |
||||
<p style="clear: both;"></p> |
||||
|
||||
{% for article in articles %} |
||||
<script> |
||||
if ($('[section_view={{ article.section.id }}]').length == 0){ |
||||
$('[name=section_list]').append('<button class="action filter__item" data-filter=".article_section_{{ article.section.id }}" section_view="{{ article.section.id }}">{{ article.section.title }} <span style="margin-left: 5px;" class="label label-success" name="{{ article.section.id }}_count">0</span></button>') |
||||
|
||||
} |
||||
</script> |
||||
<div article_id="{{ article.id }}" class="grid__item article_section_{{ article.section.id }} {% if article.favorite %}article_section_favorite{% endif %}" section="{{ article.section.id }}" favorite="{{ article.favorite }}" viewed="{{ article.view }}"> |
||||
<div class="favorite"><i class="glyphicon glyphicon-star" id="{% if article.favorite %}active{% endif %}" onclick="{% if not article.favorite %}set_favorit(this){% else %}unset_favorit(this){% endif %}" article_id="{{ article.id }}" data-toggle="tooltip" data-placement="top" title="Добавить в избранное"></i></div> |
||||
<a href="{{ DOMAIN }}/library/article/{{ article.slug }}"><img style="width:100%;" src="{{ article.preview.image }}"></a> |
||||
<div class="content"> |
||||
<div class="section_block"><span class="section">{{ article.section.title }}</span><span class="date">{{ article.date }}</span></div> |
||||
<div class="title"><a href="{{ DOMAIN }}/library/article/{{ article.slug }}">{{ article.preview.title }}</a></div> |
||||
<div class="preview">{{ article.preview.description }}</div> |
||||
{% if article.tags %} |
||||
<div class="tags">{% for tag in article.tags.content %}<span class="tag">#{{ tag.name }}</span>{% endfor %}</div> |
||||
{% endif %} |
||||
</div> |
||||
<div class="bottom"> |
||||
<a href="{{ DOMAIN }}/library/article/{{ article.slug }}"><button class="btn" role="button">Читать статью</button></a> |
||||
<div class="icons"> |
||||
<span class="favorite_length" data-toggle="tooltip" data-placement="top" title="В избранном"><i class="glyphicon glyphicon-star"></i> {{ article.favorites.count }}</span> |
||||
<span class="views" data-toggle="tooltip" data-placement="top" title="Просмотров"><i class="glyphicon glyphicon-eye-open"></i> {{ article.views.count }}</span> |
||||
<span class="likes" data-toggle="tooltip" data-placement="top" title="Поставлено лайков"><i class="glyphicon glyphicon-thumbs-up"></i> {{ article.likes.count }}</span> |
||||
</div> |
||||
<div style="margin: 0;clear: both;"></div> |
||||
</div> |
||||
|
||||
<script> |
||||
if (!window.section_{{ article.section.id }}){ |
||||
window.section_{{ article.section.id }} = 1; |
||||
} else { |
||||
window.section_{{ article.section.id }} += 1; |
||||
} |
||||
{% if article.favorite %} |
||||
window.favorite_count += 1; |
||||
{% endif %} |
||||
$('[name={{ article.section.id }}_count]').html(window.section_{{ article.section.id }}); |
||||
//check_favorit({{ article.id }}) |
||||
</script> |
||||
</div> |
||||
|
||||
{% endfor %} |
||||
<script> |
||||
|
||||
$('[name=section_list]').append('<button {% if not request.user.is_authenticated %}onclick="$(\'#myModal1\').modal(\'show\')"{% endif %} style="border: 1px solid #ffcd00; border-radius: 3px;" name="favorite_button" class="action filter__item" data-filter=".article_section_favorite">Избранное <span style="margin-left: 5px;" class="label label-success" name="favorite_count">0</span> </button>') |
||||
</script> |
||||
</section> |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
{% block js %} |
||||
<script src="/static/js/isotope.pkgd.min.js"></script> |
||||
<script src="/static/js/flickity.pkgd.min.js"></script> |
||||
<script src="/static/js/articles_sort.js"></script> |
||||
<script src="/static/js/library.js"></script> |
||||
<script> |
||||
$(function () { |
||||
$('[data-toggle="tooltip"]').tooltip(); |
||||
if ($('[favorite=True]').length < 0){ |
||||
$('[name="favorite_count"]').fadeOut('fast'); |
||||
|
||||
} else { |
||||
$('[name="favorite_count"]').html(window.favorite_count); |
||||
} |
||||
setInterval(function () { |
||||
get_all_views_length() |
||||
}, 3000) |
||||
}) |
||||
</script> |
||||
{% endblock %} |
||||
@ -1,244 +0,0 @@ |
||||
{% extends 'reports/base_index.html' %} |
||||
{% load comment_filter %} |
||||
{% block title %}Все комментарии{% endblock %} |
||||
{% block head %} |
||||
<script> |
||||
window.load_process_interval = false; |
||||
window.comments_stack1 = []; |
||||
window.comments_stack2 = []; |
||||
function get_comment_text(id) { |
||||
var r = ''; |
||||
$.ajax({ |
||||
type: 'GET', |
||||
url: '/courses/get_comment_text/', |
||||
async: false, |
||||
data: {'comment': id}, |
||||
success: function (data) { |
||||
if (data['code'] == '1') { |
||||
r = data['data'] |
||||
} |
||||
} |
||||
}); |
||||
return r; |
||||
} |
||||
function load_comments_texts(){ |
||||
start_load(); |
||||
function start_load(){ |
||||
window.load_process_interval = setInterval( function(){load()}, 100); |
||||
} |
||||
function stop_load_process(){ |
||||
clearInterval(window.load_process_interval); |
||||
delete window.load_process_interval; |
||||
$('[name=preload_status]').html('Загружено') |
||||
} |
||||
function load(){ |
||||
var data; |
||||
if (window.comments_stack2 && window.comments_stack2.length > 0){ |
||||
data = window.comments_stack2.pop(); |
||||
$('[name=preload_status]').html('Загрузка: ' + (window.comments_stack2.length*100/parseInt($('[name=course_length]').html(), 10)).toFixed(2) + '%'); |
||||
$('[readable_comment='+data+']').html('<iframe f_name="{{ comment.id }}" style="width: 100%; border: 0;" srcdoc="<div class=\'m-b-xs\' style=\'font-family: exo_2regular, Helvetica Neue, Helvetica, Arial, sans-serif;font-size: 14px;-webkit-font-smoothing: antialiased;line-height: 1.42857143;color: #58666e;background-color: transparent;\'>'+get_comment_text(data)+'</div>"></iframe>'); |
||||
} else if (window.comments_stack3 && window.comments_stack3.length > 0) { |
||||
data = window.comments_stack1.pop(); |
||||
$('[name=preload_status]').html('Загрузка: ' + (window.comments_stack3.length*100/parseInt($('[name=course_length]').html(), 10)).toFixed(2) + '%'); |
||||
$('[readable_comment='+data+']').html('<iframe f_name="{{ comment.id }}" style="width: 100%; border: 0;" srcdoc="<div class=\'m-b-xs\' style=\'font-family: exo_2regular, Helvetica Neue, Helvetica, Arial, sans-serif;font-size: 14px;-webkit-font-smoothing: antialiased;line-height: 1.42857143;color: #58666e;background-color: transparent;\'>'+get_comment_text(data)+'</div>"></iframe>'); |
||||
} else if (window.comments_stack1 && window.comments_stack1.length > 0){ |
||||
data = window.comments_stack1.pop(); |
||||
$('[name=preload_status]').html('Загрузка: ' + (window.comments_stack1.length * 100 / parseInt($('[name=course_length]').html(), 10)).toFixed(2) + '%'); |
||||
$('[readable_comment=' + data + ']').html('<iframe f_name="{{ comment.id }}" style="width: 100%; border: 0;" srcdoc="<div class=\'m-b-xs\' style=\'font-family: exo_2regular, Helvetica Neue, Helvetica, Arial, sans-serif;font-size: 14px;-webkit-font-smoothing: antialiased;line-height: 1.42857143;color: #58666e;background-color: transparent;\'>' + get_comment_text(data) + '</div>"></iframe>'); |
||||
} else { |
||||
stop_load_process(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
function comment_response(id, text, type, material) { |
||||
$.ajax({ |
||||
type: 'POST', |
||||
url: '/courses/sent_comment_response/', |
||||
data: {'id': id, 'text': text, 'type': type, 'material_id': material}, |
||||
success: function (data) { |
||||
if (data['code'] == '0') { |
||||
console.log(data['response']); |
||||
} |
||||
} |
||||
}); |
||||
} |
||||
</script> |
||||
<style> |
||||
.saw{ |
||||
display: none; |
||||
} |
||||
.no_read{ |
||||
background: #f5fce5; |
||||
transition: 0s 9999999s; |
||||
} |
||||
.no_read:hover{ |
||||
background: #fff; |
||||
transition: 1s; |
||||
} |
||||
.readed{ |
||||
background: #fff; |
||||
} |
||||
</style> |
||||
{% endblock %} |
||||
{% block content %} |
||||
<div style="padding: 20px;"> |
||||
<div style="clear: both; |
||||
float: left; |
||||
width: 100%; |
||||
margin-bottom: 20px; |
||||
border-bottom: 1px dotted #999;"> |
||||
<h1 style="margin: 0; margin-bottom: 20px;float: left;">Комментарии<i class="glyphicon glyphicon-align-left" style="margin-left: 10px; |
||||
font-size: 25px;"></i></h1> |
||||
<span name="preload_status"></span> |
||||
<span name="course_length" style="display: none;">0</span> |
||||
</div> |
||||
<div> |
||||
|
||||
<!-- Nav tabs --> |
||||
<ul class="nav nav-tabs" role="tablist"> |
||||
<li role="presentation" class="active"><a href="#lessons" aria-controls="lessons" role="tab" data-toggle="tab">Уроки <span style="margin-left: 5px;" class="label label-success" name="lessons_count"></span></a></li> |
||||
<li role="presentation"><a href="#articles" aria-controls="articles" role="tab" data-toggle="tab">Статьи <span style="margin-left: 5px;" class="label label-success" name="articles_count"></span></a></li> |
||||
</ul> |
||||
|
||||
<!-- Tab panes --> |
||||
<div class="tab-content"> |
||||
<div role="tabpanel" class="tab-pane active" id="lessons"> |
||||
<div> |
||||
|
||||
<!-- Nav tabs --> |
||||
<ul class="nav nav-tabs" role="tablist" name="courses_tabs"> |
||||
</ul> |
||||
|
||||
<!-- Tab panes --> |
||||
<div class="tab-content" name="courses_content"> |
||||
</div> |
||||
|
||||
</div> |
||||
<script> |
||||
window.courses = new Set(); |
||||
</script> |
||||
{% for comment in lessons %} |
||||
<script> |
||||
if (!window.courses.has('{{ comment.course.get_title }}')){ |
||||
window.courses.add('{{ comment.course.get_title }}'); |
||||
$('[name="courses_tabs"]').append('<li role="presentation"><a href="#course_{{ comment.course.id }}" aria-controls="course_{{ comment.course.id }}" role="tab" data-toggle="tab">{{ comment.course.get_title }}</a></li>') |
||||
$('[name="courses_content"]').append('<div role="tabpanel" class="tab-pane" id="course_{{ comment.course.id }}"></div>') |
||||
} |
||||
|
||||
</script> |
||||
{% if not comment.comment.saw %} |
||||
<div style="padding-left: 10px;" name="comment{{ comment.comment.id }}" response="{{ comment.comment.response }}" saw="{{ comment.comment.saw }}" class="{% if comment.comment.saw %}saw{% endif %}"> |
||||
<div style="padding: 10px;"><b>Автор:</b> <a href="{{ DOMAIN }}admin/access/user/?q={{ comment.comment.owner_email }}" target="_blank">{{ comment.comment.owner_name }}</a> |
||||
<label class="label {{ comment.comment.owner_type.background }} m-l-xs">{{ comment.comment.owner_type.title }}</label> |
||||
<b>[ {{ comment.comment.owner_email }} ]</b><br><b>Курс:</b> <a href="/courses/{{ comment.course.id }}" target="_blank" style=" color: #337ab7; |
||||
border-bottom: 2px dotted;">{{ comment.course.get_title|truncatewords:2 }}</a> |
||||
<b>Тема:</b><a href="/courses/{{ comment.course.id }}#theme{{ comment.theme.id }}" target="_blank" style=" color: #337ab7; |
||||
border-bottom: 2px dotted;"> {{ comment.theme.get_title|truncatewords:2 }}</a> |
||||
<b>Урок №{{ comment.lesson.sort }}:</b><a href="/courses/lesson/{{ comment.lesson.id }}?to_comment={{ comment.comment.id }}" target="_blank" style=" color: #337ab7; |
||||
border-bottom: 2px dotted;"> {{ comment.lesson.get_title|truncatewords:2 }}</a> |
||||
<span style="float: right;"> |
||||
{% if comment.comment.response %} |
||||
<span style="cursor: pointer; padding: 5px 10px;background: green;color: #fff;border-radius: 5px;" data-toggle="tooltip" data-placement="bottom" title="Есть ответ" onclick="$('#response_result_{{ comment.comment.id }}').fadeIn('fast');"><i class="glyphicon glyphicon-ok" style="padding-right: 5px;"></i> Есть ответ</span> |
||||
{% endif %} |
||||
<b>Дата:</b> {{ comment.comment.date }} |
||||
</span> |
||||
</div> |
||||
<p style="padding: 10px; |
||||
background: #ffc; |
||||
border-radius: 5px;display: none;" about="{{ comment.comment.id }}"></p> |
||||
|
||||
<div style=" |
||||
padding: 10px; |
||||
border-radius: 5px;margin-bottom: 30px;" class="{% if comment.comment.saw %}readed{% else %}no_read{% endif %}" readable_comment="{{ comment.comment.id }}"> |
||||
<script> |
||||
{% if comment.comment.saw %} |
||||
window.comments_stack1.unshift({{ comment.comment.id }}); |
||||
{% else %} |
||||
window.comments_stack2.unshift({{ comment.comment.id }}); |
||||
{% endif %} |
||||
</script> |
||||
</div> |
||||
|
||||
</div> |
||||
<script> |
||||
$('#course_{{ comment.course.id }}').append($('[name=comment{{ comment.comment.id }}]')) |
||||
</script> |
||||
{% endif %} |
||||
{% empty %} |
||||
<script> |
||||
window.theme{{ comment.theme.id }} = 0; |
||||
$('[name=lesson{{ comment.lesson.id }}]').hide(); |
||||
</script> |
||||
{% endfor %} |
||||
<script> |
||||
if (window.comments_stack2){ |
||||
$('[name=lessons_count]').html(window.comments_stack2.length) |
||||
} else { |
||||
$('[name=lessons_count]').html(0) |
||||
} |
||||
$('[name=course_length]').html(window.comments_stack2.length + window.comments_stack1.length) |
||||
</script> |
||||
</div> |
||||
|
||||
<div role="tabpanel" class="tab-pane" id="articles"> |
||||
{% for comment in articles %} |
||||
<div style="padding-left: 10px;" name="comment{{ comment.comment.id }}" response="{{ comment.comment.response }}" saw="{{ comment.comment.saw }}" class="{% if comment.comment.saw %}saw{% endif %}"> |
||||
<div style="padding: 10px;"><b>Автор:</b> <a href="{{ DOMAIN }}admin/access/user/?q={{ comment.comment.owner_email }}" target="_blank">{{ comment.comment.owner_name }}</a> |
||||
<label class="label {{ comment.comment.owner_type.background }} m-l-xs">{{ comment.comment.owner_type.title }}</label> |
||||
<b>[ {{ comment.comment.owner_email }} ]</b> |
||||
<br><b>Статья:</b><a href="/library/article/{{ comment.article.id }}" target="_blank" style=" color: #337ab7; |
||||
border-bottom: 2px dotted;"> {{ comment.article.title }}</a> |
||||
<span style="float: right;"> |
||||
{% if comment.comment.response %} |
||||
<span style="cursor: pointer; padding: 5px 10px;background: green;color: #fff;border-radius: 5px;" data-toggle="tooltip" data-placement="bottom" title="Есть ответ" onclick="$('#response_result_{{ comment.comment.id }}').fadeIn('fast');"><i class="glyphicon glyphicon-ok" style="padding-right: 5px;"></i> Есть ответ</span> |
||||
{% endif %} |
||||
|
||||
<b>Дата:</b> {{ comment.comment.date }} |
||||
</span> |
||||
</div> |
||||
<p style="padding: 10px; |
||||
background: #ffc; |
||||
border-radius: 5px;display: none;" about="{{ comment.comment.id }}"></p> |
||||
|
||||
|
||||
<div style=" |
||||
padding: 10px; |
||||
border-radius: 5px;margin-bottom: 30px;" class="{% if comment.comment.saw %}readed{% else %}no_read{% endif %}" readable_comment="{{ comment.comment.id }}"> |
||||
<script> |
||||
{% if comment.comment.saw %} |
||||
window.comments_stack1.unshift({{ comment.comment.id }}); |
||||
{% else %} |
||||
window.comments_stack2.unshift({{ comment.comment.id }}); |
||||
{% endif %} |
||||
</script> |
||||
</div> |
||||
|
||||
</div> |
||||
{% empty %} |
||||
<script> |
||||
window.theme{{ comment.theme.id }} = 0; |
||||
$('[name=lesson{{ comment.lesson.id }}]').hide(); |
||||
</script> |
||||
{% endfor %} |
||||
<script> |
||||
if (window.comments_stack3){ |
||||
$('[name=articles_count]').html(window.comments_stack3.length) |
||||
} else { |
||||
$('[name=articles_count]').html(0) |
||||
} |
||||
</script> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
{% block js %} |
||||
<script src="/static/js/apis/comments.js"></script> |
||||
<script> |
||||
$(function () { |
||||
$('[data-toggle="tooltip"]').tooltip() |
||||
load_comments_texts() |
||||
}) |
||||
</script> |
||||
{% endblock %} |
||||
@ -1,41 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="UTF-8"> |
||||
<title>Аналитика</title> |
||||
</head> |
||||
<body> |
||||
<h2>Дата создания отчёта {{ date_create }}</h2> |
||||
<button><a href="new?start={{ start }}&end={{ end }}">Сгенирировать отчёт</a></button> |
||||
<button style="margin-bottom: 20px"><a href="/media{{ url }}s{{ start }}e{{ end }}progress.csv">Скачать отчёт</a></button> |
||||
<button><a href="/analytics">На главную</a></button> |
||||
<form action=""> |
||||
<label>от</label> |
||||
<input name="start" type="date" value="{{ start }}"> |
||||
<label>до</label> |
||||
<input name="end" type="date" value="{{ end }}"> |
||||
<button type="submit">Подготовить отчёт</button> |
||||
</form> |
||||
|
||||
<table border="1px"> |
||||
<tr> |
||||
{% for i in header %} |
||||
<th>{{ i }}</th> |
||||
{% endfor %} |
||||
</tr> |
||||
{% for i in body %} |
||||
<tr> |
||||
{% for j in i %} |
||||
<td style="background: {{j.background}}">{{ j.value }}</td> |
||||
{% endfor %} |
||||
</tr> |
||||
{% endfor %} |
||||
</table> |
||||
<p> |
||||
{% block description %}{% endblock %} |
||||
</p> |
||||
|
||||
<h2>Внимание! Новый отчёт генерируется 1 раз! Следите за записью в хедоре страницы, если вы нуждаетесь в обновлении <br> |
||||
данных жмите кнопку "Сгенерировать отчёт" таким образом вы получите обновлённые данные для заданных пораметров фильтрации</h2> |
||||
</body> |
||||
</html> |
||||
@ -1,2 +0,0 @@ |
||||
{% extends 'analytics/base.html' %} |
||||
{% block description %}{% endblock %} |
||||
@ -1,12 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="UTF-8"> |
||||
<title>Аналитика</title> |
||||
</head> |
||||
<body> |
||||
<h2>Меню поиска</h2> |
||||
<h4><a href="theme">Студентов успешно прошедших тему</a></h4> |
||||
<h4><a href="homework">Студентов ожидающих проверки домашки</a></h4> |
||||
</body> |
||||
</html> |
||||
@ -1,9 +0,0 @@ |
||||
{% extends 'analytics/base.html' %} |
||||
{% block description %} |
||||
В данной таблице представлены данные о том, сколько студентов прошло заданную тему. <br> |
||||
Темы не всегда проходятся последовательно, поэтому порой тему с большим порядковым номером прошло большее количество пользовавтелей. <br> |
||||
Вы можите выставить фильтр по последней акутивности пользователя, фильтр может быть ограничивающим с одной стороны или может отсутствовать, <br> |
||||
в случае ввода невалидных данных ошибки не происходит вас просто перенапровляет на начальную страницу. <br> |
||||
Вы можите скачать отчёт в формате csv метка $-$yellow говорит о том что в данной теме есть экзамен,<br> |
||||
в таблице темы содержашие экзамен подсвечены жёлтым светом |
||||
{% endblock %} |
||||
@ -1,120 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% load static %} |
||||
|
||||
|
||||
{% block head_title %}{{ article.social.title }}{% endblock %} |
||||
{% block title %}{{ article.title }}{% endblock %} |
||||
|
||||
{% block head %} |
||||
{{ article.css|safe }} |
||||
<script src="/static/js/library.js"></script> |
||||
{% endblock %} |
||||
|
||||
{% block head_description1 %}{{ article.social.description }}{% endblock %} |
||||
{% block head_description2 %}{{ article.social.description }}{% endblock %} |
||||
|
||||
{% block head_image %}{{ article.social.image }}{% endblock %} |
||||
|
||||
{% block app-content-body %}style="background:#fff;"{% endblock %} |
||||
|
||||
{% block content %} |
||||
{{ article.page|safe }} |
||||
<script type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script> |
||||
<script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script> |
||||
|
||||
<div style=" text-align: center; |
||||
width: 80%; |
||||
margin: 0 auto;"> |
||||
<div style="text-align: left;margin: 50px 0;float: left;"> |
||||
<i class="glyphicon glyphicon-tags" style="float: left; padding: 5px; |
||||
margin-right: 10px;"></i> |
||||
{% for tag in article.tags.content %} |
||||
<span class="tag">#{{ tag.name }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
<table width="100%" style="clear: both;" class="hidden-xs"> |
||||
<tr> |
||||
<td valign="top" style=" float: left; |
||||
color: #000; |
||||
font-size: 15px;"> |
||||
<div style="float: left;">Понравилась статья?<br> |
||||
Поделись с друзьями:</div><div class="ya-share2" style="padding: 10px;float: left; margin-left: 20px;" data-services="vkontakte,facebook,odnoklassniki,gplus,twitter,linkedin"></div></td> |
||||
<td valign="top"><button class="btn btn-warning" style="border-radius: 3px;padding: 10px;float: right;" onclick="set_like({{ article.id }})">Сказать спасибо <i class="glyphicon glyphicon-thumbs-up" style="margin-left: 10px; position: relative; |
||||
top: 3px;"></i> <span name="like_count">{{ article.get_likes_length }}</span></button><br> |
||||
<span style=" clear: both;{% if not article.like %}display: none;{% endif %} |
||||
text-align: right; |
||||
float: right; |
||||
font-size: 11px; |
||||
color: #999; |
||||
padding-top: 10px;" name="like_thanks">* Спасибо,<br> что оценили нашу работу</span></td> |
||||
</tr> |
||||
</table> |
||||
<div class="visible-xs" style="clear: both;"> |
||||
<p valign="top" style=" |
||||
color: #000; |
||||
font-size: 15px;">Понравилась статья?<br> |
||||
Поделись с друзьями:</p> |
||||
<p valign="top"><div class="ya-share2" style="padding: 10px; margin: 20px 0;" data-services="vkontakte,facebook,odnoklassniki,gplus,twitter,linkedin"></div></p> |
||||
<p valign="top"><button class="btn btn-warning" style="border-radius: 3px;padding: 10px;" onclick="set_like({{ article.id }})">Сказать спасибо <i class="glyphicon glyphicon-thumbs-up" style="margin-left: 10px; position: relative; |
||||
top: 3px;"></i> <span name="like_count">{{ article.get_likes_length }}</span></button><br> |
||||
<p style=" clear: both;{% if not article.like %}display: none;{% endif %} |
||||
text-align: center; |
||||
font-size: 11px; |
||||
color: #999; |
||||
padding-top: 10px;" name="like_thanks">* Спасибо,<br> что оценили нашу работу</p></p> |
||||
</div> |
||||
|
||||
</div> |
||||
|
||||
<div class="row" style=" box-sizing: border-box;padding: 40px;clear: both;margin-top: 40px;"> |
||||
{% include 'comments_block.html' %} |
||||
</div> |
||||
|
||||
<div id="nav_block"> |
||||
<div id="nav_in"> |
||||
<span id="button" data-toggle="tooltip" data-placement="bottom" title="Назад" onclick="location.href = '{{ DOMAIN }}library/articles/';"><i class="glyphicon glyphicon-arrow-left"></i> назад</span> |
||||
<hr noshade> |
||||
<span id="button" class="{% if article.like %}active{% endif %}" data-toggle="tooltip" data-placement="bottom" title="Нравится" onclick="{% if not article.like %}ajax_set_like{% else %}ajax_unset_like{% endif %}(this)" article_id="{{ article.id }}"><i class="glyphicon glyphicon-thumbs-up"></i> </span> |
||||
<span id="button" class="{% if article.favorite %}active{% endif %}" data-toggle="tooltip" data-placement="bottom" title="В избранное" onclick="{% if not article.favorite %}ajax_set_favorit{% else %}ajax_unset_favorit{% endif %}(this)" article_id="{{ article.id }}"><i class="glyphicon glyphicon-star "></i></span> |
||||
<hr noshade> |
||||
<span id="button" data-toggle="tooltip" data-placement="bottom" title="Случайная статья" onclick="location.href = '/library/article/' + get_random_article('{{ article.id }}');"><i class="glyphicon glyphicon-retweet"></i></span> |
||||
</div> |
||||
</div> |
||||
<input name="ARTICLE_ID" value="{{ article.id }}" readonly style="display: none;"> |
||||
{% endblock %} |
||||
|
||||
{% block js %} |
||||
|
||||
{% if not request.user.is_authenticated %} |
||||
<script> |
||||
setTimeout(function() { $('#ArticleRegister').modal('show'); }, 30000); |
||||
</script> |
||||
{% endif %} |
||||
<script> |
||||
$(function() { |
||||
$(window).scroll(function () { |
||||
if ($(this).scrollTop() != 0) { |
||||
$('#nav_block').fadeIn(); |
||||
} else { |
||||
|
||||
$('#nav_block').fadeOut(); |
||||
} |
||||
}); |
||||
|
||||
load_lesson_comments(); |
||||
if ($('#myModal1').length == 0) { |
||||
window.EDITOR = new Simditor({ |
||||
textarea: $('[name=comment_sent_text]')}) |
||||
} |
||||
$("a#single_image").fancybox(); |
||||
setInterval(function () { |
||||
get_lesson_comments_length(); |
||||
refresh_like($('[name=ARTICLE_ID]').val()) |
||||
} |
||||
, 2000); |
||||
$('[data-toggle="tooltip"]').tooltip(); |
||||
}) |
||||
</script> |
||||
|
||||
{{ article.js|safe }} |
||||
{% endblock %} |
||||
@ -1,41 +0,0 @@ |
||||
<html> |
||||
<head> |
||||
<title>{% block title %}{{ article.title }}{% endblock %}</title> |
||||
<meta name="description" content="{% block head_description1 %}Школа программирования - Точка Кода{% endblock %}" /> |
||||
<meta property="og:title" content="{% block head_title %}Точка Кода{% endblock %}" /> |
||||
<meta property="og:description" content="{% block head_description2 %}Школа программирования{% endblock %}" /> |
||||
<meta property="og:image" content="{% block head_image %}{{ DOMAIN }}static/img/3818cc0ec1.png{% endblock %}" /> |
||||
<link rel="stylesheet" href="/static/css/tilda-grid.css" rel="stylesheet" media="screen"> |
||||
<link rel="stylesheet" href="/static/css/tilda_blocks.css" rel="stylesheet" media="screen"> |
||||
</head> |
||||
<body style="margin: 0;"> |
||||
<div class="head" style=" position: absolute; |
||||
z-index: 12; |
||||
width: 96%; |
||||
text-align: center; |
||||
padding: 2%;"> |
||||
<a href="/"><img src="/static/img/logo articles.png" style=" padding-right: 50px;"></a> |
||||
<span style="padding: 20px; |
||||
color: #fff; |
||||
font-size: 20px;position: relative; |
||||
top: -20px; font-family: 'Roboto';"> |
||||
<a href="/" style="color: #fff; text-decoration: none;"><span style=" padding-right: 30px;">Курсы</span></a> |
||||
<a href="/library/articles/" style="color: #fff; text-decoration: none;"><span style=" padding-right: 30px;">Статьи</span></a> |
||||
<a href="/access/profile" style="color: #fff; text-decoration: none;"><span style=" padding-right: 30px;">Профиль</span></a> |
||||
<a href="/contacts/" style="color: #fff; text-decoration: none;"><span style=" padding-right: 30px;">Контакты</span></a> |
||||
<a href="/management/faq/" style="color: #fff; text-decoration: none;"><span style=" padding-right: 30px;">Помощь</span></a> |
||||
</span> |
||||
<hr style=" margin-top: 30px; |
||||
border-color: #999; |
||||
opacity: 0.5; max-width: 960px;"> |
||||
</div> |
||||
{% block content %} |
||||
{{ article.page|safe }} |
||||
{% endblock %} |
||||
<script src="/static/js/jquery.min.js"></script> |
||||
<script src="/static/js/tilda-scripts.js"></script> |
||||
<script src="/static/js/tilda-blocks.js"></script> |
||||
<script src="/static/js/bootstrap.min.js"></script> |
||||
|
||||
</body> |
||||
</html> |
||||
@ -1,34 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% load static %} |
||||
{% load course_filter %} |
||||
{% block title %}Доступ на страницу закрыт{% endblock %} |
||||
{% block page_title %}Доступ на страницу закрыт{% endblock %} |
||||
{% block head %} |
||||
{% endblock %} |
||||
{% block content %} |
||||
<div class="col"> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3"> |
||||
Доступ на страницу закрыт |
||||
</h1> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
{% if request.user.is_authenticated %} |
||||
<p style="text-align: center;"><img src="/static/img/journal_access.png"></p> |
||||
<p style=" text-align: center; |
||||
font-size: 20px; |
||||
margin-top: 30px;">Вам не открыт доступ к этому материалу, поскольку вы еще не дошли до этого материала</p> |
||||
{% else %} |
||||
<p style="text-align: center;"><img src="/static/img/get_access.png"></p> |
||||
<p style=" text-align: center; |
||||
font-size: 20px; |
||||
margin-top: 30px;">Авторизуйтесь для получения доступа на эту страницу</p> |
||||
{% endif %} |
||||
|
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
@ -1,652 +0,0 @@ |
||||
<div class="modal fade" id="image-workshop" tabindex="-1" role="dialog" aria-labelledby="image-workshop" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="close_workshop()"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
|
||||
<div class="validateTips" style=" text-align: center; |
||||
padding: 10px; |
||||
background-color: #f1f1f1; |
||||
margin-top: 10px; |
||||
margin-bottom: 0;"> |
||||
Обрежте изображение, если это необходимо. |
||||
</div> |
||||
<div style=" width: 100%; |
||||
background-color: #ffc; |
||||
padding: 10px; |
||||
margin-top: 0px; |
||||
text-align: center;"> |
||||
<button type="button" class="btn btn-warning btn-lg" onclick="save_workshop()">Сохранить</button> |
||||
<button type="button" class="btn btn-warning btn-lg" onclick="close_workshop()">Назад</button> |
||||
</div> |
||||
<div class="image_change_workshop"> |
||||
<div class="image_change_workshop_place" id="id" style="text-align: center;"> |
||||
<img name="image_change_workshop" src="/static/img/ui-anim_basic_16x16.gif"> |
||||
</div> |
||||
</div> |
||||
<div style=" width: 100%; |
||||
background-color: #ffc; |
||||
padding: 10px; |
||||
margin-top: 10px; |
||||
text-align: center;"> |
||||
<button type="button" class="btn btn-warning btn-lg" onclick="save_workshop()">Сохранить</button> |
||||
<button type="button" class="btn btn-warning btn-lg" onclick="close_workshop()">Назад</button> |
||||
</div> |
||||
|
||||
<p style="text-align: center; padding-top: 10px; display: none;" name='file_load_error'> |
||||
Ошибка загрузки файла |
||||
</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="modal fade" id="img-load" tabindex="-1" role="dialog" aria-labelledby="img-load" aria-hidden="true" style="z-index: 2000;"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="$('#form_image_load_file_input').replaceWith($('#form_image_load_file_input').clone())"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<p style="text-align: center;"> |
||||
Вы можете загрузить изображение в формате JPG, GIF или PNG. |
||||
<br> <b style="text-align: center;color: red;">Минимальный размер изображения 256x256</b></p> |
||||
<div class="progress_img_load" style="display: none;"> |
||||
<p style="text-align: center;"><img src="/static/img/ui-anim_basic_16x16.gif" style="margin: 20px auto;"></p> |
||||
|
||||
</div> |
||||
<div class="form_img_load"> |
||||
|
||||
<form enctype='multipart/form-data' |
||||
action='/storage/upload_file/' |
||||
method='post' |
||||
name='load_img' |
||||
id="form_image_load_form" |
||||
target='hidden_frame' |
||||
class="load_file" style=" margin-bottom: 20px;"> |
||||
<input type='hidden' name='MAX_FILE_SIZE' value='64000'> |
||||
<input id="form_image_load_file_input" name='file' type='file' accept="image/x-png, image/gif, image/jpeg" data-icon="false" data-classbutton="btn btn-default" data-classinput="form-control inline v-middle input-s" tabindex="-1" |
||||
style="outline: 0;background: #ffc; padding: 5px 10px;border-radius: 5px;margin: auto;position: absolute; clip: rect(0px, 0px, 0px, 0px);"> |
||||
|
||||
<div class="bootstrap-filestyle input-group"> |
||||
<span tabindex="0" class="group-span-filestyle input-group-btn" style="text-align: center;"> |
||||
<label for="form_image_load_file_input" class="btn btn-default "> |
||||
<span class="glyphicon glyphicon-save-file"></span> Загрузить изображение |
||||
</label> |
||||
</span> |
||||
</div> |
||||
<input type="text" name="clip_file_id" readonly value="0" style="display: none;"> |
||||
</form> |
||||
<input name="load_img" id="form_image_load_hidden_input" value="0" readonly style="display: none"> |
||||
|
||||
</div> |
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<!-- Modal Смена пароля--> |
||||
<div class="modal fade" id="changePassword" tabindex="-1" role="dialog" aria-labelledby="changePassword" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('change_password_form', 'error_change_password')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1439239821_key.png" alt=""> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel">Смена пароля</p> |
||||
<form action="" name="change_password_form" onsubmit="return false;"> |
||||
<p class="error" id="error_change_password" style="display: none"></p> |
||||
<input type="password" placeholder="Введите текущий пароль" name="old_password"><br> |
||||
<input type="password" placeholder="Введите новый пароль" name="password1"><br> |
||||
<input type="password" placeholder="Повторите новый пароль" name="password2"><br> |
||||
<button class="btn btn-warning btn-lg" onclick="change_password_func()">Сменить</button> |
||||
</form> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<!-- Modal Подтверждение действия--> |
||||
<div class="modal fade" id="acceptModal" tabindex="-1" role="dialog" aria-labelledby="acceptModal" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" name="cancel_action_button" |
||||
onclick="$('#acceptModal').modal('hide')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1441241426_sign-warning.png" alt=""> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel">Подтверждение действия</p> |
||||
<form action="" name="change_password" onsubmit="return false;"> |
||||
<p style="font-size: 15px;">Вы уверены, что хотите <span name="accept_action_message"></span></p> |
||||
<button type="button" class="btn btn-warning btn-lg" onclick="" name="accept_action_button">Подтвердить</button> |
||||
<button type="button" class="btn btn-warning btn-lg" onclick="$('#acceptModal').modal('hide')">Отмена</button> |
||||
</form> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<!-- Modal Поток не доступен--> |
||||
<div class="modal fade" id="flowAccess" tabindex="-1" role="dialog" aria-labelledby="flowAccess" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content" style="background: #ffe474;"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/journal_access.png" alt="" style="max-width: 256px;"> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ" style=" padding-bottom: 40px;"> |
||||
<p class="modal-title" id="myModalLabel">Материал не доступен</p> |
||||
<p style="margin-top: 30px; font-size: 19px;">Материалы курса будут доступны в день старта вашего потока к 20:00 (по Московскому времени). |
||||
Если у вас возникли вопросы по курсу, напишите нашей службе заботы о клиентах на hello@skillbox.ru</p> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<!-- Modal Журнал не доступен--> |
||||
<div class="modal fade" id="journalAccess" tabindex="-1" role="dialog" aria-labelledby="journalAccess" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content" style="background: #ffe474;"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/journal_access.png" alt="" style="max-width: 256px;"> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ" style=" padding-bottom: 40px;"> |
||||
<p class="modal-title" id="myModalLabel">Материал не доступен</p> |
||||
<p style=" margin-top: 30px; |
||||
font-size: 19px;">Материал вам еще не доступен. Выполните все задания до и доступ откроется вам автоматически</p> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<!-- Modal Журнал не доступен--> |
||||
<div class="modal fade" id="journalProgressAccess" tabindex="-1" role="dialog" aria-labelledby="journalProgressAccess"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content" style="background: #339933;color:#fff;"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/new_material.png" alt="" style="max-width: 256px;"> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel" style="color: #fff;">Добавлен новый материал</p> |
||||
<p style=" font-size: 15px; |
||||
padding-top: 0; |
||||
color: #fff; |
||||
text-align: justify;">Материал вам еще недоступен. Для получения доступа, необходимо просмотреть уроки/выполнить задания указанные ниже:</p> |
||||
<ul class="inside_list"> |
||||
{% for i in waiting_materials %} |
||||
{% if forloop.first %} |
||||
<a href="/courses/{{ i.type }}/{{ i.obj.id }}"><li class="active" style="">{{ i.obj }}<span style="float: right;font-size: 13px;color:#fff;">Перейти</span></li></a> |
||||
{% else %} |
||||
<li>{{ i.lesson }}</li> |
||||
{% endif %} |
||||
{% endfor %} |
||||
</ul> |
||||
<p style=" font-size: 13px; |
||||
color: #f1f1f1; |
||||
padding: 0; |
||||
text-align: right;">*Новый материал необходимо пройти по порядку предоставления</p> |
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% if waiting_materials %} |
||||
{% if waiting_materials.0.type not in request.path or waiting_materials.0.obj.id not in request.path %} |
||||
<script> |
||||
$('#journalProgressAccess').modal('show'); |
||||
</script> |
||||
{% endif %} |
||||
{% endif %} |
||||
<!-- Modal Журнал не доступен--> |
||||
<div class="modal fade" id="BlockMaterial" tabindex="-1" role="dialog" aria-labelledby="BlockMaterial"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content" style="background: #333;color:#fff;"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/denied.png" alt="" style="max-width: 256px;"> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel" style="color: #fff;">Доcтуп заблокирован</p> |
||||
<p style="color: #ccc;">Данный материал находится в обработке. Если в течении 48 часов у вас не появился доступ к материалам, обратитесь на почту info@bedev.ru</p> |
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<!-- Modal Настройки--> |
||||
<div class="modal fade" id="settingsModal" tabindex="-1" role="dialog" aria-labelledby="settingsModal" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('user_settings', 'error_user_settings')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<div class="panel-heading no-border wrapper-md" style="text-align: right;margin-top: 30px;"> |
||||
<button class="btn btn-sm btn-icon btn-rounded btn-info m-l" style="margin-left: 0;position: relative;" |
||||
onclick="load_image('user_settings_avatar', 'big')" ><i class="fa fa-camera"></i></button> |
||||
|
||||
<button class="btn btn-sm btn-icon btn-rounded btn-danger m-l" style="display: none;position: relative;margin-left:0;" |
||||
onclick="remove_image(this, 'user_settings_avatar', '/static/img/a8.jpg');$('[name=avatar_code]').val('')" |
||||
name="user_settings_avatar_remove"> |
||||
<i class="glyphicon glyphicon-trash"></i> |
||||
</button> |
||||
</div> |
||||
<div class="text-center clearfix " style="border-radius: 0 0 5px 5px;padding-bottom: 10px;margin-top: -40px;"> |
||||
<img src="" alt="..." class="img-circle" name="user_settings_avatar" style="max-width: 180px;"> |
||||
</div> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel">Настройки пользователя</p> |
||||
<form action="" name="user_settings" onsubmit="return false;"> |
||||
<p class="error" id="error_user_settings" style="display: none"></p> |
||||
<input readonly style="display: none;" name="avatar_code"> |
||||
<p style="padding-bottom: 0;text-align: left;font-size: 15px;margin-bottom: 5px;padding-left: 5px;padding-top: 0;">Фамилия</p> |
||||
<input class="padd_bottom" type="text" placeholder="Фамилия" name="user_settings_fname"><br> |
||||
<p style="padding-bottom: 0;text-align: left;font-size: 15px;margin-bottom: 5px;padding-left: 5px;padding-top: 0;">Имя</p> |
||||
<input class="padd_bottom" type="text" placeholder="Имя" name="user_settings_name"><br> |
||||
<p style="padding-bottom: 0;text-align: left;font-size: 15px;margin-bottom: 5px;padding-left: 5px;padding-top: 0;">Отчество</p> |
||||
<input class="padd_bottom" type="text" placeholder="Отчество" name="user_settings_oname"><br> |
||||
<p style="padding-bottom: 0;text-align: left;font-size: 15px;margin-bottom: 5px;padding-left: 5px;padding-top: 0;">Телефон</p> |
||||
<input class="padd_bottom" type="text" placeholder="Телефон" name="user_settings_phone"><br> |
||||
<p style="padding-bottom: 0;text-align: left;font-size: 15px;margin-bottom: 5px;padding-left: 5px;padding-top: 0;">Email</p> |
||||
<input class="padd_bottom" type="email" placeholder="E-mail" name="user_settings_email"><br> |
||||
<p style="padding-bottom: 0;text-align: left;font-size: 15px;margin-bottom: 5px;padding-left: 5px;padding-top: 0;">Город</p> |
||||
<input class="padd_bottom" type="text" placeholder="Город" name="user_settings_city"><br> |
||||
<p style="padding-bottom: 0;text-align: left;font-size: 15px;margin-bottom: 5px;padding-left: 5px;padding-top: 0;">Дата рождения</p> |
||||
<div class="input-group date"> |
||||
<input type="text" class="form-control" placeholder="Дата рождения" name="user_settings_bday" ><span class="input-group-addon"><i class="glyphicon glyphicon-th"></i></span> |
||||
</div><br> |
||||
<button class="btn btn-warning btn-lg" onclick="change_settings()">Сохранить</button> |
||||
</form> |
||||
<a href="#" data-toggle="modal" data-target="#changePassword" data-dismiss="modal" aria-label="Close" class="wht js-open-modal">Сменить пароль</a> |
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<!-- Modal подписки--> |
||||
<div class="modal fade" id="subscriptionModal" tabindex="-1" role="dialog" aria-labelledby="subscriptionModal" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('subscription_form', 'error_subscription')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1439433911_new_seo2-28.png" alt=""> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel">Ваши подписки</p> |
||||
<form name="subscription_form" onsubmit="return false;"> |
||||
<p class="error" id="error_subscription" style="display: none"></p> |
||||
<div class="input_field"> |
||||
<p style="text-align: left; border-bottom: 1px dotted #ccc;"> |
||||
<b>Новости:</b> |
||||
<input type="checkbox" name="subscription_news" style="float: right; height: 20px; width: 20px;"> |
||||
</p> |
||||
<p style="text-align: left; border-bottom: 1px dotted #ccc;"> |
||||
<b>Новые курсы:</b> |
||||
<input type="checkbox" name="subscription_courses" style="float: right; height: 20px; width: 20px;"> |
||||
</p> |
||||
<p style="text-align: left; border-bottom: 1px dotted #ccc;"> |
||||
<b>Комментарии преподавателей:</b> |
||||
<input type="checkbox" name="subscription_teacher" style="float: right; height: 20px; width: 20px;"> |
||||
</p> |
||||
<p style="text-align: left; border-bottom: 1px dotted #ccc;"> |
||||
<b>Ответы на ваши комментарии:</b> |
||||
<input type="checkbox" name="subscription_new_comments" style="float: right; height: 20px; width: 20px;"> |
||||
</p> |
||||
<p style="text-align: left; border-bottom: 1px dotted #ccc;"> |
||||
<b>Отправлять СМС:</b> |
||||
<input type="checkbox" name="subscription_send_sms" style="float: right; height: 20px; width: 20px;"> |
||||
</p> |
||||
</div> |
||||
<button class="btn btn-warning btn-lg" onclick="change_subscription()">Сохранить</button> |
||||
</form> |
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="modal fade" id="needByNoneClose" tabindex="-1" role="dialog" aria-labelledby="needByNoneClose" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-5 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1442791218_certificate.png" alt="" name="needByNoneCloseImage" style="width: 100%; height: auto;"> |
||||
</div> |
||||
<div class="col-md-7 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel">Получения полного доступа к курсу</p> |
||||
<p class="error" style="background: #ffc;border-radius: 5px;">Проверка домашних заданий, общение с преподавателем онлайн и полный доступ ко всем урокам курса<br> |
||||
<b> — доступны в полной версии курса.</b></p> |
||||
<p style="text-align: center;color:#ccc;">в полной версии курса «<span name="needByNoneCloseCourseName"></span>»</p> |
||||
<div class="col-lg-12" style=" padding-bottom: 20px;"> |
||||
<div class="col-lg-3 col-md-6 col-sm-6 col-xs-6" style="border-right: 1px solid #ccc;text-align: center;padding: 0; |
||||
"> |
||||
<h2 style="font-weight: bold;" name="needByNoneCloseBasicLessonsLength">16</h2> |
||||
<small>основных модулей</small> |
||||
</div> |
||||
<div class="col-lg-4 col-md-6 col-sm-6 col-xs-6" style="border-right: 1px solid #ccc;text-align: center;padding: 0; |
||||
"> |
||||
<h2 style="font-weight: bold;" name="needByNoneCloseAdditionLessonsLength">16</h2> |
||||
<small> |
||||
дополнительных модулей |
||||
</small> |
||||
</div> |
||||
<ul class="col-lg-5 check_list"> |
||||
<li style=" padding-top: 10px; clear: both;"><i class="glyphicon glyphicon-ok-sign" style="color: green;"></i> проверка домашних заданий</li> |
||||
<li><i class="glyphicon glyphicon-ok-sign" style="color: green;"></i> стажировка</li> |
||||
<li><i class="glyphicon glyphicon-ok-sign" style="color: green;"></i> трудоустройство</li> |
||||
<li><i class="glyphicon glyphicon-ok-sign" style="color: green;"></i> общение с преподавателем</li> |
||||
<li><i class="glyphicon glyphicon-ok-sign" style="color: green;"></i> работа над реальными проектами</li> |
||||
</ul> |
||||
</div> |
||||
|
||||
<div class="col-lg-12"> |
||||
<div class="col-lg-5" style="text-align: center; |
||||
font-size: 17px; |
||||
padding-left: 0;"> |
||||
<b>стоимость курса:</b><br> |
||||
<p style=" color: #999; |
||||
font-size: 16px;">от <span name="needByNoneCloseMinPrice">6 777</span> руб. в месяц</p> |
||||
</div> |
||||
<div class="col-lg-7" style=" padding: 0;"> |
||||
<button type="button" class="btn btn-success btn-lg" name="by_course_from_modal_button" onclick="" style="margin: 0;">Оставить заявку на курс</button><br> |
||||
<p style=" text-align: center;padding-bottom: 0; |
||||
font-size: 12px; |
||||
color: #999;"> |
||||
Заявка на курс вас ни к чему не обязывает. |
||||
После регистрации с вами свяжется менеджер, |
||||
чтобы рассказать детали курса. |
||||
</p> |
||||
</div> |
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
{% if request.user.is_admin and request.user.is_staff %} |
||||
<div class="modal fade" id="super_myModal1" tabindex="-1" role="dialog" aria-labelledby="super_myModal1" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content" style="background: green;"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('auth_form')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-5 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1455736671_eye.png" alt=""> |
||||
</div> |
||||
<div class="col-md-7 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel" style="color: #fff;">Супер авторизация</p> |
||||
<form action="" name="super_auth_form" onsubmit="return false;"> |
||||
<p class="error" id="error_super_auth" style="background: #ffc;border-radius: 5px;display: none;"></p> |
||||
<input class="padd_bottom" type="text" placeholder="E-mail авторизуемого" name="email"><br> |
||||
<input type="password" placeholder="Введите свой админский пароль" name="password" style="margin-bottom: 5px;"><br> |
||||
<input type="password" style="display: none;" readonly placeholder="Введите свой админский токен" value="{{ request.user.token }}" name="token"><br> |
||||
<button class="btn btn-warning btn-lg" onclick="super_auth_go(false);">Войти</button> |
||||
</form> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="modal fade" id="delete_comment_modal" tabindex="-1" role="dialog" aria-labelledby="delete_comment_modal" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content" style="background: green;"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('delete_comment')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-5 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1455736671_eye.png" alt=""> |
||||
</div> |
||||
<div class="col-md-7 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel" style="color: #fff;">Супер авторизация</p> |
||||
<form action="" name="delete_comment" onsubmit="return false;"> |
||||
<p class="error" id="error_delete_comment" style="background: #ffc;border-radius: 5px;display: none;"></p> |
||||
<textarea> |
||||
|
||||
</textarea> |
||||
<button class="btn btn-warning btn-lg" onclick="super_auth_go(false);">Войти</button> |
||||
</form> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
<!----> |
||||
{% if request.user.is_authenticated and request.user.email == '!!wies@1312s.ru' %} |
||||
<div class="modal fade" id="newYear" tabindex="-1" role="dialog" aria-labelledby="newYear" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content" style="background: #00bdff;"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img style="max-width: 180px;" src="/static/img/magazine.png" alt=""> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ" style="color: #fff;"> |
||||
|
||||
<span style="font-size: 120px;">Пошел нахуй!</span> |
||||
|
||||
<button class="btn btn-warning btn-lg" style="margin-bottom: 0;">Поити</button> |
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
|
||||
<!-- Modal Смена пароля--> |
||||
<div class="modal fade" id="FreeWeekDone" tabindex="-1" role="dialog" aria-labelledby="FreeWeekDone" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content" style="background: #009e72;"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('change_password_form', 'error_change_password')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<img src="/static/img/green-Kolya.png" alt="" style="float: left;"> |
||||
<div class="activ" style="float: left;"> |
||||
<p class="modal-title" id="myModalLabel">Смена пароля</p> |
||||
<form action="" name="change_password_form" onsubmit="return false;"> |
||||
<p class="error" id="error_change_password" style="display: none"></p> |
||||
<input type="password" placeholder="Введите текущий пароль" name="old_password"><br> |
||||
<input type="password" placeholder="Введите новый пароль" name="password1"><br> |
||||
<input type="password" placeholder="Повторите новый пароль" name="password2"><br> |
||||
<button class="btn btn-warning btn-lg" onclick="change_password_func()">Приобрести полный курс</button> |
||||
</form> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<!-- Modal Смена пароля--> |
||||
<div class="modal fade" id="FreeWeekFail" tabindex="-1" role="dialog" aria-labelledby="FreeWeekFail" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content" style="background: #345374;"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('change_password_form', 'error_change_password')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<img src="/static/img/blue-Kolya.png" alt="" style="float: left;"> |
||||
<div class="activ" style="float: left;"> |
||||
<p class="modal-title" id="myModalLabel">Смена пароля</p> |
||||
<form action="" name="change_password_form" onsubmit="return false;"> |
||||
<p class="error" id="error_change_password" style="display: none"></p> |
||||
<input type="password" placeholder="Введите текущий пароль" name="old_password"><br> |
||||
<input type="password" placeholder="Введите новый пароль" name="password1"><br> |
||||
<input type="password" placeholder="Повторите новый пароль" name="password2"><br> |
||||
<button class="btn btn-warning btn-lg" onclick="change_password_func()">Приобрести полный курс</button> |
||||
</form> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<!-- Modal Смена пароля--> |
||||
<div class="modal fade" id="WeekReport" tabindex="-1" role="dialog" aria-labelledby="WeekReport" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('change_password_form', 'error_change_password')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<p class="modal-title" id="myModalLabel">Смена пароля</p> |
||||
<form action="" name="change_password_form" onsubmit="return false;"> |
||||
<p class="error" id="error_change_password" style="display: none"></p> |
||||
<input type="password" placeholder="Введите текущий пароль" name="old_password"><br> |
||||
<input type="password" placeholder="Введите новый пароль" name="password1"><br> |
||||
<input type="password" placeholder="Повторите новый пароль" name="password2"><br> |
||||
<button class="btn btn-warning btn-lg" onclick="change_password_func()">Приобрести полный курс</button> |
||||
</form> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<!-- Modal Окно пользователя в НГ |
||||
<div class="modal fade" id="newYear" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content" style="background: #00bdff;"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="$.ajax({type: 'GET',url: '/management/hide_modal/?name=new_year'});$('#newYear').modal('hide')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img style="max-width: 180px;" src="/static/img/magazine.png" alt=""> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ" style="color: #fff;"> |
||||
<span style="font-size: 30px;">Привет,</span><br><br> |
||||
|
||||
Приближаются майские праздники и у преподавателей тоже будут каникулы.<br> |
||||
Расписание проверки работ:<br> |
||||
с 1 по 3 - каникулы<br> |
||||
с 4 по 6 в штатном режиме<br> |
||||
с 7 по 9 - каникулы<br><br> |
||||
|
||||
При большом количестве работ выполненных за выходные дни возможна небольшая задержка в проверке работ 4 мая.<br> |
||||
Надеемся на ваше понимание.<br><br> |
||||
|
||||
Хороших выходных! |
||||
|
||||
|
||||
<button class="btn btn-warning btn-lg" style="margin-bottom: 0;" onclick="$.ajax({type: 'GET',url: '/management/hide_modal/?name=new_year'});$('#newYear').modal('hide')">Приятного обучения</button> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
--> |
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,159 +0,0 @@ |
||||
{% load static %} |
||||
<!DOCTYPE html> |
||||
<html lang="ru"> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<title>{% block title %}{% endblock %} {{ NAME }}</title> |
||||
<link rel="shortcut icon" href="/static/img/favicon.ico" type="image/x-icon"> |
||||
<link rel="icon" href="/static/img/favicon.ico" type="image/x-icon"> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> |
||||
<link rel="stylesheet" href="/static/css/bootstrap.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/animate.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/font-awesome.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/simple-line-icons.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/font.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/app.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/aside.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/kladr.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/bootstrap-datepicker.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/bootstrap-datepicker.standalone.min.css" type="text/css" /> |
||||
<link href="/static/css/jqiuery_dialogs.css" rel="stylesheet" /> |
||||
<link href="/static/css/jquery.Jcrop.css" rel="stylesheet" /> |
||||
<style> |
||||
input{ |
||||
font-weight: bold; |
||||
color: #666 !important; |
||||
font-size: 18px !important; |
||||
} |
||||
</style> |
||||
{% block head %} |
||||
{% endblock %} |
||||
</head> |
||||
<body> |
||||
|
||||
<div class="app app-header-fixed "> |
||||
|
||||
<!-- header --> |
||||
<header id="header" class="app-header navbar " role="menu" style=" background-color: #fdfdfd;"> |
||||
<!-- navbar header --> |
||||
<div class="navbar-header bg-info dker" style="text-align: center;"> |
||||
{% if request.user.is_authenticated %} |
||||
|
||||
<button class="pull-right visible-xs " target=".navbar-collapse" style="padding: 12px 17px;"> |
||||
<a href="/access/logout/"><i class="glyphicon glyphicon-log-out"></i></a> |
||||
</button> |
||||
<button class="pull-right visible-xs " target=".navbar-collapse" style="padding: 10px;"> |
||||
<a href="/access/profile/" class="pull-right visible-xs "> |
||||
<span class="w-auto-folded avatar thumb-xs"> |
||||
<img src="/static/img/user_photo.jpg" class="img-circle" alt="..."> |
||||
</span> |
||||
</a> |
||||
</button> |
||||
<!-- / navbar right --> |
||||
{% else %} |
||||
<button class="pull-right visible-xs " target=".navbar-collapse"> |
||||
<a type="button" data-toggle="modal" data-target="#myModal1" ui-sref="access.signin"><i class="glyphicon glyphicon-log-out"></i></a> |
||||
</button> |
||||
<button class="pull-right visible-xs " target=".navbar-collapse"> |
||||
<a type="button" data-toggle="modal" data-target="#myModal" ui-sref="access.signin"><i class="glyphicon glyphicon-plus"></i></a> |
||||
</button> |
||||
{% endif %} |
||||
<!-- brand --> |
||||
<a href="/" class="navbar-brand text-lt" style="padding-right: 0;"> |
||||
<img src="/static/img/logo.png" alt="." class="" style=" max-width: 200px; |
||||
margin-left: 20px;"> |
||||
</a> |
||||
<!-- / brand --> |
||||
</div> |
||||
<!-- / navbar header --> |
||||
|
||||
</header> |
||||
<!-- / header --> |
||||
|
||||
<style> |
||||
.app-content-body:before { |
||||
content: ''; |
||||
display: inline-block; |
||||
height: 100%; |
||||
vertical-align: middle; |
||||
} |
||||
|
||||
.hbox { |
||||
display: inline-block; |
||||
vertical-align: middle; |
||||
} |
||||
|
||||
/* добавим горизонтальное центрирование */ |
||||
.app-content-body { |
||||
text-align: center; |
||||
} |
||||
input#error{ |
||||
background: red; |
||||
} |
||||
</style> |
||||
<!-- content --> |
||||
<div id="content" class="app-content" role="main" style="margin: 20px auto 0 auto;width: 100%;"> |
||||
<div class="app-content-body " style="padding: 0;"> |
||||
<div class="hbox hbox-auto-xs hbox-auto-sm" style="text-align: center;"> |
||||
|
||||
<div style="width: 570px; |
||||
margin: 0 auto; |
||||
list-style: none; |
||||
background-color: #fff; |
||||
padding: 20px; |
||||
height: 100%; |
||||
border-radius: 0 0 5px 5px; border-bottom: 5px solid #666;border-left: 1px solid #ccc; |
||||
border-right: 1px solid #ccc;"> |
||||
<div style="display: none;"> |
||||
<form action="{{ data.url }}" method="POST"> |
||||
{% for key, value in data.data.items %} |
||||
<input name="{{ key }}" value="{{ value }}"> |
||||
{% endfor %} |
||||
<input type="submit" value="Оплатить" name="bill_submit"> |
||||
</form> |
||||
</div> |
||||
<h2>{% if price != '0' %}Переход на страницу оплаты{% else %}Курс выдан вам в подарок{% endif %}</h2> |
||||
<p style=" margin: 50px 0;font-weight: bold; |
||||
background: #ffc; |
||||
padding: 5px;">{% if price != '0' %}Редирект будет осуществлен через <span name="redirect_count"></span>{% else %}<i class="glyphicon glyphicon-gift" style="font-size: 30px;"></i> {% endif %}</p> |
||||
<p> |
||||
{% if price != '0' %} |
||||
Если ваш браузер не поддерживает переадрессацию - перейдите по ссылке ниже: |
||||
<a href="#" style="color: blue;border-bottom: 1px dotted;" name="link_content" onclick="$('[name=bill_submit]').click()"> |
||||
Перейти к оплате |
||||
</a> |
||||
{% else %} |
||||
<a href="/" style="color: blue;border-bottom: 1px dotted;">Приятного обучения</a> |
||||
{% endif %} |
||||
</p> |
||||
</div> |
||||
<p style="text-align: left;margin: 20px auto;width: 530px;"> |
||||
<i class="glyphicon glyphicon-copyright-mark"></i> {% now "Y" %} |
||||
<span style="float: right;">{{ NAME }}</span> |
||||
</p> |
||||
|
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<!-- / content --> |
||||
<script type="text/javascript" src='/static/js/jquery.min.js'></script> |
||||
<script type="text/javascript" src='/static/js/bootstrap.min.js'></script> |
||||
<script type="text/javascript" src='/static/js/tools.js'></script> |
||||
<input name="REQUEST_USER_ID" style="display: none;" readonly value="{{ request.user.id }}"> |
||||
|
||||
{% block js %} |
||||
{% if price != '0' %} |
||||
<script> |
||||
$(function () { |
||||
start_count($('[name=redirect_count]'), 3, function () { |
||||
$('[name=bill_submit]').click() |
||||
}) |
||||
}) |
||||
</script> |
||||
{% endif %} |
||||
{% endblock %} |
||||
</body> |
||||
</html> |
||||
@ -1,34 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% load static %} |
||||
{% load course_filter %} |
||||
{% block title %}Доступ на страницу закрыт{% endblock %} |
||||
{% block page_title %}Доступ на страницу закрыт{% endblock %} |
||||
{% block head %} |
||||
{% endblock %} |
||||
{% block content %} |
||||
<div class="col"> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3"> |
||||
Доступ на страницу закрыт |
||||
</h1> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
{% if request.user.is_authenticated %} |
||||
<p style="text-align: center;"><img src="/static/img/journal_access.png"></p> |
||||
<p style=" text-align: center; |
||||
font-size: 20px; |
||||
margin-top: 30px;">Купите курс для получения доступа на эту страницу</p> |
||||
{% else %} |
||||
<p style="text-align: center;"><img src="/static/img/get_access.png"></p> |
||||
<p style=" text-align: center; |
||||
font-size: 20px; |
||||
margin-top: 30px;">Авторизуйтесь для получения доступа на эту страницу</p> |
||||
{% endif %} |
||||
|
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
@ -1,236 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block title %}Рабочий кабинет{% endblock %} |
||||
{% block content %} |
||||
<style type="text/css"> |
||||
.functions{ |
||||
width: 700px; |
||||
float: left; |
||||
} |
||||
.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{ |
||||
float: right; |
||||
} |
||||
</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 %} |
||||
@ -1,25 +0,0 @@ |
||||
{% extends 'articles_index.html' %} |
||||
{% load static %} |
||||
{% load course_filter %} |
||||
{% block title %}{{ article.title }}{% endblock %} |
||||
|
||||
{% block head_title %}{% if article.head_title %}{{ article.head_title }}{% else %}Точка Кода{% endif %}{% endblock %} |
||||
|
||||
|
||||
{% block head_description1 %}{% if article.haed_description %}{{ article.haed_description }}{% else %}Школа программирования{% endif %}{% endblock %} |
||||
{% block head_description2 %}{% if article.haed_description %}{{ article.haed_description }}{% else %}Школа программирования{% endif %}{% endblock %} |
||||
|
||||
{% block head_image %}{% if article.head_image %}{{ DOMAIN }}{{ article.head_image.url|safe }}{% else %}{{ DOMAIN }}static/img/3818cc0ec1.png{% endif %}{% endblock %} |
||||
|
||||
{% block app-content-body %}style="background:#fff;"{% endblock %} |
||||
{% block head %} |
||||
{{ article.css|safe }} |
||||
{% endblock %} |
||||
|
||||
{% block content %} |
||||
{{ article.page|safe }} |
||||
{% endblock %} |
||||
|
||||
{% block js %} |
||||
{{ article.js|safe }} |
||||
{% endblock %} |
||||
@ -1,67 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block title %}Комментарий #{{ comment.id }}{% endblock %} |
||||
{% block content %} |
||||
<div class="col" style="padding-left: 20px; padding-right: 20px;"> |
||||
<!-- main header --> |
||||
<div> |
||||
<div class="wrapper-lg" style="padding-bottom: 0; padding-top: 20px;"> |
||||
<div class="row m-t"> |
||||
<div class="clear m-b"> |
||||
<div class="m-b m-t-sm"> |
||||
<span class="h1 text text-u-c gread_title" style="font-size: 60px;">Комментарий #{{ comment.id }}</span><Br> |
||||
<p style="margin-top: 5px; |
||||
background: #f1f1f1; |
||||
padding: 5px 10px; |
||||
border-radius: 5px;"> |
||||
{{ comment.date }} |
||||
<span style="float: right;"><i class="glyphicon glyphicon-user"></i> Автор: <a href="{{ comment.owner_model.get_profile }}">{{ comment.owner_model.get_username }}</a></span> |
||||
</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
<div class="row well well-lg"> |
||||
{{ comment.text|safe }} |
||||
|
||||
</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
</div> |
||||
<!-- / main --> |
||||
<!-- right col --> |
||||
<div class="col w-md bg-white-only b-l bg-auto no-border-xs aside-col"> |
||||
|
||||
{% if request.user.is_authenticated %} |
||||
<div class="padder-md"> |
||||
<!-- streamline --> |
||||
<div class="m-b m-t text-md">Последняя активность</div> |
||||
<div class="streamline b-l m-b"> |
||||
<div class="sl-item b-success b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">минуту назад<br>Курс «Профессия веб-разработчик», занятие 6</div> |
||||
<p>Ваше <a href class="text-info">домашнее задание</a> одобрено преподавателем.</p> |
||||
</div> |
||||
</div> |
||||
<div class="sl-item b-danger b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">23:30 <br>Курс «Профессия веб-разработчик», занятие 6.</div> |
||||
<p>Ваше домашнее задание проверено преподавателем. Вам необходимо <a href class="text-info">провести работу над ошибками</a></p> |
||||
</div> |
||||
</div> |
||||
<div class="sl-item b-info b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">понедельник, 03.02.2015<br>Курс «Профессия веб-разработчик», занятие 6.</div> |
||||
<p>Преподаватель <a href class="text-info">оставил комментарий</a></p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<!-- / streamline --> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
<!-- / right col --> |
||||
|
||||
{% endblock %} |
||||
@ -1,10 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="UTF-8"> |
||||
<title>Title</title> |
||||
</head> |
||||
<body> |
||||
|
||||
</body> |
||||
</html> |
||||
@ -1,22 +0,0 @@ |
||||
<div id="hypercomments_widget"></div> |
||||
<script type="text/javascript"> |
||||
_hcwp = window._hcwp || []; |
||||
_hcwp.push({widget:"Stream", |
||||
widget_id: 83195, |
||||
auth_url: "{{ DOMAIN }}/?auth=True", |
||||
quote_disable: 1, |
||||
auth_logo: "{{ DOMAIN }}/static/img/mini_logo.png", |
||||
default_avatar: "{{ DOMAIN }}/static/img/mini_logo.png", |
||||
css: '{{ DOMAIN }}/static/css/hupercomment.css', |
||||
auth: '{{ COMMENT_USER_INFO|safe }}' |
||||
}); |
||||
(function() { |
||||
if("HC_LOAD_INIT" in window)return; |
||||
HC_LOAD_INIT = true; |
||||
var lang = ("ru").substr(0, 2).toLowerCase(); |
||||
var hcc = document.createElement("script"); hcc.type = "text/javascript"; hcc.async = true; |
||||
hcc.src = ("https:" == document.location.protocol ? "https" : "http")+"://w.hypercomments.com/widget/hc/83195/"+lang+"/widget.js"; |
||||
var s = document.getElementsByTagName("script")[0]; |
||||
s.parentNode.insertBefore(hcc, s.nextSibling); |
||||
})(); |
||||
</script> |
||||
@ -1,48 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block title %}Контакты компании{% endblock %} |
||||
{% block page_title %}Контакты компании{% endblock %} |
||||
{% block content %} |
||||
<div class="col"> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3" style=" margin-left: 10px !important;"> |
||||
Контакты компании |
||||
</h1> |
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-3" style=" padding-top: 30px; |
||||
padding-bottom: 20px; margin-left: 15px;"> |
||||
<b style="padding-bottom: 5px;">Наш офис</b><br> |
||||
<p style="margin-top: 5px;">Россия, Москва<br>Бауманская улица, 11с8</p> |
||||
</div> |
||||
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-3" style=" padding-top: 30px; |
||||
padding-bottom: 20px;"> |
||||
<b style="padding-bottom: 5px;">Юридическая информация</b><Br> |
||||
<p style="margin-top: 5px;">ИП Коропов Игорь Валентинович<br> ИНН 504793474705<br> ОГРНИП 314504727900026<br></p> |
||||
</div> |
||||
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-3" style="padding-top: 30px; padding-bottom: 20px; width: 500px;"> |
||||
<b style="padding-bottom: 5px;">Контакты</b><Br> |
||||
<div style="width: 200px; float: left"> |
||||
<p style="margin-top: 5px;">Общие вопросы:</p> |
||||
hello@skillbox.ru<br> |
||||
Тел.: (495) 120-40-96 доб. 27<br> |
||||
</div> |
||||
<div style="width: 200px; float: right"> |
||||
<p style="margin-top: 5px;">Тех вопросы:</p> |
||||
hello@skillbox.ru<br> |
||||
Тел.: (495) 120-40-96 доб. 25<br> |
||||
</div> |
||||
</div> |
||||
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-3"> |
||||
|
||||
</div> |
||||
<div style="clear: both;width: 100%;padding: 0 30px;"> |
||||
<script type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1.0/js/?sid=J0PuKHX3ko7ickygDF7NKUV93Ddo6YNv&width=100%&height=600&lang=ru_RU&sourceType=constructor&scroll=true"></script> |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
@ -1,375 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% load course_filter %} |
||||
{% block title %}Курс {{ course.head.title }}{% endblock %} |
||||
{% block content %} |
||||
|
||||
<div class="col"> |
||||
<div class="course_progress_bar" style=" width: 100%; |
||||
background: #ffc; |
||||
position: fixed; |
||||
z-index: 2000;left: 0;"></div> |
||||
<!-- main header --> |
||||
<div style="background:url({{ course.head.big_img }}) top right; background-size:cover"> |
||||
<div class="visible-sm visible-xs" style="background-color: rgba(0, 0, 0, 0.5);"> |
||||
<div class="wrapper-lg"> |
||||
<div class="row m-t"> |
||||
<div class="col-sm-7"> |
||||
<div class="clear m-b"> |
||||
<div class="panel-heading no-border" style="background: {{ course.head.level.background }};color:{{ course.head.level.color }};"> |
||||
<span class="text-lt ">{{ course.head.level.title }} уровень</span> |
||||
</div> |
||||
<div class="m-b m-t-sm"> |
||||
<span class="h1 text-u-c" style="font-weight: bold;color: #fff; "> |
||||
{{ course.head.title }} |
||||
</span> |
||||
</div> |
||||
{% if course.head.skills %} |
||||
<div style="color: #fff;margin-bottom: 5px;"> |
||||
<b style="margin-right: 5px;">Приобретаемые навыки:</b> |
||||
{% for skill in course.head.skills %} |
||||
<span class="label font-normal text-white" style="background: {{ skill.color }}">{% if skill.mini_icon %}<img src="{{ skill.mini_icon.url }}" style="margin-top: -1px;width: 10px; |
||||
height: 10px; |
||||
margin-right: 5px;">{% endif %}{{ skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
{% endif %} |
||||
<div style="color: #fff;"> |
||||
{{ course.head.lessons }} урока(-ов) |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-sm-5" style="text-align: center;"> |
||||
{% if course.head.progress != 0 %} |
||||
<div class="chart" data-percent="{{ course.head.progress }}" data-scale-color="#fff" |
||||
style="text-align: center;color: #fff;"> |
||||
<span id="canvas_length">{{ course.head.progress }}%</span> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="hidden-sm hidden-xs wrapper-lg"> |
||||
<div class="row m-t"> |
||||
<div class="col-sm-7"> |
||||
<div class="clear m-b"> |
||||
<div class="panel-heading no-border" style="background: {{ course.head.level.background }};color:{{ course.head.level.color }};"> |
||||
<span class="text-lt ">{{ course.head.level.title }} уровень</span> |
||||
</div> |
||||
<div class="m-b m-t-sm"> |
||||
<span class="h1 text-u-c" style="font-weight: bold;color: #fff; "> |
||||
{{ course.head.title }} |
||||
</span> |
||||
</div> |
||||
{% if course.head.skills %} |
||||
<div style="color: #fff;margin-bottom: 5px;"> |
||||
<b style="margin-right: 5px;">Приобретаемые навыки:</b> |
||||
{% for skill in course.head.skills %} |
||||
<span class="label font-normal text-white" style="background: {{ skill.color }}">{% if skill.mini_icon %}<img src="{{ skill.mini_icon.url }}" style="margin-top: -1px;width: 10px; |
||||
height: 10px; |
||||
margin-right: 5px;">{% endif %}{{ skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
{% endif %} |
||||
<div style="color: #fff;"> |
||||
{{ course.head.lessons }} урока(-ов) |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-sm-5" style="text-align: center;"> |
||||
{% if course.head.progress != 0 %} |
||||
<div class="chart" data-percent="{{ course.head.progress }}" data-scale-color="#fff" |
||||
style="text-align: center;color: #fff;"> |
||||
<span id="canvas_length">{{ course.head.progress }}%</span> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
<div class="row"> |
||||
|
||||
<ul class="timeline"> |
||||
<p style="float: right;margin-right: 10px;text-align: center;"> |
||||
<i class="glyphicon glyphicon-ok"></i> Просмотрено |
||||
<i class="glyphicon glyphicon-time"></i> Доступно |
||||
<i class="glyphicon glyphicon-remove"></i> Не доступно |
||||
</p> |
||||
<li class="tl-header"> |
||||
<div class="btn btn-success disabled">Старт</div> |
||||
</li> |
||||
<script> |
||||
window.e = 100/{{ course.length }}; |
||||
</script> |
||||
{% for i in course.themes %} |
||||
|
||||
{% if i.head.status.flag == 'A' %} |
||||
<script> |
||||
window.current = {{ i.head.mid }} |
||||
</script> |
||||
{% endif %} |
||||
|
||||
<script> |
||||
$('.course_progress_bar').append('<div class="label label-progress label-{% if i.head.type.flag == 'Ex' %}warning{% else %}{{ i.head.status.color }}{% endif %}" onclick="$(\'html,body\').stop().animate({ scrollTop: $(\'[name=theme{{ i.head.mid }}]\').offset().top }, 1000);" data-toggle="tooltip" data-placement="bottom" title="{{ i.head.title|safe }}" style="cursor:pointer;height: 5px;width:'+window.e+'%;float:left;padding: 0;margin: 0;border-radius: 0;border-left: 1px solid #fff;"> </div>'); |
||||
</script> |
||||
|
||||
<li class="tl-item tl-left"> |
||||
<div class="tl-wrap b-{{ i.head.status.color }}"> |
||||
{% if i.head.lessons_length > 0 %} |
||||
{% if i.head.button %} |
||||
<a {% if flow or flow == None %}href="{{ i.head.button.link }}{{ i.head.button.id }}" by_type="{{ i.head.button.by_type }}" self_id="{{ i.head.button.id }}" course_id="{{ i.head.button.course }}"{% else %}style="cursor: default;border-bottom: 0;"{% endif %}> |
||||
{% else %} |
||||
<a href="#"> |
||||
{% endif %} |
||||
{% else %} |
||||
{% for h in i.homework %} |
||||
<a href="{{ h.button.link }}{{ h.button.id }}" by_type="{{ h.button.by_type }}" self_id="{{ h.button.id }}" course_id="{{ h.button.course }}" |
||||
style="border-bottom: 1px dotted #999; padding-bottom: 5px;"> |
||||
{% endfor %} |
||||
{% endif %} |
||||
|
||||
<span class="tl-date" style="font-weight: bold;"> |
||||
Тема {{ i.head.sort }}<br> |
||||
<img src="{{ i.head.icon }}" style="margin-top: 5px;max-height: 48px;max-width: 48px;border-radius: 10px;"> |
||||
</span> |
||||
</a> |
||||
|
||||
<div class="tl-content panel padder b-a col-lg-11" style="width: 100%;"> |
||||
<span class="arrow left pull-up hidden-left visible-lg visible-md visible-sm"></span> |
||||
<span class="arrow right pull-up visible-left visible-lg visible-md visible-sm"></span> |
||||
|
||||
<div class="text-lt m-b-sm" style="font-weight: bold; font-size: 16px;margin-bottom: 5px;float: left;width: 100%;padding: 0 3% 0 2%;"> |
||||
<span style="float: left; margin: 5px 7px 0 0;"> |
||||
{% if i.head.lessons_length > 0 %} |
||||
{% if i.head.button %} |
||||
{% if flow or flow == None %} |
||||
<a name="theme{{ i.head.mid }}" href="{{ i.head.button.link }}{{ i.head.button.id }}" |
||||
by_type="{{ i.head.button.by_type }}" |
||||
self_id="{{ i.head.button.id }}" |
||||
course_id="{{ i.head.button.course }}"> |
||||
{% else %} |
||||
<a style="cursor: default;border-bottom: 0;"> |
||||
{% endif %} |
||||
{% else %} |
||||
<a style="cursor: default;border-bottom: 0;"> |
||||
{% endif %} |
||||
{% else %} |
||||
<!-- Ссылка на ДЗ --> |
||||
{% for h in i.homework %} |
||||
<a href="{{ h.button.link }}{{ h.button.id }}" |
||||
by_type="{{ h.button.by_type }}" |
||||
self_id="{{ h.button.id }}" |
||||
course_id="{{ h.button.course }}" |
||||
style="border-bottom: 1px dotted #999; padding-bottom: 5px;"> |
||||
{% endfor %} |
||||
{% endif %} |
||||
{{ i.head.title|safe }} |
||||
</a> |
||||
|
||||
{% if i.head.status.flag != 'N' and flow or flow == None %} |
||||
<span class="label font-normal text-white bg-{{ i.head.status.color }}" style="margin-left: 10px;"> |
||||
{{ i.head.status.title }}<i class="{{ i.head.status.icon }}" style="margin-right: 5px; margin-left: 10px;"></i> |
||||
</span> |
||||
{% endif %} |
||||
|
||||
</span> |
||||
|
||||
{% if i.head.lessons_length > 1 %} |
||||
<div class="label label-info" style="float: right; margin: 5px 0 0 0;">Уроков: {{ i.head.lessons_length }}</div> |
||||
{% endif %} |
||||
</div> |
||||
|
||||
<div class="panel-body p-b-none pull-in b-t b-light" style="margin-left: 2px;padding-bottom: 20px !important;clear: both;"> |
||||
{% if i.head.skills %} |
||||
<div style="margin-bottom: 10px;background-color: #ffc;padding: 10px;margin-right: 20px;border-radius: 5px;"> |
||||
<b style="margin-right: 5px;">Приобретаемые навыки:</b> |
||||
{% for n in i.head.skills %} |
||||
<span class="label font-normal text-default" style="background: {{ n.color }}">{% if n.mini_icon %}<img src="{{ n.mini_icon.url }}" style="margin-top: -1px;width: 10px; |
||||
height: 10px; |
||||
margin-right: 5px;">{% endif %}{{ n }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
{% endif %} |
||||
|
||||
{% if i.head.lessons_length > 1 %} |
||||
<ul style="padding: 0 0 0 15px;"> |
||||
{% for lesson in i.lessons %} |
||||
<li style=" padding-bottom: 3px;"> |
||||
{% if flow or flow == None %} |
||||
<a href="{{ lesson.button.link }}{{ lesson.button.id }}" by_type="{{ lesson.button.by_type }}" |
||||
self_id="{{ lesson.button.id }}" course_id="{{ lesson.button.course }}" |
||||
style="border-bottom: 1px dotted #333;color: #333;"> |
||||
{{ lesson.title|safe }} |
||||
<span class="label font-normal text-white bg-{{ lesson.status.color }}"><i class="{{ lesson.status.icon }}"></i></span> |
||||
</a> |
||||
{% else %} |
||||
{{ lesson.title|safe }} |
||||
<span class="label font-normal text-white bg-{{ lesson.status.color }}"><i class="{{ lesson.status.icon }}"></i></span> |
||||
{% endif %} |
||||
</li> |
||||
{% endfor %} |
||||
</ul> |
||||
{% else %} |
||||
{% if i.head.lessons_length == 1 %} |
||||
{% for les in i.lessons %} |
||||
{% if les.status.flag != 'N' %} |
||||
<blockquote class="m-t m-b-none col-lg-8" style="clear: both;width: 100%;margin-bottom: 20px !important;margin-top:10px;"> |
||||
<p> |
||||
<b>Статус урока: </b> |
||||
<span class="tags l-h-2x"> |
||||
<span class="label font-normal text-white bg-{{ les.status.color }}" style="margin-left: 10px;{{ les.status.styles }}">{{ les.status.title|safe }}<i class="{{ les.status.icon }}" style="margin-left: 10px;"></i></span> |
||||
</span> |
||||
</p> |
||||
</blockquote> |
||||
{% endif %} |
||||
{% endfor %} |
||||
|
||||
{% if i.head.description %} |
||||
<p><b>Описание:</b></p> |
||||
<div style="clear: both; padding-left: 10px;"> |
||||
<a href="{{ i.head.button.link }}{{ i.head.button.id }}" by_type="{{ i.head.button.by_type }}" self_id="{{ i.head.button.id }}" course_id="{{ i.head.button.course }}"> |
||||
<div>{{ i.head.description|safe }}</div> |
||||
</a> |
||||
</div> |
||||
{% endif %} |
||||
{% else %} |
||||
{% if i.head.description %} |
||||
<p><b>Описание:</b></p> |
||||
<div style="clear: both; padding-left: 10px;"> |
||||
<a href="{{ i.head.button.link }}{{ i.head.button.id }}" by_type="{{ i.head.button.by_type }}" self_id="{{ i.head.button.id }}" course_id="{{ i.head.button.course }}"> |
||||
<div>{{ i.head.description|safe }}</div> |
||||
</a> |
||||
</div> |
||||
{% endif %} |
||||
{% endif %} |
||||
|
||||
{% endif %} |
||||
|
||||
{% if i.homeworks_length != 0 %} |
||||
|
||||
{% for h in i.homework %} |
||||
{% if i.head.lessons_length == 0 %} |
||||
<blockquote class="m-t m-b-none col-lg-8"> |
||||
<p><a href="{{ h.button.link }}{{ h.button.id }}" by_type="{{ h.button.by_type }}" self_id="{{ h.button.id }}" course_id="{{ h.button.course }}" |
||||
style="border-bottom: 0; padding-bottom: 5px;"> |
||||
{{ h.description|safe }} |
||||
</a> |
||||
<span class="tags l-h-2x"> |
||||
<span class="label font-normal text-white bg-{{ h.status.color }}" style="margin-left: 10px;{{ h.status.styles }}">{{ h.status.title|safe }}<i class="{{ h.status.icon }}" style="margin-left: 10px;"></i></span> |
||||
{% if h.status.flag == 'T' or h.status.flag == 'A' %} |
||||
{% if h.delay.status %} |
||||
<br><i class="glyphicon glyphicon-info-sign" style="color: red"></i> Могут быть незначительные задержки с проверкой{% if h.delay.description %}: <b>"{{ h.delay.description|safe }}"</b>{% endif %} |
||||
{% endif %} |
||||
{% endif %} |
||||
</span> |
||||
</p> |
||||
</blockquote> |
||||
{% else %} |
||||
<blockquote class="m-t m-b-none col-lg-8"> |
||||
<p><a href="{{ h.button.link }}{{ h.button.id }}" by_type="{{ h.button.by_type }}" self_id="{{ h.button.id }}" course_id="{{ h.button.course }}" |
||||
style="border-bottom: 1px dotted #999; padding-bottom: 5px;"> |
||||
<span class="icon icon-graduation "></span> <b style="margin-left: 5px;">Домашнее задание:</b> |
||||
</a> |
||||
<span class="tags l-h-2x"> |
||||
<span class="label font-normal text-white bg-{{ h.status.color }}" style="margin-left: 10px;{{ h.status.styles }}">{{ h.status.title|safe }}<i class="{{ h.status.icon }}" style="margin-left: 10px;"></i></span> |
||||
{% if h.status.flag == 'T' or h.status.flag == 'A' %} |
||||
{% if h.delay.status %} |
||||
<br><i class="glyphicon glyphicon-info-sign" style="color: red"></i> Могут быть незначительные задержки с проверкой{% if h.delay.description %}: <b>"{{ h.delay.description|safe }}"</b>{% endif %} |
||||
{% endif %} |
||||
{% endif %} |
||||
</span> |
||||
</p> |
||||
</blockquote> |
||||
{% endif %} |
||||
{% endfor %} |
||||
{% endif %} |
||||
|
||||
{% if i.head.status.flag != 'N' %} |
||||
{% if i.head.button %} |
||||
<div style="clear: both; width: 100%; margin-top: 10px;"> |
||||
{% if flow or flow == None %} |
||||
<a type="button" class="flow" href="{{ i.head.button.link }}{{ i.head.button.id }}"> |
||||
<button class="btn pull-right btn-lg m-b-xs m-r-xs m-t-lg course_button" |
||||
style="background: {{ i.head.button.background }}; color: {{ i.head.button.color }}" |
||||
by_type="{{ i.head.button.by_type }}" |
||||
self_id="{{ i.head.button.id }}" |
||||
course_id="{{ i.head.button.course }}"> |
||||
{{ i.head.button.title }} |
||||
</button> |
||||
</a> |
||||
{% else %} |
||||
<a type="button" class="flow" href="#"> |
||||
<button class="btn pull-right btn-lg m-b-xs m-r-xs m-t-lg course_button" |
||||
style="background: {{ i.head.button.background }}; color: {{ i.head.button.color }}"> |
||||
{{ i.head.button.title }} |
||||
</button> |
||||
</a> |
||||
{% endif %} |
||||
</div> |
||||
{% endif %} |
||||
{% endif %} |
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
</li> |
||||
{% endfor %} |
||||
<li class="tl-header"> |
||||
<div class="btn btn-success disabled">Финиш</div> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
</div> |
||||
<!-- / main --> |
||||
<!-- right col --> |
||||
{% include 'right_site.html' %} |
||||
|
||||
{% endblock %} |
||||
{% block js %} |
||||
<script> |
||||
$('html,body').stop().animate({ scrollTop: $('[name=theme'+{% if request.GET.no_current %}{{ request.GET.no_current }}{% else %}window.current{% endif %}+']').offset().top }, 1000); |
||||
</script> |
||||
<script> |
||||
var flow = "{{ flow }}"; |
||||
$(function() { |
||||
$('.chart').easyPieChart({ |
||||
rotate: 0, |
||||
lineWidth: 60, |
||||
trackColor: 'rgba(255,255,255,0)', |
||||
barColor: 'rgba(35,183,229,0.7)', |
||||
size: 120, |
||||
lineCap: 'butt', |
||||
animate: 1000, |
||||
scaleLength: 0 |
||||
}); |
||||
$('[data-toggle="tooltip"]').tooltip() |
||||
|
||||
// Проверка доступности уроков(старт потока) |
||||
// если поток открыт редирект на урок |
||||
if ($('.flow').attr('href') === '#') { |
||||
$('.flow').on('click', function(e){ |
||||
e.preventDefault(); |
||||
var path = document.location.pathname; |
||||
$.get(path, function(data){ |
||||
_flow = $(data).find('.flow').attr('href'); |
||||
if (_flow === '#'){ |
||||
$('#flowAccess').modal('show'); |
||||
} |
||||
else { |
||||
document.location.href = _flow; |
||||
} |
||||
//console.log(_flow); |
||||
}); |
||||
}); |
||||
} |
||||
|
||||
if(flow == 'False'){ |
||||
$('#flowAccess').modal('show'); |
||||
} |
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
@ -1,14 +0,0 @@ |
||||
{% 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 %} |
||||
@ -1,165 +0,0 @@ |
||||
|
||||
<div class="modal fade" id="NewEmailChanged" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div class="modal-body"> |
||||
<div class="col-md-5 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/pass_success.png" alt=""> |
||||
</div> |
||||
<div class="col-md-7 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title title1" id="myModalLabel">Новый Email</p> |
||||
<p class="text_myModal4">Ваш почтовый ящик изменен.</p> |
||||
<button type="button" class="btn btn-warning btn-lg js-open-modal" data-dismiss="modal" aria-label="Close">Закрыть</button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<div class="modal fade" id="FeedBack" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('new_feedback_form', 'error_new_feedback')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div class="modal-body"> |
||||
<div class="col-md-5 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1447223559_new_seo2-28.png" alt=""> |
||||
</div> |
||||
<div class="col-md-7 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title title1" id="myModalLabel">Задайте свой вопрос</p> |
||||
<form action="" class="m-t-md" onsubmit="return false;" name="new_feedback_form"> |
||||
<p class="error" id="error_new_feedback" style="display: none"></p> |
||||
<input type="text" placeholder="Имя" name="name" {% if request.user.is_authenticated %}value="{{ request.user.get_full_name }}"{% endif %}><br> |
||||
<input type="email" placeholder="E-mail" name="email" {% if request.user.is_authenticated %}value="{{ request.user.email }}"{% endif %}><br> |
||||
<input type="text" placeholder="Телефон" name="phone" {% if request.user.is_authenticated %}value="{{ request.user.phone }}"{% endif %}><br> |
||||
<p style="padding-bottom: 0; margin-top: 20px;">Текст обращения</p> |
||||
<textarea name="text" class="form-control"></textarea> |
||||
<button class="btn btn-warning btn-lg" onclick="new_feedback()">Отправить</button> |
||||
</form> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="modal fade" id="FeedBackSuccess" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div class="modal-body"> |
||||
<div class="col-md-5 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/pass_success.png" alt=""> |
||||
</div> |
||||
<div class="col-md-7 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title title1" id="myModalLabel">Задать вопрос</p> |
||||
<p class="text_myModal4">Вопрос отправлен</p> |
||||
<button type="button" class="btn btn-warning btn-lg js-open-modal" data-dismiss="modal" aria-label="Close">Закрыть</button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
{% if request.GET.success_pay %} |
||||
<img src="//apypxl.com/ok/10843.png?actionpay=[click].[source]&apid=[action_id]&price=[price]" height="1" width="1" /> |
||||
<script type="text/javascript"> |
||||
window._retag_data = { |
||||
}; |
||||
window._retag = window._retag || []; |
||||
window._retag.push({code: "9ce8887712"}); |
||||
(function () { |
||||
var id = "admitad-retag"; |
||||
if (document.getElementById(id)) {return;} |
||||
var s = document.createElement("script"); |
||||
s.async = true; s.id = id; |
||||
var r = (new Date).getDate(); |
||||
s.src = (document.location.protocol == "https:" ? "https:" : "http:") + "//cdn.lenmit.com/static/js/retag.min.js?r="+r; |
||||
var a = document.getElementsByTagName("script")[0] |
||||
a.parentNode.insertBefore(s, a); |
||||
})() |
||||
</script> |
||||
<!-- Modal Окно success pay --> |
||||
<div class="modal fade" id="SuccessPay" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div class="modal-body"> |
||||
<div class="col-md-5 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1444990049_check.png" alt=""> |
||||
</div> |
||||
<div class="col-md-7 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title title1" id="myModalLabel">Счет оплачен</p> |
||||
<p class="text_myModal4">Желаем вам продуктивного обучения.</p> |
||||
{% if request.GET.course_id %} |
||||
<a type="button" class="btn btn-success btn-lg" href="/courses/{{ request.GET.course_id }}">Страницы курса</a> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<script> |
||||
$('#SuccessPay').modal('show') |
||||
</script> |
||||
{% endif %} |
||||
|
||||
{% if request.GET.fail_pay %} |
||||
<!-- Modal Окно fail pay --> |
||||
<div class="modal fade" id="FailPay" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div class="modal-body"> |
||||
<div class="col-md-5 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1444989073_wrong_table_no_navigator_formula.png" alt=""> |
||||
</div> |
||||
<div class="col-md-7 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title title1" id="myModalLabel">Платеж не принят</p> |
||||
<p class="text_myModal4">Во время проведеня платежа произошла ошибка.</p> |
||||
{% if request.GET.fail_pay_id %} |
||||
<button type="button" class="btn btn-success btn-lg" onclick="reply_bill({{ request.GET.fail_pay_id }})">Получить новый счет</button> |
||||
{% endif %} |
||||
{% if request.GET.fail_url %} |
||||
<a type="button" class="btn btn-success btn-lg" href="{{ request.GET.fail_url }}" target="_blank">Повторить оплату</a> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<script> |
||||
$('#FailPay').modal('show') |
||||
</script> |
||||
|
||||
{% endif %} |
||||
@ -1,333 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block head %} |
||||
<script src="/static/js/ckeditor/ckeditor.js"></script> |
||||
<script src="/static/js/ckeditor/adapters/jquery.js"></script> |
||||
{% endblock %} |
||||
{% block title %}{{ course.head.title }} / Домашнее задание{% endblock %} |
||||
|
||||
<!-- content --> |
||||
{% block content %} |
||||
|
||||
{% if exam.heaad.status == 'T' %} |
||||
<script> |
||||
$('[name=big_info_block]').html('Ваше задание проверяется преподавателем').fadeIn('fast') |
||||
</script> |
||||
{% endif %} |
||||
<!-- main --> |
||||
<div class="col"> |
||||
<!-- main header --> |
||||
<div style="background:url({{ course.head.big_img }}) top right; background-size:cover"> |
||||
<div class="visible-sm visible-xs" style="background-color: rgba(0, 0, 0, 0.5);"> |
||||
<div class="wrapper-lg"> |
||||
<div class="row m-t"> |
||||
<div class="col-sm-7"> |
||||
<div class="clear m-b"> |
||||
<div class="panel-heading no-border" style="background: {{ course.level.background }};color:{{ course.level.color }};"> |
||||
<span class="text-lt ">{{ course.level.title }} уровень</span> |
||||
</div> |
||||
<div class="m-b m-t-sm"> |
||||
<span class="h1 text-warning text-u-c" style="font-weight: bold;"> |
||||
{{ course.head.title }} |
||||
</span> |
||||
</div> |
||||
<div style="color: #fff;margin-bottom: 5px;"> |
||||
<b style="margin-right: 5px;">Приобретаемые навыки:</b> |
||||
{% for skill in course.head.skills %} |
||||
<span class="label font-normal text-white" style="background: {{ skill.color }}">{% if skill.mini_icon %}<img src="{{ skill.mini_icon.url }}" style="margin-top: -1px;width: 10px; |
||||
height: 10px; |
||||
margin-right: 5px;">{% endif %}{{ skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
<div style="color: #fff;"> |
||||
{{ course.head.lessons }} урока(-ов) |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-sm-5" style="text-align: center;"> |
||||
{% if course.head.progress != 0 %} |
||||
<div class="chart" data-percent="{{ course.head.progress }}" data-scale-color="#fff" |
||||
style="text-align: center;color: #fff;"> |
||||
<span id="canvas_length">{{ course.head.progress }}%</span> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="hidden-sm hidden-xs wrapper-lg"> |
||||
<div class="row m-t"> |
||||
<div class="col-sm-7"> |
||||
<div class="clear m-b"> |
||||
<div class="panel-heading no-border" style="background: {{ course.level.background }};color:{{ course.level.color }};"> |
||||
<span class="text-lt ">{{ course.level.title }} уровень</span> |
||||
</div> |
||||
<div class="m-b m-t-sm"> |
||||
<span class="h1 text-warning text-u-c" style="font-weight: bold;"> |
||||
{{ course.head.title }} |
||||
</span> |
||||
</div> |
||||
<div style="color: #fff;margin-bottom: 5px;"> |
||||
<b style="margin-right: 5px;">Приобретаемые навыки:</b> |
||||
{% for skill in course.head.skills %} |
||||
<span class="label font-normal text-white" style="background: {{ skill.color }}">{% if skill.mini_icon %}<img src="{{ skill.mini_icon.url }}" style="margin-top: -1px;width: 10px; |
||||
height: 10px; |
||||
margin-right: 5px;">{% endif %}{{ skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
<div style="color: #fff;"> |
||||
{{ course.head.lessons }} урока(-ов) |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-sm-5" style="text-align: center;"> |
||||
{% if course.head.progress != 0 %} |
||||
<div class="chart" data-percent="{{ course.head.progress }}" data-scale-color="#fff" |
||||
style="text-align: center;color: #fff;"> |
||||
<span id="canvas_length">{{ course.head.progress }}%</span> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper bg-white b-b"> |
||||
<ul class="nav nav-pills nav-sm"> |
||||
<li> |
||||
<a type="button" style="width: 100%;" class="col-lg-10 btn btn-default dropdown-toggle" href="/courses/{{ course.head.course_id }}"> |
||||
<i class="glyphicon glyphicon-chevron-left"></i> Страница курса |
||||
</a> |
||||
</li> |
||||
<!-- Кнопка нового урока --> |
||||
<li name="next_button" {% if exam.head.status.flag != 'F' %}style="display: none;"{% endif %}> |
||||
<a type="button" href="{{ exam.next.button.link }}{{ exam.next.obj.id }}" style="background: {{ exam.next.button.background }}; color: {{ exam.next.button.color }}" |
||||
by_type="{{ exam.next.button.by_type }}" |
||||
self_id="{{ exam.next.obj.id }}" |
||||
course_id="{{ exam.next.obj.course.id }}"> |
||||
{{ exam.next.button.title }} <i class="glyphicon glyphicon-chevron-right"></i> |
||||
</a> |
||||
</li> |
||||
<!-- Статус --> |
||||
<li style="float: right; padding: 6px 12px;"> |
||||
<span style="padding: 6px 12px;font-weight: bold;"> |
||||
<span class="label font-normal text-white bg-{{ exam.head.status.color }}" style="margin-left: 10px;font-size: 19px;{{ exam.head.status.styles }}">{{ exam.head.status.title }}<i class="{{ exam.head.status.icon }}" style="margin-right: 5px; margin-left: 10px; top: 3px;"></i></span> |
||||
</span> |
||||
</li> |
||||
|
||||
</ul> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
<div class="row m-l-xs"> |
||||
<div class="panel col-lg-6 p-r-none"> |
||||
<div class="wrapper-lg"> |
||||
<h2 class="m-t-none text-black">Описание задания</h2> |
||||
<div> |
||||
{{ exam.head.description|safe }} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-6 pl-fix p-r-none"> |
||||
<div class="col-lg-12 p-l-none p-r-none"> |
||||
{% if exam.materials %} |
||||
<div class="col-sm-12"> |
||||
<div draggable="true" class="panel panel-info"> |
||||
<div class="panel-heading"> |
||||
Материалы к заданию |
||||
</div> |
||||
{% for i in exam.materials %} |
||||
<div class="list-group bg-white"> |
||||
{% if i.format == 'I' %} |
||||
<a href="{{ i.url }}" class="list-group-item" target="_blank" id="single_image"> |
||||
{% else %} |
||||
<a href="{{ i.url }}" class="list-group-item" target="_blank"> |
||||
{% endif %} |
||||
{% if i.icon_type != 'class' %} |
||||
<img src="{{ i.icon }}"> |
||||
{% else %} |
||||
<i class="{{ i.icon }} text-lg inline text-primary"></i> |
||||
{% endif %} |
||||
<span class="clear inline"> |
||||
<span>{{ i.title }}</span> |
||||
<small class="text-muted clear text-ellipsis">{{ i.name }}</small> |
||||
</span> |
||||
</a> |
||||
</div> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="row"> |
||||
|
||||
<a name="comment_list_place"></a> |
||||
{% if exam.tries %} |
||||
<h3 style="margin-bottom: 25px;margin-left: 20px;font-weight: bold;border-bottom: 1px dotted #ccc;padding-bottom: 5px;"><i class="glyphicon glyphicon-briefcase"></i> Попыток: (<span name="comments_length">{{ exam.tries|length }}</span>) : </h3> |
||||
{% endif %} |
||||
<div class="col-lg-12" name="exam_comments_block"> |
||||
{% if exam.tries %} |
||||
{% for try in exam.tries %} |
||||
<div class="m-b b-l m-l-md streamline" name="try_comments_{{ try.id }}" exam_id="{{ exam.head.mid }}"> |
||||
<div name="try_{{ try.id }}"> |
||||
<span class="pull-left thumb-sm avatar m-l-n-md"> |
||||
<img src="/static/img/mini_logo.png" class="img-circle"></span> |
||||
<div class="m-l-lg panel b-a" style="background:#CCFFFF;"> |
||||
<div class="panel-heading pos-rlt b-b b-light"> |
||||
<span class="arrow left" style="display: none;"></span> |
||||
<b>LMS: ~# </b> |
||||
<span class="arrow left" style="border-right-color:#CCFFFF;"></span> |
||||
<span style="font-size: 16px;color: #666;font-weight: bold;">Попытка №{{ forloop.counter }}</span> |
||||
<script>window.last_try = {{ forloop.counter }}</script> |
||||
|
||||
<span class="text-muted m-l-sm pull-right" style="margin-top: -6px;"> |
||||
<span class="label font-normal text-white bg-success" style="margin-left: 10px;text-shadow: 0 0 0;font-size: 16px"> |
||||
<span class="hidden-xs hidden-sm">{{ try.teacher.get_full_name }}</span> |
||||
<span class="hidden-md hidden-lg">{{ try.teacher.get_short_name }}</span> |
||||
<span class="thumb-sm avatar" style="margin-left: 10px;top: -3px;position: relative;"> |
||||
<img src="{{ try.teacher.get_image_url }}" class="img-circle"> |
||||
</span> |
||||
</span> |
||||
<span class="label font-normal text-white bg-{{ try.status.color }}" style="margin-left: 10px;font-size: 19px;font-weight: bold;{{ try.status.styles }}"> |
||||
<span class="hidden-sm hidden-xs hidden-md">{{ try.status.title }}</span><i class="{{ try.status.icon }}" style="top: 3px; margin: 0 15px;"></i> |
||||
</span> |
||||
|
||||
</span> |
||||
</div> |
||||
</div> |
||||
<!-- --> |
||||
</div> |
||||
{% for comment in try.comments %} |
||||
<a href="comment{{ comment.id }}"></a> |
||||
<div name="comment_{{ comment.id }}"> |
||||
<span class="pull-left thumb-sm avatar m-l-n-md"> |
||||
<img src="{{ comment.owner_avatar }}" class="img-circle"></span> |
||||
<div class="m-l-lg panel b-a" style="background: {% if comment.owner_type.flag == 'T' %}#f5fce5{% endif %}"> |
||||
<div class="panel-heading pos-rlt b-b b-light"> |
||||
<span class="arrow left" style="display: none;"></span> |
||||
<b style="margin-right: 5px;">{{ comment.owner }}</b> |
||||
<span class="arrow left" style="border-right-color: {% if comment.owner_type.flag == 'T' %}#f5fce5{% endif %}"></span> |
||||
<label class="label {{ comment.owner_type.background }} m-l-xs">{{ comment.owner_type.title }}</label> |
||||
<span class="text-muted m-l-sm pull-right">{{ comment.date }}</span> |
||||
</div> |
||||
<div class="panel-body" readable_comment="{{ comment.id }}"> |
||||
<div class="m-b-xs">{{ comment.text|safe }}</div> |
||||
{% for file in comment.files %} |
||||
<div name="message_files" message_id="{{ comment.id }}"> |
||||
<div class="panel m-b-none" style="box-shadow: none; border: 1px solid rgba(0, 0, 0, 0.05); padding: 4px; margin-bottom: 3px !important;"> |
||||
<a href="{{ file.url }}" target="{% if file.format == 'F' %}_blank{% endif %}" id=""> |
||||
<i class="{{ file.icon }} text-primary"></i> {{ file.name }} |
||||
</a> |
||||
</div> |
||||
</div> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
<!-- --> |
||||
</div> |
||||
|
||||
{% endfor %} |
||||
</div> |
||||
{% endfor %} |
||||
{% endif %} |
||||
{% if request.user.is_authenticated %} |
||||
{% if exam.head.status.flag != 'N' and exam.head.status.flag != 'F' %} |
||||
<div class="progress" name="sent_comment_progress" style="height: 40px;display: none;"> |
||||
<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" |
||||
style="width: 100%; font-weight: bold; font-size: 15px;padding: 10px;"> |
||||
ОТПРАВКА КОММЕНТАРИЯ |
||||
</div> |
||||
</div> |
||||
<a name="comment_send_form_place"></a> |
||||
<form name="comment_send_form" onsubmit="return false" method="POST"> |
||||
<h3 style="margin-bottom: 10px; |
||||
margin-left: 40px;font-weight: bold;border-top: 1px dotted #ccc;padding-top: 10px;"><i class="glyphicon glyphicon-comment"></i> ОСТАВИТЬ СООБЩЕНИЕ <span name="reply_info"></span>: </h3> |
||||
<div style="background: #ccc; |
||||
padding: 10px; |
||||
margin-left: 15px; |
||||
border-radius: 20px 20px 0 0; |
||||
text-align: center;"> |
||||
{% if request.user.is_authenticated and resuqest.user.in_role == 'Ts' or request.user.in_role == 'A' %} |
||||
<i class="glyphicon glyphicon-wrench" style=" font-size: 40px; |
||||
float: left; |
||||
padding-right: 20px;"></i> |
||||
<span class="btn btn-default btn-lg" onclick="CKEDITOR.instances.homework_text.setData('TEXT');send_comment('comment_send_form', 'form_file_load')">Просто отправить</span> |
||||
<span class="btn btn-success btn-lg" onclick="CKEDITOR.instances.homework_text.setData('GO_TO_SUCCESS');send_comment('comment_send_form', 'form_file_load')">Заставить одобрить</span> |
||||
<span class="btn btn-danger btn-lg" onclick="CKEDITOR.instances.homework_text.setData('GO_TO_FAIL');send_comment('comment_send_form', 'form_file_load')">Заставить отказать</span> |
||||
{% endif %} |
||||
</div> |
||||
<div class="clearfix" style="margin-bottom:10px;"> |
||||
<div class="form-group"> |
||||
<div class="col-sm-12 p-r-none"> |
||||
<input type="text" name="exam_id" readonly value="{{ exam.head.id }}" style="display: none;"> |
||||
<textarea style="overflow:scroll;height:200px;max-height:200px;width: 100%;border-radius:3px;font-weight: bold;padding: 15px 20px;" name="exam_text" class="form-control"></textarea> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="form-group"> |
||||
<div class="col-xs-12 col-sm-12 col-md-9 p-r-none m-b-md" name="files_sketches"> |
||||
|
||||
</div> |
||||
<div class="col-xs-12 col-sm-12 col-md-3 p-r-none m-b-md"> |
||||
<button class="btn btn-lg btn-info m-t-xs pull-right" style="min-width: 240px;width: 100%;border-radius: 3px;" onclick="send_comment('comment_send_form', 'form_file_load')">Отправить сообщение</button> |
||||
</div> |
||||
|
||||
</div> |
||||
</form> |
||||
<form enctype='multipart/form-data' |
||||
action='/storage/upload_file/' |
||||
method='post' |
||||
name='load_file' |
||||
id="form_file_load_form" |
||||
target='hidden_frame' |
||||
class="load_file" style="text-align: right; clear: right; margin-bottom: 20px;"> |
||||
<input type='hidden' name='MAX_FILE_SIZE' value='64000'> |
||||
<input id="form_file_load" name='file_load' type='file' data-icon="false" data-classbutton="btn btn-default" data-classinput="form-control inline v-middle input-s" tabindex="-1" |
||||
style="outline: 0;background: #ffc; padding: 5px 10px;border-radius: 5px;margin: auto;position: absolute; clip: rect(0px, 0px, 0px, 0px);" sketch_place="files_sketches"> |
||||
<button class="btn btn-default" onclick="return false;" style="display: none;" name="form_file_load_progress"> |
||||
<img src="/static/img/ui-anim_basic_16x16.gif"> |
||||
</button> |
||||
<div class="bootstrap-filestyle input-group" name="form_file_load_button"> |
||||
<span tabindex="0" class="group-span-filestyle input-group-btn" style="text-align: right;"> |
||||
<label for="form_file_load" class="btn btn-default "> |
||||
<span><span class="glyphicon glyphicon-save-file"></span> Добавить файл</span> |
||||
</label> |
||||
</span> |
||||
</div> |
||||
<input type="text" name="clip_file_id" readonly value="0" style="display: none;"> |
||||
</form> |
||||
{% endif %} |
||||
{% else %} |
||||
<p>Для работы с домашним заданием, авторизуйтесь.</p> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
<!-- / main --> |
||||
{% include 'right_site.html' %} |
||||
|
||||
<!-- / right col --> |
||||
<input name="exam_ID" value="{{ exam.id }}" style="display: none;"> |
||||
{% endblock %} |
||||
<!-- / content --> |
||||
{% block js %} |
||||
<script type="text/javascript" src='/static/js/exam.js'></script> |
||||
<!--<script type="text/javascript" src='/static/js/video_reloader.js'></script>--> |
||||
<script> |
||||
$(function() { |
||||
$('.chart').easyPieChart({ |
||||
rotate: 0, |
||||
lineWidth: 57, |
||||
trackColor: 'rgba(255,255,255,0)', |
||||
barColor: 'rgba(35,183,229,0.7)', |
||||
size: 120, |
||||
lineCap: 'butt', |
||||
animate: 1000, |
||||
scaleLength: 0 |
||||
}); |
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
@ -1,185 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% load static %} |
||||
{% load course_filter %} |
||||
{% block page_title %}Доступные курсы{% endblock %} |
||||
{% block head %} |
||||
{% endblock %} |
||||
{% block content %} |
||||
<div class="col"> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3"> |
||||
Доступные курсы |
||||
</h1> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
|
||||
{% for i in courses %} |
||||
<div class="col-lg-6"> |
||||
|
||||
<div class="panel b-a" style="overflow: hidden;"> |
||||
{% if i.level == 'B' %} |
||||
<div class="panel-heading no-border bg-success"> |
||||
<span class="text-lt ">{{ i.get_level_display }} уровень</span> |
||||
</div> |
||||
{% else %} |
||||
{% if i.level == 'A' %} |
||||
<div class="panel-heading no-border bg-warning"> |
||||
<span class="text-lt ">{{ i.get_level_display }} уровень</span> |
||||
</div> |
||||
{% else %} |
||||
{% if i.level == 'E' %} |
||||
<div class="panel-heading no-border bg-danger"> |
||||
<span class="text-lt ">{{ i.get_level_display }} уровень</span> |
||||
</div> |
||||
{% endif %} |
||||
{% endif %} |
||||
{% endif %} |
||||
<div class="item m-l-n-xxs m-r-n-xxs" style="height: 290px;background:url({{ i.get_image }}) no-repeat center center; background-size: cover;"> |
||||
<div class="bottom wrapper bg-gd-dk text-white" style="width: 100%;"> |
||||
{% if i.id|get_progress_persent:request.user.id != 0 %} |
||||
<div class="chart" data-percent="{{ i.id|get_progress_persent:request.user.id }}" data-scale-color="#fff" |
||||
style="text-align: center;"> |
||||
<span id="canvas_length">{{ i.id|get_progress_persent:request.user.id }}%</span> |
||||
</div> |
||||
{% endif %} |
||||
<div class="text-u-c h3 m-b-none text-primary-lter">{{ i.title }}</div> |
||||
{{ i.lessons_length }} урока(-ов) |
||||
<div style="color: #fff;margin-bottom: 5px;"> |
||||
{% for skill in i.get_skills %} |
||||
<span class="label font-normal text-white" style="background: {{ skill.skill.color }}">{{ skill.skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
<div class="tags l-h-2x"> |
||||
{% for n in i.skills %} |
||||
<span class="label font-normal text-white" style="background: {{ i.background }}">{{ i.skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="hbox text-center text-sm"> |
||||
<a href="/courses/{{ i.id }}" class="col-md-8 col-xs-8 bg-warning padder-v b-light" style="width: 100%;"> |
||||
<i class="icon-rocket block m-b-xs fa-2x text-black"></i> |
||||
<span class="text-black">Приступить</span> |
||||
</a> |
||||
</div> |
||||
|
||||
</div> |
||||
|
||||
</div> |
||||
{% endfor %} |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="col w-md bg-white-only b-l bg-auto no-border-xs aside-col"> |
||||
|
||||
{% if request.user.is_authenticated %} |
||||
{% if actions %} |
||||
<div class="padder-md"> |
||||
<!-- streamline --> |
||||
<div class="m-b m-t text-md" style="margin-bottom: 0;">Последняя активность<p style="margin-bottom: 10px;"><a href="/access/all_actions/" style=" font-size: 12px; |
||||
color: blue; |
||||
border-bottom: 1px dotted">ВСЯ ИСТОРИЯ</a></p></div> |
||||
<div class="streamline b-l m-b"> |
||||
{% for i in actions %} |
||||
<div class="sl-item {{ i.get_a_type_display }} b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">{{ i.date }}<br>{{ i.place }}</div> |
||||
<p>{{ i.text|safe }}</p> |
||||
</div> |
||||
</div> |
||||
{% endfor %} |
||||
</div> |
||||
<!-- / streamline --> |
||||
</div> |
||||
{% endif %} |
||||
{% endif %} |
||||
<!-- |
||||
<div class="panel-body"> |
||||
<div class="m-b m-t text-md" style="margin-top: 0;">Новости Школы</div> |
||||
<div id="news_block"></div> |
||||
</div> |
||||
--> |
||||
<!-- aside right --> |
||||
<div class="app-aside-right pos-fix no-padder w-md w-auto-xs bg-white b-l animated fadeInRight hide"> |
||||
<div class="vbox"> |
||||
<div class="wrapper b-b b-t b-light m-b"> |
||||
<a href class="pull-right text-muted text-md" ui-toggle-class="show" target=".app-aside-right"><i class="icon-close"></i></a> |
||||
Chat |
||||
</div> |
||||
<div class="row-row"> |
||||
<div class="cell"> |
||||
<div class="cell-inner padder"> |
||||
<!-- chat list --> |
||||
<div class="m-b"> |
||||
<a href class="pull-left thumb-xs avatar"><img src="/static/img/a2.jpg" alt="..."></a> |
||||
<div class="clear"> |
||||
<div class="pos-rlt wrapper-sm b b-light r m-l-sm"> |
||||
<span class="arrow left pull-up"></span> |
||||
<p class="m-b-none">Hi John, What's up...</p> |
||||
</div> |
||||
<small class="text-muted m-l-sm"><i class="fa fa-ok text-success"></i> 2 minutes ago</small> |
||||
</div> |
||||
</div> |
||||
<div class="m-b"> |
||||
<a href class="pull-right thumb-xs avatar"><img src="/static/img/a3.jpg" class="img-circle" alt="..."></a> |
||||
<div class="clear"> |
||||
<div class="pos-rlt wrapper-sm bg-light r m-r-sm"> |
||||
<span class="arrow right pull-up arrow-light"></span> |
||||
<p class="m-b-none">Lorem ipsum dolor :)</p> |
||||
</div> |
||||
<small class="text-muted">1 minutes ago</small> |
||||
</div> |
||||
</div> |
||||
<div class="m-b"> |
||||
<a href class="pull-left thumb-xs avatar"><img src="/static/img/a2.jpg" alt="..."></a> |
||||
<div class="clear"> |
||||
<div class="pos-rlt wrapper-sm b b-light r m-l-sm"> |
||||
<span class="arrow left pull-up"></span> |
||||
<p class="m-b-none">Great!</p> |
||||
</div> |
||||
<small class="text-muted m-l-sm"><i class="fa fa-ok text-success"></i>Just Now</small> |
||||
</div> |
||||
</div> |
||||
<!-- / chat list --> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper m-t b-t b-light"> |
||||
<form class="m-b-none"> |
||||
<div class="input-group"> |
||||
<input type="text" class="form-control" placeholder="Say something"> |
||||
<span class="input-group-btn"> |
||||
<button class="btn btn-default" type="button">SEND</button> |
||||
</span> |
||||
</div> |
||||
</form> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<!-- / aside right --> |
||||
|
||||
</div> |
||||
{% endblock %} |
||||
|
||||
{% block js %} |
||||
<script type="text/javascript" src='/static/js/index.js'></script> |
||||
<script> |
||||
$(function() { |
||||
$('.chart').easyPieChart({ |
||||
rotate: 0, |
||||
lineWidth: 57, |
||||
trackColor: 'rgba(255,255,255,0)', |
||||
barColor: 'rgba(35,183,229,0.7)', |
||||
size: 120, |
||||
lineCap: 'butt', |
||||
animate: 1000, |
||||
scaleLength: 0 |
||||
}); |
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
@ -1,111 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block title %}Часто задаваемые вопросы{% endblock %} |
||||
{% block content %} |
||||
<div class="col"> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3"> |
||||
<i class="glyphicon glyphicon-question-sign"></i> {% if admin %}Внутренняя Ф@ка{% else %}Помощь в системе{% endif %} |
||||
</h1> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
{% if a_faqs %} |
||||
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="false" style="clear: both;"> |
||||
{% for i in a_faqs %} |
||||
<div class="panel panel-default"> |
||||
<div class="panel-heading" role="tab" id="heading{{ i.id }}"> |
||||
<h4 class="panel-title"> |
||||
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse{{ i.id }}" aria-expanded="false" aria-controls="collapse{{ i.id }}"> |
||||
<img src="{{ i.icon }}" style=" max-height: 20px; |
||||
float: left; |
||||
margin-right: 5px;"> |
||||
{{ i.title }} |
||||
</a> |
||||
</h4> |
||||
</div> |
||||
<div id="collapse{{ i.id }}" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="heading{{ i.id }}"> |
||||
<div class="panel-body"> |
||||
<ul> |
||||
{% for n in i.answers %} |
||||
<li><a href="/management/faq/{{ n.id }}">{{ n.question|safe }}</a></li> |
||||
{% endfor %} |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endfor %} |
||||
</div> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3"> |
||||
<i class="glyphicon glyphicon-question-sign"></i> {% if admin %}Пользовательская Ф@ка{% endif %} |
||||
</h1> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
|
||||
<div class="col-lg-6" id="1"></div> |
||||
<div class="col-lg-6" id="2"></div> |
||||
|
||||
|
||||
{% for i in faqs %} |
||||
<script> |
||||
$('#{% cycle '2' '1' %}').append( |
||||
'<div class="panel b-a" style="overflow: hidden; clear: both;">' + |
||||
'<div class="panel-heading no-border" style=" background: #ffcd00;font-weight: bold;font-size: 17px;">' + |
||||
'<img src="{{ i.icon }}" style="margin-right: 10px;max-height: 46px;max-width: 46px;"> {{ i.title }}' + |
||||
'</div>' + |
||||
'<div class="item m-l-n-xxs m-r-n-xxs">' + |
||||
'<div class="bottom wrapper bg-gd-dk text-white" style="width: 100%;padding:0; position: relative;">' + |
||||
'<div class="panel-group" id="accordion{{ i.id }}" role="tablist" aria-multiselectable="true" style="margin-bottom: 0;">' + |
||||
{% for n in i.answers %} |
||||
'<div class="panel panel-default" style="margin: 0; border-radius: 0;">' + |
||||
'<a data-toggle="collapse" data-parent="#accordion{{ i.id }}" key="{{ i.id }}_{{ forloop.counter }}" ' + |
||||
'href="#collapse{{ i.id }}_{{ forloop.counter }}"' + |
||||
'aria-expanded="true" style="color: #333; font-size: 14px;"' + |
||||
'aria-controls="collapse{{ i.id }}_{{ forloop.counter }}" onclick="change_faq_vector($(this).attr(\'key\'))">' + |
||||
'<div class="panel-heading" role="tab" id="heading{{ i.id }}_{{ forloop.counter }}" style=" font-size: 14px;">' + |
||||
'<div class="panel-title" style=" padding: 0 35px; font-size: 14px;">' + |
||||
|
||||
'<i class="glyphicon glyphicon-chevron-right" name="vector" set="false" id="{{ i.id }}_{{ forloop.counter }}" style="transform: rotate(0deg);transition: 0.25s"></i> {{ n.question|safe }}' + |
||||
|
||||
'</div>' + |
||||
'</div>' + |
||||
'</a>' + |
||||
'<div id="collapse{{ i.id }}_{{ forloop.counter }}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading{{ i.id }}_{{ forloop.counter }}">' + |
||||
'<div class="panel-body" style="color: #333; padding: 20px 10%;">' + |
||||
'{{ n.answer|safe }}' + |
||||
'</div>' + |
||||
'</div>' + |
||||
'</div>' + |
||||
{% endfor %} |
||||
'</div>' + |
||||
'</div>' + |
||||
'</div>' + |
||||
'</div>' |
||||
) |
||||
</script> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
{% include 'right_site.html' %} |
||||
{% endblock %} |
||||
{% block js %} |
||||
<script> |
||||
function change_faq_vector(key) { |
||||
var bl = $('#'+key); |
||||
if (bl.attr('set') == 'true'){ |
||||
bl.css('transform', 'rotate(0deg)').attr('set', false); |
||||
} else { |
||||
$('[name=vector][set=true]').css('transform', 'rotate(0deg)').attr('set', false); |
||||
bl.css('transform', 'rotate(90deg)').attr('set', true); |
||||
} |
||||
|
||||
} |
||||
</script> |
||||
{% endblock %} |
||||
@ -1,25 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block title %}Часто задаваемые вопросы{% endblock %} |
||||
{% block content %} |
||||
<div class="col"> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3"> |
||||
<a href="/management/faq/" style="margin-left: 10px;margin-right: 20px;"><i class="glyphicon glyphicon-chevron-left"></i> Назад</a> |
||||
<i class="glyphicon glyphicon-education"></i> {{ faq.question }} |
||||
{% if request.user.is_authenticated and request.user.is_admin %} |
||||
<div style="float: right; |
||||
background: #ff1; |
||||
padding: 5px; |
||||
border-radius: 3px; |
||||
border: 1px dotted #ccc;"><a href="http://go.skillbox.ru/admin/management/faq/{{ faq.id }}" target="_blank"><i class="glyphicon glyphicon-pencil"></i> </a></div> |
||||
{% endif %} |
||||
</h1> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md" style=" background: #ffc;">{{ faq.answer|safe }}</div> |
||||
</div> |
||||
{% include 'right_site.html' %} |
||||
{% endblock %} |
||||
@ -1,55 +0,0 @@ |
||||
{% extends 'reports/base_index.html' %} |
||||
{% load course_filter %} |
||||
{% block title %}Бесплатная неделя{% endblock %} |
||||
{% block page_title %}Бесплатная неделя{% endblock %} |
||||
{% block head %} |
||||
{% endblock %} |
||||
{% block content %} |
||||
<h3 style="margin-left: 20px;margin-top:40px;font-weight: bold;border-top: 1px dotted #ccc;padding-top: 30px;"> |
||||
<i class="glyphicon glyphicon-equalizer"></i> {{ title }} |
||||
</h3> |
||||
<table class="table table-hover" style="background: #ffc;"> |
||||
<tr style="font-weight: bold;background: #ccc;"> |
||||
<td>Всего пользователей</td> |
||||
<td>Прошли активацию</td> |
||||
<td>Java <i>[ {{ java.all }} ]</i></td> |
||||
<td>Web <i>[ {{ web.all }} ]</i></td> |
||||
<td>Android <i>[ {{ android.all }} ]</i></td> |
||||
<td>C# <i>[ {{ csh.all }} ]</i></td> |
||||
</tr> |
||||
<tr> |
||||
<td style="border-right: 1px dotted #ccc;">{{ all }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ active.count }} <i>[{{ active.persent }}%]</i></td> |
||||
<td style="border-right: 1px dotted #ccc;"> |
||||
Проходят обучение: {{ java.in.count }}<br> |
||||
Получили домашку: {{ java.in_hw }}<br> |
||||
Сдали домашку: {{ java.out_hw }}<br> |
||||
</td> |
||||
<td style="border-right: 1px dotted #ccc;"> |
||||
Проходят обучение: {{ web.in.count }}<br> |
||||
Получили домашку: {{ web.in_hw }}<br> |
||||
Сдали домашку: {{ web.out_hw }}<br> |
||||
</td> |
||||
<td style="border-right: 1px dotted #ccc;"> |
||||
Проходят обучение: {{ android.in.count }}<br> |
||||
Получили домашку: {{ android.in_hw }}<br> |
||||
Сдали домашку: {{ android.out_hw }}<br> |
||||
</td> |
||||
<td style="border-right: 1px dotted #ccc;"> |
||||
Проходят обучение: {{ csh.in.count }}<br> |
||||
Получили домашку: {{ csh.in_hw }}<br> |
||||
Сдали домашку: {{ csh.out_hw }}<br> |
||||
</td> |
||||
</tr> |
||||
<tr> |
||||
<td></td> |
||||
<td></td> |
||||
<td><a href="#" style="color: #00bdff;border-bottom: 1px dotted #00bdff;">Открыть конкретику</a></td> |
||||
<td><a href="#" style="color: #00bdff;border-bottom: 1px dotted #00bdff;">Открыть конкретику</a></td> |
||||
<td><a href="#" style="color: #00bdff;border-bottom: 1px dotted #00bdff;">Открыть конкретику</a></td> |
||||
<td><a href="#" style="color: #00bdff;border-bottom: 1px dotted #00bdff;">Открыть конкретику</a></td> |
||||
</tr> |
||||
</table> |
||||
{% endblock %} |
||||
{% block js %} |
||||
{% endblock %} |
||||
@ -1,185 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% load static %} |
||||
{% load course_filter %} |
||||
{% block page_title %}Доступные курсы{% endblock %} |
||||
{% block head %} |
||||
{% endblock %} |
||||
{% block content %} |
||||
<div class="col"> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3"> |
||||
Доступные курсы |
||||
</h1> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
|
||||
{% for i in courses %} |
||||
<div class="col-lg-6"> |
||||
|
||||
<div class="panel b-a" style="overflow: hidden;"> |
||||
{% if i.level == 'B' %} |
||||
<div class="panel-heading no-border bg-success"> |
||||
<span class="text-lt ">{{ i.get_level_display }} уровень</span> |
||||
</div> |
||||
{% else %} |
||||
{% if i.level == 'A' %} |
||||
<div class="panel-heading no-border bg-warning"> |
||||
<span class="text-lt ">{{ i.get_level_display }} уровень</span> |
||||
</div> |
||||
{% else %} |
||||
{% if i.level == 'E' %} |
||||
<div class="panel-heading no-border bg-danger"> |
||||
<span class="text-lt ">{{ i.get_level_display }} уровень</span> |
||||
</div> |
||||
{% endif %} |
||||
{% endif %} |
||||
{% endif %} |
||||
<div class="item m-l-n-xxs m-r-n-xxs" style="height: 290px;background:url({{ i.get_image }}) no-repeat center center; background-size: cover;"> |
||||
<div class="bottom wrapper bg-gd-dk text-white" style="width: 100%;"> |
||||
{% if i.id|get_progress_persent:request.user.id != 0 %} |
||||
<div class="chart" data-percent="{{ i.id|get_progress_persent:request.user.id }}" data-scale-color="#fff" |
||||
style="text-align: center;"> |
||||
<span id="canvas_length">{{ i.id|get_progress_persent:request.user.id }}%</span> |
||||
</div> |
||||
{% endif %} |
||||
<div class="text-u-c h3 m-b-none text-primary-lter">{{ i.title }}</div> |
||||
{{ i.lessons_length }} урока(-ов) |
||||
<div style="color: #fff;margin-bottom: 5px;"> |
||||
{% for skill in i.get_skills %} |
||||
<span class="label font-normal text-white" style="background: {{ skill.skill.color }}">{{ skill.skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
<div class="tags l-h-2x"> |
||||
{% for n in i.skills %} |
||||
<span class="label font-normal text-white" style="background: {{ i.background }}">{{ i.skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="hbox text-center text-sm"> |
||||
<a href="/courses/{{ i.id }}" class="col-md-8 col-xs-8 bg-warning padder-v b-light" style="width: 100%;"> |
||||
<i class="icon-rocket block m-b-xs fa-2x text-black"></i> |
||||
<span class="text-black">Приступить</span> |
||||
</a> |
||||
</div> |
||||
|
||||
</div> |
||||
|
||||
</div> |
||||
{% endfor %} |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="col w-md bg-white-only b-l bg-auto no-border-xs aside-col"> |
||||
|
||||
{% if request.user.is_authenticated %} |
||||
{% if actions %} |
||||
<div class="padder-md"> |
||||
<!-- streamline --> |
||||
<div class="m-b m-t text-md" style="margin-bottom: 0;">Последняя активность<p style="margin-bottom: 10px;"><a href="/access/all_actions/" style=" font-size: 12px; |
||||
color: blue; |
||||
border-bottom: 1px dotted">ВСЯ ИСТОРИЯ</a></p></div> |
||||
<div class="streamline b-l m-b"> |
||||
{% for i in actions %} |
||||
<div class="sl-item {{ i.get_a_type_display }} b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">{{ i.date }}<br>{{ i.place }}</div> |
||||
<p>{{ i.text|safe }}</p> |
||||
</div> |
||||
</div> |
||||
{% endfor %} |
||||
</div> |
||||
<!-- / streamline --> |
||||
</div> |
||||
{% endif %} |
||||
{% endif %} |
||||
<!-- |
||||
<div class="panel-body"> |
||||
<div class="m-b m-t text-md" style="margin-top: 0;">Новости Школы</div> |
||||
<div id="news_block"></div> |
||||
</div> |
||||
--> |
||||
<!-- aside right --> |
||||
<div class="app-aside-right pos-fix no-padder w-md w-auto-xs bg-white b-l animated fadeInRight hide"> |
||||
<div class="vbox"> |
||||
<div class="wrapper b-b b-t b-light m-b"> |
||||
<a href class="pull-right text-muted text-md" ui-toggle-class="show" target=".app-aside-right"><i class="icon-close"></i></a> |
||||
Chat |
||||
</div> |
||||
<div class="row-row"> |
||||
<div class="cell"> |
||||
<div class="cell-inner padder"> |
||||
<!-- chat list --> |
||||
<div class="m-b"> |
||||
<a href class="pull-left thumb-xs avatar"><img src="/static/img/a2.jpg" alt="..."></a> |
||||
<div class="clear"> |
||||
<div class="pos-rlt wrapper-sm b b-light r m-l-sm"> |
||||
<span class="arrow left pull-up"></span> |
||||
<p class="m-b-none">Hi John, What's up...</p> |
||||
</div> |
||||
<small class="text-muted m-l-sm"><i class="fa fa-ok text-success"></i> 2 minutes ago</small> |
||||
</div> |
||||
</div> |
||||
<div class="m-b"> |
||||
<a href class="pull-right thumb-xs avatar"><img src="/static/img/a3.jpg" class="img-circle" alt="..."></a> |
||||
<div class="clear"> |
||||
<div class="pos-rlt wrapper-sm bg-light r m-r-sm"> |
||||
<span class="arrow right pull-up arrow-light"></span> |
||||
<p class="m-b-none">Lorem ipsum dolor :)</p> |
||||
</div> |
||||
<small class="text-muted">1 minutes ago</small> |
||||
</div> |
||||
</div> |
||||
<div class="m-b"> |
||||
<a href class="pull-left thumb-xs avatar"><img src="/static/img/a2.jpg" alt="..."></a> |
||||
<div class="clear"> |
||||
<div class="pos-rlt wrapper-sm b b-light r m-l-sm"> |
||||
<span class="arrow left pull-up"></span> |
||||
<p class="m-b-none">Great!</p> |
||||
</div> |
||||
<small class="text-muted m-l-sm"><i class="fa fa-ok text-success"></i>Just Now</small> |
||||
</div> |
||||
</div> |
||||
<!-- / chat list --> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper m-t b-t b-light"> |
||||
<form class="m-b-none"> |
||||
<div class="input-group"> |
||||
<input type="text" class="form-control" placeholder="Say something"> |
||||
<span class="input-group-btn"> |
||||
<button class="btn btn-default" type="button">SEND</button> |
||||
</span> |
||||
</div> |
||||
</form> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<!-- / aside right --> |
||||
|
||||
</div> |
||||
{% endblock %} |
||||
|
||||
{% block js %} |
||||
<script type="text/javascript" src='/static/js/index.js'></script> |
||||
<script> |
||||
$(function() { |
||||
$('.chart').easyPieChart({ |
||||
rotate: 0, |
||||
lineWidth: 57, |
||||
trackColor: 'rgba(255,255,255,0)', |
||||
barColor: 'rgba(35,183,229,0.7)', |
||||
size: 120, |
||||
lineCap: 'butt', |
||||
animate: 1000, |
||||
scaleLength: 0 |
||||
}); |
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
@ -1,336 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block head %} |
||||
<script src="/static/js/ckeditor/ckeditor.js"></script> |
||||
<script src="/static/js/ckeditor/adapters/jquery.js"></script> |
||||
{% endblock %} |
||||
{% block title %}{{ course.head.title }} / Домашнее задание{% endblock %} |
||||
<!-- content --> |
||||
{% block content %} |
||||
|
||||
{% if homework.heaad.status == 'T' %} |
||||
<script> |
||||
$('[name=big_info_block]').html('Ваше задание проверяется преподавателем').fadeIn('fast') |
||||
</script> |
||||
{% endif %} |
||||
<!-- main --> |
||||
<div class="col"> |
||||
<!-- main header --> |
||||
<div style="background:url({{ course.head.big_img }}) top right; background-size:cover"> |
||||
<div class="visible-sm visible-xs" style="background-color: rgba(0, 0, 0, 0.5);"> |
||||
<div class="wrapper-lg"> |
||||
<div class="row m-t"> |
||||
<div class="col-sm-7"> |
||||
<div class="clear m-b"> |
||||
<div class="panel-heading no-border" style="background: {{ course.level.background }};color:{{ course.level.color }};"> |
||||
<span class="text-lt ">{{ course.level.title }} уровень</span> |
||||
</div> |
||||
<div class="m-b m-t-sm"> |
||||
<span class="h1 text-warning text-u-c" style="font-weight: bold;"> |
||||
{{ course.head.title }} |
||||
</span> |
||||
</div> |
||||
<div style="color: #fff;margin-bottom: 5px;"> |
||||
<b style="margin-right: 5px;">Приобретаемые навыки:</b> |
||||
{% for skill in course.head.skills %} |
||||
<span class="label font-normal text-white" style="background: {{ skill.color }}">{% if skill.mini_icon %}<img src="{{ skill.mini_icon.url }}" style="margin-top: -1px;width: 10px; |
||||
height: 10px; |
||||
margin-right: 5px;">{% endif %}{{ skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
<div style="color: #fff;"> |
||||
{{ course.head.lessons }} урока(-ов) |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-sm-5" style="text-align: center;"> |
||||
{% if course.head.progress != 0 %} |
||||
<div class="chart" data-percent="{{ course.head.progress }}" data-scale-color="#fff" |
||||
style="text-align: center;color: #fff;"> |
||||
<span id="canvas_length">{{ course.head.progress }}%</span> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="hidden-sm hidden-xs wrapper-lg"> |
||||
<div class="row m-t"> |
||||
<div class="col-sm-7"> |
||||
<div class="clear m-b"> |
||||
<div class="panel-heading no-border" style="background: {{ course.level.background }};color:{{ course.level.color }};"> |
||||
<span class="text-lt ">{{ course.level.title }} уровень</span> |
||||
</div> |
||||
<div class="m-b m-t-sm"> |
||||
<span class="h1 text-warning text-u-c" style="font-weight: bold;"> |
||||
{{ course.head.title }} |
||||
</span> |
||||
</div> |
||||
<div style="color: #fff;margin-bottom: 5px;"> |
||||
<b style="margin-right: 5px;">Приобретаемые навыки:</b> |
||||
{% for skill in course.head.skills %} |
||||
<span class="label font-normal text-white" style="background: {{ skill.color }}">{% if skill.mini_icon %}<img src="{{ skill.mini_icon.url }}" style="margin-top: -1px;width: 10px; |
||||
height: 10px; |
||||
margin-right: 5px;">{% endif %}{{ skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
<div style="color: #fff;"> |
||||
{{ course.head.lessons }} урока(-ов) |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-sm-5" style="text-align: center;"> |
||||
{% if course.head.progress != 0 %} |
||||
<div class="chart" data-percent="{{ course.head.progress }}" data-scale-color="#fff" |
||||
style="text-align: center;color: #fff;"> |
||||
<span id="canvas_length">{{ course.head.progress }}%</span> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper bg-white b-b"> |
||||
<ul class="nav nav-pills nav-sm"> |
||||
<li> |
||||
<a type="button" style="width: 100%;" class="col-lg-10 btn btn-default dropdown-toggle" href="/courses/{{ course.head.course_id }}"> |
||||
<i class="glyphicon glyphicon-chevron-left"></i> Страница курса |
||||
</a> |
||||
</li> |
||||
<!-- Кнопка нового урока --> |
||||
<li name="next_button"> |
||||
<a type="button" href="{{ homework.next.button.link }}{{ homework.next.obj.id }}" style="background: {{ homework.next.button.background }}; color: {{ homework.next.button.color }}" |
||||
by_type="{{ homework.next.button.by_type }}" |
||||
self_id="{{ homework.next.obj.id }}" |
||||
course_id="{{ homework.next.obj.course.id }}"> |
||||
{{ homework.next.button.title }} <i class="glyphicon glyphicon-chevron-right"></i> |
||||
</a> |
||||
</li> |
||||
<!-- Статус --> |
||||
<li style="float: right; padding: 6px 12px;"> |
||||
<span style="padding: 6px 12px;font-weight: bold;"> |
||||
<span class="label font-normal text-white bg-{{ homework.head.status.color }}" style="margin-left: 10px;font-size: 19px;{{ homework.head.status.styles }}">{{ homework.head.status.title }}<i class="{{ homework.head.status.icon }}" style="margin-right: 5px; margin-left: 10px; top: 3px;"></i></span> |
||||
</span> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
<div class="row m-l-xs"> |
||||
<div class="panel col-lg-12 p-r-none"> |
||||
<div class="wrapper-lg"> |
||||
<h2 class="m-t-none text-black">Описание задания</h2> |
||||
<div> |
||||
{{ homework.head.description|safe }} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-12 pl-fix p-r-none"> |
||||
<div class="col-lg-12 p-l-none p-r-none"> |
||||
{% if homework.materials %} |
||||
<div class="col-sm-12"> |
||||
<div draggable="true" class="panel panel-info"> |
||||
<div class="panel-heading"> |
||||
Материалы к заданию |
||||
</div> |
||||
{% for i in homework.materials %} |
||||
<div class="list-group bg-white"> |
||||
{% if i.format == 'I' %} |
||||
<a href="{{ i.url }}" class="list-group-item" target="_blank" id="single_image"> |
||||
{% else %} |
||||
<a href="{{ i.url }}" class="list-group-item" target="_blank"> |
||||
{% endif %} |
||||
{% if i.icon_type != 'class' %} |
||||
<img src="{{ i.icon }}"> |
||||
{% else %} |
||||
<i class="{{ i.icon }} text-lg inline text-primary"></i> |
||||
{% endif %} |
||||
<span class="clear inline"> |
||||
<span>{{ i.title }}</span> |
||||
<small class="text-muted clear text-ellipsis">{{ i.name }}</small> |
||||
</span> |
||||
</a> |
||||
</div> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="row"> |
||||
|
||||
<a name="comment_list_place"></a> |
||||
{% if homework.tries %} |
||||
<h3 style="margin-bottom: 25px;margin-left: 20px;font-weight: bold;border-bottom: 1px dotted #ccc;padding-bottom: 5px;"><i class="glyphicon glyphicon-briefcase"></i> Попыток: (<span name="comments_length">{{ homework.tries|length }}</span>) |
||||
{% if homework.head.status.flag == 'T' or homework.head.status.flag == 'A' %} |
||||
{% if homework.head.delay.status %} |
||||
<span style="font-size: 15px; |
||||
font-weight: normal; |
||||
"><i class="glyphicon glyphicon-info-sign" style="color: red"></i> Могут быть незначительные задержки с проверкой{% if homework.head.delay.description %}: <b>"{{ homework.head.delay.description|safe }}"</b>{% endif %}</span> |
||||
{% endif %} |
||||
{% endif %} |
||||
</h3> |
||||
{% endif %} |
||||
<div class="col-lg-12" name="homework_comments_block"> |
||||
{% if homework.tries %} |
||||
{% for try in homework.tries %} |
||||
<div class="m-b b-l m-l-md streamline" name="try_comments_{{ try.id }}" homework_id="{{ homework.head.mid }}"> |
||||
<div name="try_{{ try.id }}"> |
||||
<span class="pull-left thumb-sm avatar m-l-n-md"> |
||||
<img src="/static/img/mini_logo.png" class="img-circle"></span> |
||||
<div class="m-l-lg panel b-a" style="background:#CCFFFF;"> |
||||
<div class="panel-heading pos-rlt b-b b-light"> |
||||
<span class="arrow left" style="display: none;"></span> |
||||
<b>LMS: ~# </b> |
||||
<span class="arrow left" style="border-right-color:#CCFFFF;"></span> |
||||
<span style="font-size: 16px;color: #666;font-weight: bold;">Попытка №{{ forloop.counter }}</span> |
||||
<script>window.last_try = {{ forloop.counter }}</script> |
||||
|
||||
<span class="text-muted m-l-sm pull-right" style="margin-top: -6px;"> |
||||
<span class="label font-normal text-white bg-success" style="margin-left: 10px;text-shadow: 0 0 0;font-size: 16px"> |
||||
<span class="hidden-xs hidden-sm">{{ try.teacher.get_full_name }}</span> |
||||
<span class="hidden-md hidden-lg">{{ try.teacher.get_short_name }}</span> |
||||
<span class="thumb-sm avatar" style="margin-left: 10px;top: -3px;position: relative;"> |
||||
<img src="{{ try.teacher.get_image_url }}" class="img-circle"> |
||||
</span> |
||||
</span> |
||||
<span class="label font-normal text-white bg-{{ try.status.color }}" style="margin-left: 10px;font-size: 19px;font-weight: bold;{{ try.status.styles }}"> |
||||
<span class="hidden-sm hidden-xs hidden-md">{{ try.status.title }}</span><i class="{{ try.status.icon }}" style="top: 3px; margin: 0 15px;"></i> |
||||
</span> |
||||
|
||||
</span> |
||||
</div> |
||||
</div> |
||||
<!-- --> |
||||
</div> |
||||
{% for comment in try.comments %} |
||||
<a href="comment{{ comment.id }}"></a> |
||||
<div name="comment_{{ comment.id }}"> |
||||
<span class="pull-left thumb-sm avatar m-l-n-md"> |
||||
<img src="{{ comment.owner_avatar }}" class="img-circle"></span> |
||||
<div class="m-l-lg panel b-a" style="background: {% if comment.owner_type.flag == 'T' %}#f5fce5{% endif %}"> |
||||
<div class="panel-heading pos-rlt b-b b-light"> |
||||
<span class="arrow left" style="display: none;"></span> |
||||
<b style="margin-right: 5px;">{{ comment.owner }}</b> |
||||
<span class="arrow left" style="border-right-color: {% if comment.owner_type.flag == 'T' %}#f5fce5{% endif %}"></span> |
||||
<label class="label {{ comment.owner_type.background }} m-l-xs">{{ comment.owner_type.title }}</label> |
||||
<span class="text-muted m-l-sm pull-right">{{ comment.date }}</span> |
||||
</div> |
||||
<div class="panel-body" readable_comment="{{ comment.id }}"> |
||||
<div class="m-b-xs">{{ comment.text|safe }}</div> |
||||
{% for file in comment.files %} |
||||
<div name="message_files" message_id="{{ comment.id }}"> |
||||
<div class="panel m-b-none" style="box-shadow: none; border: 1px solid rgba(0, 0, 0, 0.05); padding: 4px; margin-bottom: 3px !important;"> |
||||
<a href="{{ file.url }}" target="{% if file.format == 'F' %}_blank{% endif %}" id=""> |
||||
<i class="{{ file.icon }} text-primary"></i> {{ file.name }} |
||||
</a> |
||||
</div> |
||||
</div> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
<!-- --> |
||||
</div> |
||||
|
||||
{% endfor %} |
||||
</div> |
||||
{% endfor %} |
||||
{% endif %} |
||||
{% if request.user.is_authenticated %} |
||||
{% if homework.head.status.flag != 'N' and homework.head.status.flag != 'F' %} |
||||
<div class="progress" name="sent_comment_progress" style="height: 40px;display: none;"> |
||||
<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" |
||||
style="width: 100%; font-weight: bold; font-size: 15px;padding: 10px;"> |
||||
Отправка комментария |
||||
</div> |
||||
</div> |
||||
<a name="comment_send_form_place"></a> |
||||
<form name="comment_send_form" onsubmit="return false" method="POST"> |
||||
<h3 style="margin-bottom: 10px; |
||||
margin-left: 40px;border-top: 1px dotted #ccc;padding-top: 10px;">Оставить сообщение <i class="glyphicon glyphicon-bullhorn"></i><span name="reply_info"></span>: </h3> |
||||
<div style="background: #ccc; |
||||
padding: 10px; |
||||
margin-left: 15px; |
||||
border-radius: 20px 20px 0 0; |
||||
text-align: center;"> |
||||
{% if request.user.is_authenticated and resuqest.user.in_role == 'Ts' or request.user.in_role == 'A' %} |
||||
<i class="glyphicon glyphicon-wrench" style=" font-size: 40px; |
||||
float: left; |
||||
padding-right: 20px;"></i> |
||||
<span class="btn btn-default btn-lg" onclick="CKEDITOR.instances.homework_text.setData('TEXT');send_comment('comment_send_form', 'form_file_load')">Просто отправить</span> |
||||
<span class="btn btn-success btn-lg" onclick="CKEDITOR.instances.homework_text.setData('GO_TO_SUCCESS');send_comment('comment_send_form', 'form_file_load')">Заставить одобрить</span> |
||||
<span class="btn btn-danger btn-lg" onclick="CKEDITOR.instances.homework_text.setData('GO_TO_FAIL');send_comment('comment_send_form', 'form_file_load')">Заставить отказать</span> |
||||
{% endif %} |
||||
</div> |
||||
<div class="clearfix" style="margin-bottom:10px;"> |
||||
<div class="form-group"> |
||||
<div class="col-sm-12 p-r-none"> |
||||
<input type="text" name="homework_id" readonly value="{{ homework.head.id }}" style="display: none;"> |
||||
<textarea style="overflow:scroll;height:200px;max-height:200px;width: 100%;border-radius:3px;font-weight: bold;padding: 15px 20px;" name="homework_text" class="form-control"></textarea> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="form-group"> |
||||
<div class="col-xs-12 col-sm-12 col-md-9 p-r-none m-b-md" name="files_sketches"> |
||||
|
||||
</div> |
||||
<div class="col-xs-12 col-sm-12 col-md-3 p-r-none m-b-md"> |
||||
<button class="btn btn-lg btn-info m-t-xs pull-right" style="min-width: 240px;width: 100%;border-radius: 3px;" onclick="send_comment('comment_send_form', 'form_file_load')">Отправить сообщение</button> |
||||
</div> |
||||
|
||||
</div> |
||||
</form> |
||||
<form enctype='multipart/form-data' |
||||
action='/storage/upload_file/' |
||||
method='post' |
||||
name='load_file' |
||||
id="form_file_load_form" |
||||
target='hidden_frame' |
||||
class="load_file" style="text-align: right; clear: right; margin-bottom: 20px;"> |
||||
<input type='hidden' name='MAX_FILE_SIZE' value='64000'> |
||||
<input id="form_file_load" name='file_load' type='file' data-icon="false" data-classbutton="btn btn-default" data-classinput="form-control inline v-middle input-s" tabindex="-1" |
||||
style="outline: 0;background: #ffc; padding: 5px 10px;border-radius: 5px;margin: auto;position: absolute; clip: rect(0px, 0px, 0px, 0px);" sketch_place="files_sketches"> |
||||
<button class="btn btn-default" onclick="return false;" style="display: none;" name="form_file_load_progress"> |
||||
<img src="/static/img/ui-anim_basic_16x16.gif"> |
||||
</button> |
||||
<div class="bootstrap-filestyle input-group" name="form_file_load_button"> |
||||
<span tabindex="0" class="group-span-filestyle input-group-btn" style="text-align: right;"> |
||||
<label for="form_file_load" class="btn btn-default "> |
||||
<span><span class="glyphicon glyphicon-save-file"></span> Добавить файл</span> |
||||
</label> |
||||
</span> |
||||
</div> |
||||
<input type="text" name="clip_file_id" readonly value="0" style="display: none;"> |
||||
</form> |
||||
{% endif %} |
||||
{% else %} |
||||
<p>Для работы с домашним заданием, авторизуйтесь.</p> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
<!-- / main --> |
||||
{% include 'right_site.html' %} |
||||
<input name="HOMEWORK_ID" value="{{ homework.id }}" style="display: none;"> |
||||
{% endblock %} |
||||
<!-- / content --> |
||||
{% block js %} |
||||
<script type="text/javascript" src='/static/js/homework.js'></script> |
||||
<!--<script type="text/javascript" src='/static/js/video_reloader.js'></script>--> |
||||
<script> |
||||
$(function() { |
||||
$('.chart').easyPieChart({ |
||||
rotate: 0, |
||||
lineWidth: 60, |
||||
trackColor: 'rgba(255,255,255,0)', |
||||
barColor: 'rgba(35,183,229,0.7)', |
||||
size: 120, |
||||
lineCap: 'butt', |
||||
animate: 1000, |
||||
scaleLength: 0 |
||||
}); |
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
@ -1,140 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% load static %} |
||||
{% block page_title %}Доступные курсы «{{ NAME }}»{% endblock %} |
||||
{% block title %}Доступные курсы «{{ NAME }}»{% endblock %} |
||||
{% block head %} |
||||
<script> |
||||
window.by = true; |
||||
$(document).on('change', '[name="by_radio"]', function(){ |
||||
if (window.by){ |
||||
$('.no_bought').fadeIn('slow'); |
||||
window.by = false; |
||||
} else { |
||||
$('.no_bought').fadeOut('slow'); |
||||
window.by = true; |
||||
} |
||||
}); |
||||
</script> |
||||
{% if bought %} |
||||
<style> |
||||
.no_bought{ |
||||
display: none; |
||||
} |
||||
</style> |
||||
{% endif %} |
||||
{% endblock %} |
||||
{% block content %} |
||||
<div class="col"> |
||||
<div class="wrapper-md"> |
||||
|
||||
{% if bought %} |
||||
<div style=" font-size: 12px; |
||||
color: #666; |
||||
position: fixed; |
||||
right: 250px; |
||||
top: 10px; |
||||
z-index: 10000;" class="hidden-xs"> |
||||
<span>Все курсы</span> |
||||
<label class="i-switch bg-success" style="top: 5px; |
||||
position: relative; margin: 0 5px;"> |
||||
<input type="checkbox" checked="" name="by_radio"> |
||||
<i></i> |
||||
</label><span>Мои курсы</span> |
||||
</div> |
||||
<div style=" font-size: 12px; |
||||
color: #fff; |
||||
position: absolute; |
||||
right: 100px; |
||||
top: 10px; |
||||
z-index: 13000;" class="visible-xs"> |
||||
<span class="hidden-xs">Все курсы</span> |
||||
<label class="i-switch bg-success" style="top: 5px; |
||||
position: relative; margin: 0 5px;"> |
||||
<input type="checkbox" checked="" name="by_radio"> |
||||
<i></i> |
||||
</label><span class="hidden-xs">Мои курсы</span> |
||||
</div> |
||||
{% endif %} |
||||
{% for i in courses %} |
||||
|
||||
<div class="col-lg-4 {% if i.by %}bought{% else %}no_bought{% endif %}"> |
||||
{% comment %} |
||||
<a {% if i.by_flow or i.by_flow == None %}href="/courses/{{ i.slug }}"{% else %}class="flow" href="#" data-toggle="modal" data-target="#flowAccess"{% endif %}> |
||||
{% endcomment %} |
||||
<a href="/courses/{{ i.slug }}"> |
||||
<div class="panel b-a course_cart " style="overflow: hidden;"> |
||||
<div class="panel-heading no-border index" style="background: {{ i.level.background }};color:{{ i.level.color }};"> |
||||
<span class="text-lt ">{{ i.level.title }}</span> |
||||
</div> |
||||
<div class="item m-l-n-xxs m-r-n-xxs" style="height: 290px;"> |
||||
<div style="width: 100%;height: 195px;background:url({{ i.img }}) no-repeat top right;background-size: cover;"></div> |
||||
<div class="bottom wrapper bg-gd-dk text-white" style="width: 100%;padding: 0;"> |
||||
<div style="color: #fff;margin-bottom: 10px;margin-left: 10px;"> |
||||
{% for skill in i.skills %} |
||||
<span class="label font-normal text-white" style="background: {{ skill.color }}">{% if skill.mini_icon %}<img src="{{ skill.mini_icon.url }}" style="margin-top: -1px;width: 10px; |
||||
height: 10px; |
||||
margin-right: 5px;">{% endif %}{{ skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
<div style="background: #fff;padding: 15px;"> |
||||
<div class="text-u-c h4 m-b-none" style="text-align: left;color: #666;">{{ i.title }}</div> |
||||
<p style="color: #999;border-bottom: 1px solid #f1f1f1;margin: 5px 0 10px;padding-bottom: 10px;">{{ i.lessons }} урока(-ов)</p> |
||||
<div style="margin: 5px 5px 0;"> |
||||
{{ i.material.get_html_direction|safe }} |
||||
{% if i.progress == 100 %} |
||||
<span style=" font-weight: bold; |
||||
float: right; |
||||
color: green;"><i class="glyphicon glyphicon-ok" style="margin-right: 5px;"></i> Пройдено</span> |
||||
{% endif %} |
||||
{% if i.progress != 0 and i.progress < 100 %} |
||||
<span style=" font-weight: bold; |
||||
float: right; |
||||
color: #999;"> Пройдено: {{ i.progress }}%</span> |
||||
<div class="chart" data-percent="{{ i.progress }}" data-scale-color="#000" style="float: right;margin-right: 5px;"> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</a> |
||||
</div> |
||||
{% endfor %} |
||||
|
||||
</div> |
||||
</div> |
||||
{% include 'right_site.html' %} |
||||
|
||||
|
||||
|
||||
|
||||
<!-- |
||||
<div class="panel-body"> |
||||
<div class="m-b m-t text-md" style="margin-top: 0;">Новости Школы</div> |
||||
<div id="news_block"></div> |
||||
</div> |
||||
--> |
||||
<!-- aside right --> |
||||
<!-- / aside right --> |
||||
|
||||
|
||||
|
||||
{% endblock %} |
||||
|
||||
{% block js %} |
||||
<script> |
||||
$(function() { |
||||
$('.chart').easyPieChart({ |
||||
rotate: 0, |
||||
lineWidth: 10, |
||||
trackColor: 'rgb(222, 229, 231)', |
||||
barColor: 'rgb(96, 179, 111)', |
||||
size: 20, |
||||
lineCap: 'butt', |
||||
animate: 3000, |
||||
scaleLength: 0 |
||||
}); |
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
@ -1,143 +0,0 @@ |
||||
<ul class="nav" style=" padding: 20px 0;"> |
||||
{% if request.user.in_role != 'S' and request.user.in_role != 'M' %} |
||||
{% if '/' == request.META.PATH_INFO or 'courses' in request.META.PATH_INFO %} |
||||
<li class="active" style="z-index: 1;"> |
||||
{% else %} |
||||
<li style="z-index: 1;"> |
||||
{% endif %} |
||||
<a href="/" class="auto"> |
||||
<i class="glyphicon glyphicon-education"></i> |
||||
<span>Курсы</span> |
||||
</a> |
||||
</li> |
||||
|
||||
{% if 'library/articles/' in request.META.PATH_INFO %} |
||||
<li class="active" style="z-index: 1;"> |
||||
{% else %} |
||||
<li style="z-index: 1;"> |
||||
{% endif %} |
||||
<a href="/library/articles/" class="auto"> |
||||
<i class="glyphicon glyphicon-book"></i> |
||||
<span>База знаний</span> |
||||
</a> |
||||
</li> |
||||
{% endif %} |
||||
{% if not request.user.is_authenticated %} |
||||
<li style="z-index: 1;"><a type="button" onclick="$('#myModal1').modal('show')"> |
||||
<i class="icon-user icon"></i> |
||||
<span>Профиль</span></a></li> |
||||
{% else %} |
||||
{% if request.user.in_role == 'S' or request.user.in_role == 'M' %} |
||||
{% if request.user.in_role == 'S' %} |
||||
<li style="z-index: 1;"> |
||||
<a href="/management/super_profile/"> |
||||
<i class="icon-user icon"></i> |
||||
<span>Поиск</span> |
||||
</a> |
||||
</li> |
||||
<li style="z-index: 1;"> |
||||
<a href="/management/super_bill"> |
||||
<i class="glyphicon glyphicon-stats"></i> |
||||
<span>Счета</span> |
||||
</a> |
||||
</li> |
||||
<li style="z-index: 1;"> |
||||
<a href="/management/faq/35" target="_blank"> |
||||
<i class="glyphicon glyphicon-file"></i> |
||||
<span style="font-weight: bold;">Как работать?</span> |
||||
</a> |
||||
</li> |
||||
{% else %} |
||||
<li style="z-index: 1;"> |
||||
<a href="/management/profile/"> |
||||
<i class="icon-user icon"></i> |
||||
<span>Поиск</span> |
||||
</a> |
||||
</li> |
||||
|
||||
<li style="z-index: 1;"> |
||||
<a href="/management/history"> |
||||
<i class="glyphicon glyphicon-stats"></i> |
||||
<span>История</span> |
||||
</a> |
||||
</li> |
||||
<li style="z-index: 1;"> |
||||
<a href="/management/faq/34" target="_blank"> |
||||
<i class="glyphicon glyphicon-file"></i> |
||||
<span style="font-weight: bold;">Как работать?</span> |
||||
</a> |
||||
</li> |
||||
{% endif %} |
||||
{% else %} |
||||
{% if '/access/profile' in request.META.PATH_INFO %} |
||||
<li class="active" style="z-index: 1;"> |
||||
{% else %} |
||||
<li style="z-index: 1;"> |
||||
{% endif %} |
||||
<a href="{% if request.user.is_admin %}/{{ request.user.interactive_key }}{% else %}/access/profile/{% endif %}"><i class="icon-user icon"></i> |
||||
<span>Профиль</span> |
||||
</a> |
||||
</li> |
||||
{% endif %} |
||||
{% if request.user.in_role == 'T' %} |
||||
<li style="z-index: 1;"> |
||||
<a href="/reports/"> |
||||
<i class="glyphicon glyphicon-list-alt"></i> |
||||
<span>Отчеты</span> |
||||
</a> |
||||
</li> |
||||
{% endif %} |
||||
{% if request.user.is_admin %} |
||||
<li style="margin-top: 20px;"> |
||||
<a href="/access/profile/"> |
||||
<i class="glyphicon glyphicon-cloud"></i> |
||||
<span>Админка</span> |
||||
</a> |
||||
</li> |
||||
<li style="z-index: 1;"> |
||||
<a href="/reports/"> |
||||
<i class="glyphicon glyphicon-list-alt"></i> |
||||
<span>Отчеты</span> |
||||
</a> |
||||
</li> |
||||
<li style="z-index: 1;"> |
||||
<a href="/analytics/"> |
||||
<i class="glyphicon glyphicon-list-alt"></i> |
||||
<span>Аналитика</span> |
||||
</a> |
||||
</li> |
||||
|
||||
{% endif %} |
||||
<!-- |
||||
<div style="text-align: center; width:200px;"> |
||||
<img src="/static/img/9.png" style="width: 180px;"> |
||||
</div> |
||||
--> |
||||
{% endif %} |
||||
<div style="position: fixed;bottom: 0;left: 0;" class="hidden-xs"> |
||||
<ul class="nav" style="margin-bottom: 20px;"> |
||||
<li style="width: 200px;"> |
||||
<a href="/contacts/" class="btn" role="button"> |
||||
|
||||
<span><i class="glyphicon glyphicon-tree-deciduous" style="margin-right: 10px;"></i>Контакты</span> |
||||
</a> |
||||
</li> |
||||
<li style="width: 200px;"> |
||||
<a href="{{ DOMAIN }}/management/faq" style="background: #ebebeb;" class="btn" role="button">Помощь</a> |
||||
</li> |
||||
</ul> |
||||
|
||||
<p style=" text-align: center;"> |
||||
<i style="font-size: 8px;" class="glyphicon glyphicon-copyright-mark"></i> <span style="font-size: 8px;">«{{ NAME }}» {% now "Y" %} </span><br> |
||||
<a href="/static/oferta.pdf" target="_blank">Договор оферты</a> |
||||
</p> |
||||
</div> |
||||
<!--<a href="#" onclick="$('#FeedBack').modal('show');" style=" position: fixed; |
||||
bottom: 10px;" class="visible-lg visible-md visible-sm"> |
||||
<img src="/static/img/1447222756_information_support.svg" style=" width: 30px; |
||||
margin: 0 10px;">Есть вопросы? |
||||
</a>--> |
||||
|
||||
|
||||
|
||||
</ul> |
||||
@ -1,248 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block title %}{{ course.head.title }} / {{ lesson.head.title }}{% endblock %} |
||||
<!-- content --> |
||||
{% block content %} |
||||
<!-- main --> |
||||
<div class="col"> |
||||
<!-- Голова --> |
||||
<div style="background:url({{ course.head.big_img }}) top right; background-size:cover"> |
||||
<div class="visible-sm visible-xs" style="background-color: rgba(0, 0, 0, 0.5);"> |
||||
<div class="wrapper-lg" style="padding: 0 20px;"> |
||||
<div class="row m-t" style="margin-top: 0;padding-top: 20px; padding-bottom: 20px;"> |
||||
<div class="col-sm-7"> |
||||
<div class="clear m-b"> |
||||
<div class="m-b m-t-sm"> |
||||
<span class="h1 text-warning text-u-c" style="font-weight: bold;"> |
||||
{{ course.head.title }} |
||||
</span> |
||||
</div> |
||||
<div style="color: #fff;margin-bottom: 5px;"> |
||||
<b style="margin-right: 5px;">Приобретаемые навыки:</b> |
||||
{% for skill in course.head.skills %} |
||||
<span class="label font-normal text-white" style="background: {{ skill.color }}">{% if skill.mini_icon %}<img src="{{ skill.mini_icon.url }}" style="margin-top: -1px;width: 10px; |
||||
height: 10px; |
||||
margin-right: 5px;">{% endif %}{{ skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
<div style="color: #fff;"> |
||||
{{ course.head.lessons }} урока(-ов) |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-sm-5" style="text-align: center;"> |
||||
{% if course.head.progress != 0 %} |
||||
<div class="chart" data-percent="{{ course.head.progress }}" data-scale-color="#fff" |
||||
style="text-align: center;color: #fff;"> |
||||
<span id="canvas_length">{{ course.head.progress }}%</span> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-lg hidden-xs hidden-sm" style="padding: 0 20px;"> |
||||
<div class="row m-t" style="margin-top: 0;padding-top: 20px; padding-bottom: 20px;"> |
||||
<div class="col-sm-7"> |
||||
<div class="clear m-b"> |
||||
<div class="m-b m-t-sm"> |
||||
<span class="h1 text-warning text-u-c" style="font-weight: bold;"> |
||||
{{ course.head.title }} |
||||
</span> |
||||
</div> |
||||
<div style="color: #fff;margin-bottom: 5px;"> |
||||
<b style="margin-right: 5px;">Приобретаемые навыки:</b> |
||||
{% for skill in course.head.skills %} |
||||
<span class="label font-normal text-white" style="background: {{ skill.color }}">{% if skill.mini_icon %}<img src="{{ skill.mini_icon.url }}" style="margin-top: -1px;width: 10px; |
||||
height: 10px; |
||||
margin-right: 5px;">{% endif %}{{ skill }}</span> |
||||
{% endfor %} |
||||
</div> |
||||
<div style="color: #fff;"> |
||||
{{ course.head.lessons }} урока(-ов) |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-sm-5" style="text-align: center;"> |
||||
{% if course.head.progress != 0 %} |
||||
<div class="chart" data-percent="{{ course.head.progress }}" data-scale-color="#fff" |
||||
style="text-align: center;color: #fff;"> |
||||
<span id="canvas_length">{{ course.head.progress }}%</span> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<!-- Кнопки материала --> |
||||
<div class="wrapper bg-white b-b"> |
||||
<ul class="nav nav-pills nav-sm"> |
||||
<li> |
||||
<a type="button" style="width: 100%;" class="col-lg-10 btn btn-default dropdown-toggle" href="/courses/{{ course.head.course_id }}"> |
||||
<i class="glyphicon glyphicon-chevron-left"></i> Страница курса |
||||
</a> |
||||
</li> |
||||
<!-- Кнопка нового урока --> |
||||
<li name="next_button" {% if lesson.head.status.flag != 'F' %}style="display: none;"{% endif %}> |
||||
<a type="button" href="{{ lesson.next.button.link }}{{ lesson.next.obj.id }}" style="background: {{ lesson.next.button.background }}; color: {{ lesson.next.button.color }}" |
||||
by_type="{{ lesson.next.button.by_type }}" |
||||
self_id="{{ lesson.next.obj.id }}" |
||||
course_id="{{ lesson.next.obj.course.id }}"> |
||||
{{ lesson.next.button.title }} <i class="glyphicon glyphicon-chevron-right"></i> |
||||
</a> |
||||
</li> |
||||
<!-- Статус --> |
||||
<li style="float: right; padding: 6px 12px;"> |
||||
<span style="padding: 6px 12px;font-weight: bold;"> |
||||
<span class="label font-normal text-white bg-{{ lesson.head.status.color }}" style="margin-left: 10px;font-size: 19px;{{ lesson.head.status.styles }}">{{ lesson.head.status.title }}<i class="{{ lesson.head.status.icon }}" style="margin-right: 5px; margin-left: 10px; top: 3px;"></i></span> |
||||
</span> |
||||
</li> |
||||
|
||||
</ul> |
||||
</div> |
||||
<div class="tab-content"> |
||||
<div class="wrapper-md tab-pane active" role="tabpanel" id="lesson"> |
||||
|
||||
<div class="row"> |
||||
<div style="clear: both;" class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> |
||||
<div class="panel-heading bg-primary" style="text-align: center;max-width: 1500px;margin: 0 auto;"> |
||||
<span class="text-lt">Видео к занятию: {{ lesson.head.title }}</span> |
||||
</div> |
||||
|
||||
<div class="panel b-a" style="max-width: 1500px;margin: auto;border: 0"> |
||||
<div style="padding: 0;clear: both;{% if lesson.head.status.flag == 'F' %}display: none;{% endif %}" name="current_button" class="panel-heading no-border"> |
||||
<button type="button" class="btn btn-success" onclick="read_lesson({{ lesson.head.mid }})" style="width: 100%; font-weight: bold; font-size: 22px; height: 70px"> |
||||
<i class="glyphicon glyphicon-ok"></i> Пометить как просмотренное |
||||
</button> |
||||
|
||||
</div> |
||||
<div style="padding: 0;{% if lesson.head.status.flag != 'F' %}display: none;{% endif %}" name="next_button" class="panel-heading no-border"> |
||||
<a type="button" href="{{ lesson.next.button.link }}{{ lesson.next.obj.id }}"> |
||||
<button class="btn" style="width: 100%; font-weight: bold; font-size: 22px;height: 70px;background: {{ lesson.next.button.background }}; color: {{ lesson.next.button.color }}" |
||||
by_type="{{ lesson.next.button.by_type }}" |
||||
self_id="{{ lesson.next.obj.id }}" |
||||
course_id="{{ lesson.next.obj.course.id }}"> |
||||
{{ lesson.next.button.title }} |
||||
</button> |
||||
</a> |
||||
</div> |
||||
<div class="item m-l-n-xxs m-r-n-xxs embed-responsive embed-responsive-16by9" name="video_frame"> |
||||
{{ lesson.video|safe }} |
||||
</div> |
||||
<div style="padding: 0;clear: both;{% if lesson.head.status.flag == 'F' %}display: none;{% endif %}" name="current_button" class="col-md-12 col-sm-12 col-xs-12"> |
||||
<button type="button" class="btn btn-success" onclick="read_lesson({{ lesson.head.mid }})" style="width: 100%; font-weight: bold; font-size: 22px; height: 70px"> |
||||
<i class="glyphicon glyphicon-ok"></i> Пометить как просмотренное |
||||
</button> |
||||
</div> |
||||
<div style="padding: 0;{% if lesson.head.status.flag != 'F' %}display: none;{% endif %}" name="next_button" class="col-md-12 col-sm-12 col-xs-12"> |
||||
<a type="button" href="{{ lesson.next.button.link }}{{ lesson.next.obj.id }}"> |
||||
<button class="btn" style="width: 100%; font-weight: bold; font-size: 22px;height: 70px;background: {{ lesson.next.button.background }}; color: {{ lesson.next.button.color }}" |
||||
by_type="{{ lesson.next.button.by_type }}" |
||||
self_id="{{ lesson.next.obj.id }}" |
||||
course_id="{{ lesson.next.obj.course.id }}"> |
||||
{{ lesson.next.button.title }} |
||||
</button> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
{% if lesson.description %} |
||||
<div class="{% if lesson.materials.all %}col-lg-6 {% else %}col-lg-12 {% endif %}col-md-12 col-sm-12 col-xs-12" style="margin-top: 20px;"> |
||||
<div class="panel panel-info"> |
||||
<div class="panel-heading"> |
||||
<h2 class="m-t-none text-black" style="margin-bottom: 5px;">Описание урока</h2> |
||||
</div> |
||||
<div class="wrapper-lg"> |
||||
<div> |
||||
{{ lesson.description|safe }} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
{% if lesson.materials %} |
||||
<div class="col-lg-6 col-md-12 col-sm-12 col-xs-12" style="margin-top: 20px;"> |
||||
<div draggable="true" class="panel panel-info"> |
||||
<div class="panel-heading"> |
||||
Материалы к уроку |
||||
</div> |
||||
{% for i in lesson.materials %} |
||||
<div class="list-group bg-white"> |
||||
{% if i.format == 'I' %} |
||||
<a href="{{ i.url }}" class="list-group-item" target="_blank" id="single_image"> |
||||
{% else %} |
||||
<a href="{{ i.url }}" class="list-group-item" target="_blank"> |
||||
{% endif %} |
||||
{% if i.icon_type != 'class' %} |
||||
<img src="{{ i.icon }}"> |
||||
{% else %} |
||||
<i class="{{ i.icon }} text-lg inline text-primary"></i> |
||||
{% endif %} |
||||
<span class="clear inline"> |
||||
<span>{{ i.title }}</span> |
||||
<small class="text-muted clear text-ellipsis">{{ i.name }}</small> |
||||
</span> |
||||
</a> |
||||
</div> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
|
||||
</div> |
||||
{% if lesson.head.on_comment %} |
||||
<span name="old_comments_show" style="color: #ccc; |
||||
border-bottom: 1px dotted #ccc; display: none; |
||||
cursor: pointer;" onclick="$(this).fadeOut('fast', function(){$('[name=old_comments]').fadeIn()})">Показать старые комментарии</span> |
||||
<div class="row" name="old_comments" style="display: none; margin-top: 20px;"> |
||||
<!-- Старые комментарии --> |
||||
<a name="comment_list_place"></a> |
||||
<div class="col-lg-12"> |
||||
<div class="m-b b-l m-l-md streamline" name="lesson_comments_block" lesson_id="{{ lesson.head.mid }}"> |
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
<!----> |
||||
|
||||
{% include 'comments_block.html' %} |
||||
|
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
</div> |
||||
<!-- / main --> |
||||
{% include 'right_site.html' %} |
||||
<input name="LESSON_ID" value="{{ lesson.head.mid }}" style="display: none;"> |
||||
{% endblock %} |
||||
<!-- / content --> |
||||
{% block js %} |
||||
<script type="text/javascript" src='/static/js/lesson.js'></script> |
||||
<!--<script type="text/javascript" src='/static/js/video_reloader.js'></script>--> |
||||
{% if 'to_comment' in request.GET %} |
||||
<script> |
||||
$(function () { |
||||
setTimeout(function() { |
||||
$('html,body').stop().animate({ scrollTop: $('div[name=comment_{{ request.GET.to_comment }}]').offset().top }, 1000); |
||||
$('div[name=comment_{{ request.GET.to_comment }}]').css('background', 'red'); |
||||
}, 4000); |
||||
}) |
||||
</script> |
||||
{% endif %} |
||||
<script> |
||||
$(function() { |
||||
$('.chart').easyPieChart({ |
||||
rotate: 0, |
||||
lineWidth: 60, |
||||
trackColor: 'rgba(255,255,255,0)', |
||||
barColor: 'rgba(35,183,229,0.7)', |
||||
size: 120, |
||||
lineCap: 'butt', |
||||
animate: 1000, |
||||
scaleLength: 0 |
||||
}); |
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
@ -1,14 +0,0 @@ |
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
||||
<html> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
||||
<title></title> |
||||
</head> |
||||
<body> |
||||
<table> |
||||
{% block content %}{% endblock %} |
||||
<tr><td style='padding-bottom: 20px;'>С уважением,<Br>Точка кода</td></tr> |
||||
<tr><td style='padding-bottom: 20px;'><img src='{{ DOMAIN }}static/img/logo.png'></td></tr> |
||||
</table> |
||||
</body> |
||||
</html> |
||||
@ -1,50 +0,0 @@ |
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
||||
<html> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
||||
<title></title> |
||||
</head> |
||||
<body> |
||||
<table width=100%> |
||||
<tr><td> |
||||
Здравствуйте! <Br><br> |
||||
Рады сообщить, что сегодня начинается ваше обучение на курсе «Профессия PR-менеджер» и перевели курс на новую платформу обучения — http://go.skillbox.ru/<br><br> |
||||
|
||||
Важно!Для корректной регистрации вам необходимо в поле e-mail указать тот адрес, на который вы сейчас получили это письмо. В противном случае доступ вам не откроется.<br><br> |
||||
|
||||
Для входа на обучающую платформу - вам необходимо пройти процесс активации в системе. Для этого перейдите по ссылке ниже:<br> |
||||
<a href="{{ LINK }}">{{ LINK }}</a><br><br> |
||||
|
||||
Как работать в системе. Краткая инструкция.<br><br> |
||||
|
||||
Просмотр уроков<br><br> |
||||
|
||||
• С главной страницы (http://go.skillbox.ru/) перейдите в раздел с вашим курсом, кликнув по иконке курса «Профессия PR-менеджер».<br> |
||||
• Вы попадёте на страницу с перечнем тем (модулей) и уроков которые вам сейчас доступны<br> |
||||
• Первая тема курса уже доступна для просмотра. Нажимайте на кнопку «Перейти к уроку», и приступайте к просмотру видеоурока.<br><br> |
||||
|
||||
Отправка домашних заданий<br> |
||||
• Просматриваете уроки, отмечаете их «просмотренными» (большая зеленая кнопка над и под видео)<br> |
||||
• После того как отметите последний урок в теме, — появиться активная ссылка на переход в раздел с домашним заданием<br> |
||||
• В разделе с ДЗ описано задание и прикреплены файлы для выполнения работы<br> |
||||
• Ниже на странице с заданием есть форма обратной связи, через неё необходимо направлять задание на проверку. Также через неё можно общаться с преподавателем, задавать вопросы, связанными с выполнением работы или вопросы по просмотренному материалу.<br><br> |
||||
|
||||
Дополнительно<br> |
||||
• После того как преподаватель даст комментарий по работе, вам на почту придет об этом письмо, а так же отобразиться в новостной ленте справа.<br> |
||||
• Если задание отправлено на доработку, то вам необходимо исправленный проект направить через эту же форму повторно.<br> |
||||
• перейти в раздел с работой, что бы посмотреть комментарий вы можете из системы, просто нажав на «домашнее задание» под темой которую изучаете или из письма по ссылке.<br><br> |
||||
|
||||
Общаться со студентами вы теперь можете в комментариях под каждым видео.<br> |
||||
Делитесь мнениями и идеями :slightly_smiling_face:<br><br> |
||||
|
||||
По всем вопросам, связанным с курсом смело обращайтесь на почту info@ucandesign.ru<br> |
||||
Для вашего удобства в системе есть раздел «Помощь» с часто задаваемыми вопросами http://go.skillbox.ru/management/faq |
||||
|
||||
</td> |
||||
</tr> |
||||
<tr><td style="padding-bottom: 20px;">С уважением,<Br>SkillBox</td></tr> |
||||
<tr><td style="padding-bottom: 20px;"><img src="http://go.skillbox.ru/static/img/logo.png"></td></tr> |
||||
<tr><td>Пожалуйста, по любым вопросам смело пишите на support@skillbox.ru</td></tr> |
||||
</table> |
||||
</body> |
||||
</html> |
||||
@ -1,279 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<!-- saved from url=(0039)file:///home/bigboy/Downloads/form.html --> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
||||
|
||||
<meta name="viewport" content="width=device-width"> |
||||
<meta name="HandheldFriendly" content="true"> |
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||||
<!--[if gte IE 7]><html class="ie8plus" xmlns="http://www.w3.org/1999/xhtml"><![endif]--> |
||||
<!--[if IEMobile]><html class="ie8plus" xmlns="http://www.w3.org/1999/xhtml"><![endif]--> |
||||
<meta name="format-detection" content="telephone=no"> |
||||
<meta name="generator" content="EDMdesigner, www.edmdesigner.com"> |
||||
<title>asd</title> |
||||
|
||||
<style type="text/css" media="screen"> |
||||
* {line-height: inherit;} |
||||
.ExternalClass * { line-height: 100%; } |
||||
body, p{padding:0; |
||||
margin: 0; |
||||
-webkit-text-size-adjust:none; -ms-text-size-adjust:none;} img{line-height:100%; outline:none; text-decoration:none; -ms-interpolation-mode: bicubic;} a img{border: none;} #backgroundTable {margin:0; padding:0; width:100% !important; } a, a:link, .no-detect-local a, .appleLinks a{color:#5555ff !important; text-decoration: underline;} .ExternalClass {display: block !important; width:100%;} .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div { line-height: inherit; } table td {border-collapse:collapse;mso-table-lspace: 0pt; mso-table-rspace: 0pt;} sup{position: relative; top: 4px; line-height:7px !important;font-size:11px !important;} .mobile_link a[href^="tel"], .mobile_link a[href^="sms"] {text-decoration: default; color: #5555ff !important; pointer-events: auto; cursor: default;} .no-detect a{text-decoration: none; color: #5555ff; pointer-events: auto; cursor: default;} {color: #5555ff;} span {color: inherit; border-bottom: none;} span:hover { background-color: transparent; } |
||||
|
||||
.nounderline {text-decoration: none !important;} |
||||
h1, h2, h3 { margin:0; padding:0; } |
||||
p {Margin: 0px !important; } |
||||
|
||||
table[class="email-root-wrapper"] { width: 600px !important; } |
||||
|
||||
body { |
||||
background: #22b1ff url('{{ DOMAIN }}/static/img/mails/536.jpg') no-repeat center bottom; |
||||
} |
||||
body { min-width: 280px; width: 100%;} |
||||
|
||||
</style> |
||||
<style> |
||||
@media only screen and (min-width: 600px) { |
||||
|
||||
} |
||||
@media only screen and (max-width: 599px), |
||||
only screen and (max-device-width: 599px), |
||||
only screen and (max-width: 400px), |
||||
only screen and (max-device-width: 400px) { |
||||
.email-root-wrapper { width: 100% !important; } |
||||
table[class="email-root-wrapper"] { width: 100% !important; } |
||||
td[class="wrap"] .full-width { width: 100% !important; height: auto !important;} |
||||
|
||||
td[class="wrap"] .fullwidthhalfleft {width:100% !important;} |
||||
td[class="wrap"] .fullwidthhalfright {width:100% !important;} |
||||
td[class="wrap"] .fullwidthhalfinner {width:100% !important; margin: 0 auto !important; float: none !important; |
||||
clear:both !important; } |
||||
td[class="wrap"] .hide { display:none !important; width:0;height:0; overflow:hidden; } |
||||
|
||||
|
||||
} |
||||
|
||||
@media yahoo{ |
||||
table {float: none !important;height:auto; } |
||||
table[align="left"] {float:left !important; } |
||||
td[align="left"] {float:left !important;height:auto; } |
||||
table[align="center"] {margin:0 auto; } |
||||
td[align="center"] {margin:0 auto;height:auto; } |
||||
table[align="right"] {float:right !important; } |
||||
td[align="right"] {float:right !important;height:auto; } |
||||
} |
||||
|
||||
|
||||
</style> |
||||
|
||||
<!--[if (gte IE 7) & (vml)]> |
||||
<style type="text/css"> |
||||
html, body {margin:0 !important; padding:0px !important;} |
||||
img.full-width { position: relative !important; } |
||||
|
||||
.img134x37 { width: 134px !important; height: 37px !important;} |
||||
.img287x74 { width: 287px !important; height: 74px !important;} |
||||
|
||||
</style> |
||||
<![endif]--> |
||||
|
||||
<!--[if gte mso 9]> |
||||
<style type="text/css"> |
||||
table, td { |
||||
border-collapse: collapse !important; |
||||
mso-table-lspace: 0px !important; |
||||
mso-table-rspace: 0px !important; |
||||
} |
||||
|
||||
.email-root-wrapper { width 600px !important;} |
||||
.imglink { font-size: 0px; } |
||||
.edm_button { font-size: 0px; } |
||||
</style> |
||||
<![endif]--> |
||||
|
||||
<!--[if gte mso 15]> |
||||
<style type="text/css"> |
||||
table { |
||||
font-size:0px; |
||||
mso-margin-top-alt:0px; |
||||
} |
||||
|
||||
.fullwidthhalfleft { |
||||
width: 49% !important; |
||||
float:left !important; |
||||
} |
||||
|
||||
.fullwidthhalfright { |
||||
width: 50% !important; |
||||
float:right !important; |
||||
} |
||||
</style> |
||||
<![endif]--> |
||||
<style type="text/css" media="(pointer) and (min-color-index:0)"> |
||||
html, body {background-image: none !important; background-color: transparent !important; margin:0 !important; padding:0 !important;} |
||||
</style> |
||||
|
||||
</head> |
||||
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" background="{{ DOMAIN }}/static/img/mails/536.jpg" bgcolor="#22b1ff" style="font-family:Arial, sans-serif; font-size:0px;margin:0;padding:0; background: #22b1ff url('{{ DOMAIN }}/static/img/mails/body_background.jpg') no-repeat center bottom !important;"> |
||||
<!--[if t]><![endif]--><!--[if t]><![endif]--><!--[if t]><![endif]--><!--[if t]><![endif]--><!--[if t]><![endif]--><!--[if t]><![endif]--> |
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" background="{{ DOMAIN }}/static/img/mails/536.jpg" style="background: transparent url('{{ DOMAIN }}/static/img/mails/body_background.jpg') no-repeat center bottom !important;" height="100%" width="100%" id="backgroundTable"> |
||||
<tbody><tr> |
||||
<td class="wrap" align="center" valign="top" width="100%"> |
||||
<center> |
||||
<!-- content --> |
||||
<div style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" width="600" align="center" class="email-root-wrapper" style="max-width: 600px; min-width: 240px; margin: 0 auto;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" width="100%"> |
||||
<tbody><tr><td align="center" style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" align="center"> |
||||
<tbody><tr><td valign="top" align="center" style="padding-top: 10px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="134" height="37" style="border: 0px none; height: auto;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><a href="http://skillbox.ru/" target="_blank" class="imglink"><img src="{{ DOMAIN }}/static/img/mails/727.png" width="134" height="37" alt="" border="0" class="img134x37" style="display: block;"></a></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" width="600" align="center" class="email-root-wrapper" style="max-width: 600px; min-width: 240px; margin: 0 auto;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#ffffff" style="border: 0px none; background-color: #ffffff;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" width="100%"> |
||||
<tbody><tr><td style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding-top: 20px; padding-right: 30px; padding-bottom: 5px; padding-left: 30px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top"><div style="text-align: left; font-family: Helvetica, Helvetica Neue, Arial; font-size: 14px; color: #000000; line-height: 14px; mso-line-height: exactly; vertical-align: middle;"><h1 style="font-family:Helvetica, Helvetica Neue, Arial; font-size: 20px; color: #000000; line-height: 32px; mso-line-height: exactly; vertical-align:middle;padding: 0; margin: 0;">{{ USER }}, вам выставлен счет для оплаты.</h1> |
||||
<p style="padding: 0; margin: 0;"> </p><p style="padding: 0; margin: 0;"> </p><p style="padding: 0; margin: 0;"> </p> |
||||
<p style="padding: 0; margin: 0;"><span style="color:#808080;">Состав заказа: </span>{{ SERVICE }}</p><p style="padding: 0; margin: 0;"> </p> |
||||
<p style="padding: 0; margin: 0;"><span style="color:#808080;">Сумма для оплаты: </span>{{ PRICE }} руб.</p><p style="padding: 0; margin: 0;"> </p> |
||||
<p style="padding: 0; margin: 0;"> |
||||
<span style="color:#808080;">Ваш менеджер: </span> </p> |
||||
<p style="padding: 0; margin: 0;"> </p> |
||||
<p> {{ MANAGER }} </p> |
||||
<p style="padding: 0; margin: 0;"> </p> |
||||
<p>{{ MANAGER_EMAIL }}</p> |
||||
<p style="padding: 0; margin: 0;"> </p> |
||||
{% if FILE %} <a href="{{ FILE }}">Программа курса</a> {% endif %} |
||||
|
||||
<p style="padding: 0; margin: 0;"> </p><p style="padding: 0; margin: 0;">Чтобы выбрать способ оплаты и оплатить данный счет, воспользуйтесь ссылкой: <a href="{{ LINK }}" style="color: #22a8f2 !important; text-decoration: underline !important;" target="_blank"><font style=" color:#22a8f2;">{{ LINK }}</font></a></p><p style="padding: 0; margin: 0;"> </p><p style="padding: 0; margin: 0;">или кнопкой ниже</p><p style="padding: 0; margin: 0;"> </p></div></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
<table cellpadding="0" cellspacing="0" width="100%"> |
||||
<tbody><tr><td align="center" style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" align="center" class="full-width"> |
||||
<tbody><tr><td valign="top" align="center" style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="287" height="74" class="full-width" style="border: 0px none; height: auto;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><a href="{{ LINK }}" target="_blank" class="imglink"><img src="{{ DOMAIN }}/static/img/mails/727_1.png" width="287" height="74" alt="Перейти к оплате" border="0" class="full-width img287x74" style="display: block; width: 100%; height: auto;"></a></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding-top: 40px; padding-right: 50px; padding-bottom: 5px; padding-left: 30px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top"><div style="text-align: left; font-family: Helvetica, Helvetica Neue, Arial; font-size: 14px; color: #000000; line-height: 14px; mso-line-height: exactly; vertical-align: middle;"><h1 style="font-family:Helvetica, Helvetica Neue, Arial; font-size: 20px; color: #000000; line-height: 32px; mso-line-height: exactly; vertical-align:middle;padding: 0; margin: 0;"> </h1><p style="padding: 0; margin: 0;"> </p><p style="padding: 0; margin: 0;"> </p><p style="padding: 0; margin: 0;">Пожалуйста, по любым вопросам смело <span style="font-size:14px;"><strong>звоните по номеру 8 495 120-40-96 </strong><span style="color:#808080;">(с 10:00 до 19:00 по Москве)</span><strong> или пишите на <a style="color: #22b1ff !important; text-decoration: underline !important;" target="_blank"><font style=" color:#22b1ff;">support@skill-box.ru</font></a></strong></span></p><p style="padding: 0; margin: 0;"> </p><p style="padding: 0; margin: 0;"> </p><p style="padding: 0; margin: 0;"> </p><p style="padding: 0; margin: 0;"> </p></div></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style=""><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding-top: 10px; padding-right: 50px; padding-bottom: 32px; padding-left: 54px;"><table cellpadding="0" cellspacing="0" width="100%"> |
||||
<tbody><tr><td style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style=""><table cellpadding="0" cellspacing="0" border="0" width="100%" style="border-top: 2px solid #e8e8e8;"> |
||||
<tbody><tr><td valign="top" style=""><table cellpadding="0" cellspacing="0" width="100%"> |
||||
<tbody><tr><td style="padding: 0px;"></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding-top: 5px; padding-right: 5px; padding-bottom: 46px; padding-left: 5px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top"><div style="text-align: left; font-family: arial; font-size: 14px; color: #000000; line-height: 18px; mso-line-height: exactly; vertical-align: middle;"><p style="padding: 0; margin: 0;text-align: center;"> </p><p style="padding: 0; margin: 0;text-align: center;"><span style="font-size: 14px; font-family: tahoma; color: rgb(136, 136, 136);">с ♥, команда SkillBox</span></p><p style="padding: 0; margin: 0;text-align: center;"><span style="font-family:tahoma;"><a href="http://skillbox.ru/" target="_blank" style="color: #22a8f2 !important; text-decoration: underline !important;"><font style=" color:#22a8f2;">Перейти на наш сайт</font></a></span></p></div></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%" style="border: 0px none; background: url('{{ DOMAIN }}/static/img/mails/522.png') no-repeat center;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" width="100%"> |
||||
<tbody><tr><td style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding-top: 30px; padding-right: 5px; padding-bottom: 26px; padding-left: 30px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top"><div style="text-align: left; font-family: arial; font-size: 14px; color: #a1a1a1; line-height: 18px; mso-line-height: exactly; vertical-align: middle;"><p style="padding: 0; margin: 0;"><span style="font-size:12px;">Офис: Москва, ул. Бауманская, д. 11</span></p><p style="padding: 0; margin: 0;"><span style="font-size:12px;">8 495 120-40-96 (с 10 до 19 по Москве)</span></p></div></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" width="600" align="center" class="email-root-wrapper" style="max-width: 600px; min-width: 240px; margin: 0 auto;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding-top: 0px; padding-right: 5px; padding-bottom: 100px; padding-left: 160px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top"><div style="text-align: left; font-family: arial; font-size: 14px; color: #000000; line-height: 14px; mso-line-height: exactly; vertical-align: middle;"> </div></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</div> |
||||
<!-- content end --> |
||||
</center> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
|
||||
|
||||
</body></html> |
||||
@ -1,275 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<!-- saved from url=(0039)file:///home/bigboy/Downloads/form.html --> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
||||
|
||||
<meta name="viewport" content="width=device-width"> |
||||
<meta name="HandheldFriendly" content="true"> |
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||||
<!--[if gte IE 7]><html class="ie8plus" xmlns="http://www.w3.org/1999/xhtml"><![endif]--> |
||||
<!--[if IEMobile]><html class="ie8plus" xmlns="http://www.w3.org/1999/xhtml"><![endif]--> |
||||
<meta name="format-detection" content="telephone=no"> |
||||
<meta name="generator" content="EDMdesigner, www.edmdesigner.com"> |
||||
<title>{{ TITLE }}</title> |
||||
|
||||
<style type="text/css" media="screen"> |
||||
* {line-height: inherit;} |
||||
.ExternalClass * { line-height: 100%; } |
||||
body, p{padding:0; |
||||
margin: 0; |
||||
-webkit-text-size-adjust:none; -ms-text-size-adjust:none;} img{line-height:100%; outline:none; text-decoration:none; -ms-interpolation-mode: bicubic;} a img{border: none;} #backgroundTable {margin:0; padding:0; width:100% !important; } a, a:link, .no-detect-local a, .appleLinks a{color:#5555ff !important; text-decoration: underline;} .ExternalClass {display: block !important; width:100%;} .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div { line-height: inherit; } table td {border-collapse:collapse;mso-table-lspace: 0pt; mso-table-rspace: 0pt;} sup{position: relative; top: 4px; line-height:7px !important;font-size:11px !important;} .mobile_link a[href^="tel"], .mobile_link a[href^="sms"] {text-decoration: default; color: #5555ff !important; pointer-events: auto; cursor: default;} .no-detect a{text-decoration: none; color: #5555ff; pointer-events: auto; cursor: default;} {color: #5555ff;} span {color: inherit; border-bottom: none;} span:hover { background-color: transparent; } |
||||
|
||||
.nounderline {text-decoration: none !important;} |
||||
h1, h2, h3 { margin:0; padding:0; } |
||||
p {Margin: 0px !important; } |
||||
|
||||
table[class="email-root-wrapper"] { width: 600px !important; } |
||||
|
||||
body { |
||||
background: #22b1ff url('{{ DOMAIN }}/static/img/mails/536.jpg') no-repeat center bottom; |
||||
} |
||||
body { min-width: 280px; width: 100%;} |
||||
|
||||
</style> |
||||
<style> |
||||
@media only screen and (min-width: 600px) { |
||||
|
||||
} |
||||
@media only screen and (max-width: 599px), |
||||
only screen and (max-device-width: 599px), |
||||
only screen and (max-width: 400px), |
||||
only screen and (max-device-width: 400px) { |
||||
.email-root-wrapper { width: 100% !important; } |
||||
table[class="email-root-wrapper"] { width: 100% !important; } |
||||
td[class="wrap"] .full-width { width: 100% !important; height: auto !important;} |
||||
|
||||
td[class="wrap"] .fullwidthhalfleft {width:100% !important;} |
||||
td[class="wrap"] .fullwidthhalfright {width:100% !important;} |
||||
td[class="wrap"] .fullwidthhalfinner {width:100% !important; margin: 0 auto !important; float: none !important; |
||||
clear:both !important; } |
||||
td[class="wrap"] .hide { display:none !important; width:0;height:0; overflow:hidden; } |
||||
|
||||
|
||||
} |
||||
|
||||
@media yahoo{ |
||||
table {float: none !important;height:auto; } |
||||
table[align="left"] {float:left !important; } |
||||
td[align="left"] {float:left !important;height:auto; } |
||||
table[align="center"] {margin:0 auto; } |
||||
td[align="center"] {margin:0 auto;height:auto; } |
||||
table[align="right"] {float:right !important; } |
||||
td[align="right"] {float:right !important;height:auto; } |
||||
} |
||||
|
||||
|
||||
</style> |
||||
|
||||
<!--[if (gte IE 7) & (vml)]> |
||||
<style type="text/css"> |
||||
html, body {margin:0 !important; padding:0px !important;} |
||||
img.full-width { position: relative !important; } |
||||
|
||||
.img134x37 { width: 134px !important; height: 37px !important;} |
||||
.img287x74 { width: 287px !important; height: 74px !important;} |
||||
|
||||
</style> |
||||
<![endif]--> |
||||
|
||||
<!--[if gte mso 9]> |
||||
<style type="text/css"> |
||||
table, td { |
||||
border-collapse: collapse !important; |
||||
mso-table-lspace: 0px !important; |
||||
mso-table-rspace: 0px !important; |
||||
} |
||||
|
||||
.email-root-wrapper { width 600px !important;} |
||||
.imglink { font-size: 0px; } |
||||
.edm_button { font-size: 0px; } |
||||
</style> |
||||
<![endif]--> |
||||
|
||||
<!--[if gte mso 15]> |
||||
<style type="text/css"> |
||||
table { |
||||
font-size:0px; |
||||
mso-margin-top-alt:0px; |
||||
} |
||||
|
||||
.fullwidthhalfleft { |
||||
width: 49% !important; |
||||
float:left !important; |
||||
} |
||||
|
||||
.fullwidthhalfright { |
||||
width: 50% !important; |
||||
float:right !important; |
||||
} |
||||
</style> |
||||
<![endif]--> |
||||
<style type="text/css" media="(pointer) and (min-color-index:0)"> |
||||
html, body {background-image: none !important; background-color: transparent !important; margin:0 !important; padding:0 !important;} |
||||
</style> |
||||
|
||||
</head> |
||||
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" background="{{ DOMAIN }}/static/img/mails/536.jpg" bgcolor="#22b1ff" style="font-family:Arial, sans-serif; font-size:0px;margin:0;padding:0; background: #22b1ff url('{{ DOMAIN }}/static/img/mails/body_background.jpg') no-repeat center bottom !important;"> |
||||
<!--[if t]><![endif]--><!--[if t]><![endif]--><!--[if t]><![endif]--><!--[if t]><![endif]--><!--[if t]><![endif]--><!--[if t]><![endif]--> |
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" background="{{ DOMAIN }}/static/img/mails/536.jpg" style="background: transparent url('{{ DOMAIN }}/static/img/mails/body_background.jpg') no-repeat center bottom !important;" height="100%" width="100%" id="backgroundTable"> |
||||
<tbody><tr> |
||||
<td class="wrap" align="center" valign="top" width="100%"> |
||||
<center> |
||||
<!-- content --> |
||||
<div style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" width="600" align="center" class="email-root-wrapper" style="max-width: 600px; min-width: 240px; margin: 0 auto;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" width="100%"> |
||||
<tbody><tr><td align="center" style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" align="center"> |
||||
<tbody><tr><td valign="top" align="center" style="padding-top: 10px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="134" height="37" style="border: 0px none; height: auto;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><a href="http://skillbox.ru/" target="_blank" class="imglink"><img src="{{ DOMAIN }}/static/img/mails/727.png" width="134" height="37" alt="" border="0" class="img134x37" style="display: block;"></a></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" width="600" align="center" class="email-root-wrapper" style="max-width: 600px; min-width: 240px; margin: 0 auto;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#ffffff" style="border: 0px none; background-color: #ffffff;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" width="100%"> |
||||
<tbody><tr><td style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding-top: 20px; padding-right: 30px; padding-bottom: 5px; padding-left: 30px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top"><div style="text-align: left; font-family: Helvetica, Helvetica Neue, Arial; font-size: 14px; color: #000000; line-height: 14px; mso-line-height: exactly; vertical-align: middle;"><h1 style="font-family:Helvetica, Helvetica Neue, Arial; font-size: 20px; color: #000000; line-height: 32px; mso-line-height: exactly; vertical-align:middle;padding: 0; margin: 0;">Пришла очередная заявка</h1><p style="padding: 0; margin: 0;"> </p><p style="padding: 0; margin: 0;"> </p> |
||||
<p style="padding: 0; margin: 0;"> </p> |
||||
<p style="padding: 0; margin: 0;"><span style="color:#808080;">Состав: </span>{{ TITLE }}</p> |
||||
<p style="padding: 0; margin: 0;"> </p> |
||||
{% if USER_NAME %} |
||||
<p style="padding: 0; margin: 0;"><span style="color:#808080;">Имя: </span>{{ USER_NAME }}</p> |
||||
<p style="padding: 0; margin: 0;"> </p> |
||||
{% endif %} |
||||
{% if EMAIL %} |
||||
<p style="padding: 0; margin: 0;"><span style="color:#808080;">Почта: </span>{{ EMAIL }}</p> |
||||
<p style="padding: 0; margin: 0;"> </p> |
||||
{% endif %} |
||||
{% if PHONE %} |
||||
<p style="padding: 0; margin: 0;"><span style="color:#808080;">Телефон: </span>{{ PHONE }}</p> |
||||
<p style="padding: 0; margin: 0;"> </p> |
||||
{% endif %} |
||||
{% if HOST %} |
||||
<p style="padding: 0; margin: 0;"><span style="color:#808080;">Источник: </span>{{ HOST }}</p> |
||||
<p style="padding: 0; margin: 0;"> </p> |
||||
{% endif %} |
||||
</div></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding-top: 40px; padding-right: 50px; padding-bottom: 5px; padding-left: 30px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top"><div style="text-align: left; font-family: Helvetica, Helvetica Neue, Arial; font-size: 14px; color: #000000; line-height: 14px; mso-line-height: exactly; vertical-align: middle;"><h1 style="font-family:Helvetica, Helvetica Neue, Arial; font-size: 20px; color: #000000; line-height: 32px; mso-line-height: exactly; vertical-align:middle;padding: 0; margin: 0;"> </h1><p style="padding: 0; margin: 0;"> </p><p style="padding: 0; margin: 0;"> </p><p style="padding: 0; margin: 0;">Пожалуйста, по любым вопросам смело <span style="font-size:14px;"><strong>звоните по номеру 8 495 120-40-96 </strong><span style="color:#808080;">(с 10:00 до 19:00 по Москве)</span><strong> или пишите на <a style="color: #22b1ff !important; text-decoration: underline !important;" target="_blank"><span style=" color:#22b1ff;">support@skill-box.ru</span></a></strong></span></p></div></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style=""><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding-top: 10px; padding-right: 50px; padding-bottom: 32px; padding-left: 54px;"><table cellpadding="0" cellspacing="0" width="100%"> |
||||
<tbody><tr><td style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style=""><table cellpadding="0" cellspacing="0" border="0" width="100%" style="border-top: 2px solid #e8e8e8;"> |
||||
<tbody><tr><td valign="top" style=""><table cellpadding="0" cellspacing="0" width="100%"> |
||||
<tbody><tr><td style="padding: 0px;"></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding-top: 5px; padding-right: 5px; padding-bottom: 46px; padding-left: 5px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top"><div style="text-align: left; font-family: arial; font-size: 14px; color: #000000; line-height: 18px; mso-line-height: exactly; vertical-align: middle;"><p style="padding: 0; margin: 0;text-align: center;"> </p><p style="padding: 0; margin: 0;text-align: center;"><span style="font-size: 14px; font-family: tahoma; color: rgb(136, 136, 136);">с ♥, команда SkillBox</span></p><p style="padding: 0; margin: 0;text-align: center;"><span style="font-family:tahoma;"><a href="http://skillbox.ru/" target="_blank" style="color: #22a8f2 !important; text-decoration: underline !important;"><span style=" color:#22a8f2;">Перейти на наш сайт</span></a></span></p></div></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%" style="border: 0px none; background: url('{{ DOMAIN }}/static/img/mails/522.png') no-repeat center;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" width="100%"> |
||||
<tbody><tr><td style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding-top: 30px; padding-right: 5px; padding-bottom: 26px; padding-left: 30px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top"><div style="text-align: left; font-family: arial; font-size: 14px; color: #a1a1a1; line-height: 18px; mso-line-height: exactly; vertical-align: middle;"><p style="padding: 0; margin: 0;"><span style="font-size:12px;">Офис: Москва, ул. Бауманская, д. 11</span></p><p style="padding: 0; margin: 0;"><span style="font-size:12px;">8 495 120-40-96 (с 10 до 19 по Москве)</span></p></div></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" width="600" align="center" class="email-root-wrapper" style="max-width: 600px; min-width: 240px; margin: 0 auto;"> |
||||
<tbody><tr><td valign="top" style="padding: 0px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top" style="padding-top: 0px; padding-right: 5px; padding-bottom: 100px; padding-left: 160px;"><table cellpadding="0" cellspacing="0" border="0" width="100%"> |
||||
<tbody><tr><td valign="top"><div style="text-align: left; font-family: arial; font-size: 14px; color: #000000; line-height: 14px; mso-line-height: exactly; vertical-align: middle;"> </div></td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
</div> |
||||
<!-- content end --> |
||||
</center> |
||||
</td> |
||||
</tr> |
||||
</tbody></table> |
||||
|
||||
|
||||
</body></html> |
||||
@ -1,30 +0,0 @@ |
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
||||
<html> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
||||
<title></title> |
||||
</head> |
||||
<body> |
||||
<table width=100%> |
||||
<tr><td> |
||||
Здравствуйте! <Br><Br> |
||||
|
||||
По многочисленным просьбам слушателей, мы добавили к первому модулю курса "Профессия PR-менеджер" домашнее задание. <Br><Br> |
||||
|
||||
Второй модуль будет доступен после выполнения домашнего задания. <Br><Br> |
||||
|
||||
Как отвечать на домашние задания в системе? <Br> |
||||
• После того как отметите последний урок в теме «просмотренным», — появиться активная ссылка на переход в раздел с домашним заданием<Br> |
||||
• Ниже на странице с заданием есть форма обратной связи, через неё необходимо направлять задание на проверку. <Br> |
||||
Также через неё можно общаться с преподавателем, задавать вопросы, связанными с выполнением работы или вопросы по просмотренному материалу.<Br> |
||||
• Как только преподаватель проверит и одобрит Вашу работу, Вам откроется доступ ко второму модулю.<Br><Br> |
||||
|
||||
По всем вопросам, обращайтесь на почту: info@bedev.ru |
||||
</td> |
||||
</tr> |
||||
<tr><td style="padding-bottom: 20px;">С уважением,<Br>SkillBox</td></tr> |
||||
<tr><td style="padding-bottom: 20px;"><img src="http://go.skillbox.ru/static/img/logo.png"></td></tr> |
||||
<tr><td>Пожалуйста, по любым вопросам смело пишите на support@skillbox.ru</td></tr> |
||||
</table> |
||||
</body> |
||||
</html> |
||||
@ -1,101 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block title %}Кабинет продаж{% endblock %} |
||||
{% block modals %} |
||||
{% endblock %} |
||||
{% block asside %} |
||||
<aside id="aside" class="app-aside hidden-xs bg-dark" style="background: #3a3f51;"> |
||||
<div class="aside-wrap"> |
||||
<div class="navi-wrap"> |
||||
<!-- user --> |
||||
<div class="clearfix hidden-xs text-center" id="aside-user"> |
||||
<div class="dropdown wrapper"> |
||||
<a href="/management/profile/"> |
||||
<span class="thumb-lg w-auto-folded avatar m-t-sm"> |
||||
<img src="{{ request.user.get_image_url }}" class="img-thumbnail" style="width: 100%;" reloader_name="avatar"> |
||||
</span> |
||||
</a> |
||||
<a href="#"> |
||||
<span class="clear"> |
||||
<span class="block m-t-sm"> |
||||
<strong class="font-bold text-lt">{{ request.user.get_short_name }}</strong> |
||||
</span> |
||||
<span class="text-muted text-xs block">{{ request.user.get_role_display }}</span> |
||||
</span> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<!-- / user --> |
||||
<nav ui-nav="" class="navi clearfix"> |
||||
<ul class="nav"> |
||||
{% include 'index_menu.html' %} |
||||
</ul> |
||||
</nav> |
||||
<!-- nav --> |
||||
</div> |
||||
</div> |
||||
</aside> |
||||
{% endblock %} |
||||
<!-- / aside --> |
||||
|
||||
<!-- content --> |
||||
{% block content %} |
||||
<div class="col"> |
||||
<!-- main header --> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3"><i class="glyphicon glyphicon-home"></i> Кабинет продаж</h1> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
<div class="row col-lg-12" style="text-align: center;"> |
||||
<ul class="nav nav-tabs" role="tablist"> |
||||
<li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Внутренние счета</a></li> |
||||
<li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Свободные счета</a></li> |
||||
</ul> |
||||
<div class="tab-pane fade"> |
||||
<div role="tabpanel" class="tab-pane active" id="home"> |
||||
<p name="error_place" style="padding: 10px;background: #99CC99;color:#fff;width: 50%;font-weight: bold;margin: 50px auto 0;"> |
||||
Проверка |
||||
</p> |
||||
<form onsubmit="return false"> |
||||
<h2 style="font-weight: bold;">Пользователь</h2> |
||||
<input name="user_search" type="text" style="margin-right: 1%; width: 50%; margin-left: 1%;padding: 10px;font-size:20px;font-weight: bold;border: 2px solid yellow;left: 15px; |
||||
position: relative;"> |
||||
<img src="/static/img/ui-anim_basic_16x16.gif" style=" position: relative; |
||||
left: -45px; |
||||
top: -4px;"> |
||||
<button class="btn btn-green" style="position: absolute; |
||||
margin-top: 10px;"><i class="glyphicon glyphicon-user" style="margin-right: 5px;"></i> Зарегистрировать</button> |
||||
<h2 style="font-weight: bold;">Услуга</h2> |
||||
<select name="service" style="margin-right: 1%; width: 50%; margin-left: 1%;padding: 10px;font-size:20px;font-weight: bold;border: 2px solid yellow;"> |
||||
<option> --- </option> |
||||
{% for price in prices %} |
||||
<option>{{ price }}</option> |
||||
{% endfor %} |
||||
</select> |
||||
<h2 style="font-weight: bold;">Стоимость</h2> |
||||
<input name="price" type="text" style="margin-right: 1%; width: 50%; margin-left: 1%;padding: 10px;font-size:20px;font-weight: bold;border: 2px solid yellow;" inpmask="phone"><Br> |
||||
<button class="btn btn-green btn-lg" style="width: 50%; margin-top: 20px;">Отправить счет</button> |
||||
</form> |
||||
</div> |
||||
|
||||
<div class="row col-lg-3"> |
||||
<h3 style=" margin: 5px 0; |
||||
border-bottom: 1px dotted #ccc; |
||||
padding-bottom: 10px;">Свободные счета</h3> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
</div> |
||||
<div role="tabpanel" class="tab-pane fade" id="profile">...</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
</div> |
||||
<!-- / main --> |
||||
<!-- right col --> |
||||
<!-- / right col --> |
||||
{% endblock %} |
||||
@ -1,178 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block asside %} |
||||
<aside id="aside" class="app-aside hidden-xs bg-dark" style="background: #3a3f51;"> |
||||
<div class="aside-wrap"> |
||||
<div class="navi-wrap"> |
||||
<!-- user --> |
||||
<div class="clearfix hidden-xs text-center" id="aside-user"> |
||||
<div class="dropdown wrapper"> |
||||
<a href="/management/profile/"> |
||||
<span class="thumb-lg w-auto-folded avatar m-t-sm"> |
||||
<img src="{{ request.user.get_image_url }}" class="img-thumbnail" style="width: 100%;" reloader_name="avatar"> |
||||
</span> |
||||
</a> |
||||
<a href="#"> |
||||
<span class="clear"> |
||||
<span class="block m-t-sm"> |
||||
<strong class="font-bold text-lt">{{ request.user.get_short_name }}</strong> |
||||
</span> |
||||
<span class="text-muted text-xs block">{{ request.user.get_role_display }}</span> |
||||
</span> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<!-- / user --> |
||||
<nav ui-nav="" class="navi clearfix"> |
||||
<ul class="nav"> |
||||
{% include 'index_menu.html' %} |
||||
</ul> |
||||
</nav> |
||||
<!-- nav --> |
||||
</div> |
||||
</div> |
||||
</aside> |
||||
{% endblock %} |
||||
<!-- / aside --> |
||||
|
||||
<!-- content --> |
||||
{% block content %} |
||||
<script> |
||||
window.counts = { |
||||
'info_count': 0, |
||||
'simple_count': 0, |
||||
'success_count': 0, |
||||
'danger_count': 0, |
||||
'warning_count': 0, |
||||
'all_count': 0 |
||||
} |
||||
</script> |
||||
<div class="col"> |
||||
<!-- main header --> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-4 col-xs-12"> |
||||
<h1 class="m-n font-thin h3">История счетов</h1> |
||||
</div> |
||||
<div class="col-lg-8 col-xs-12"> |
||||
<ul class="nav nav-pills" role="tablist" style="float: right;"> |
||||
<li role="presentation" onclick="$('tr.data').hide();$('tr.info').show();" data-toggle="tooltip" data-placement="bottom" title="Активности по оплате еще не было"> |
||||
<a href="#"> |
||||
Ожидание согласия <span class="badge" name="info_count">0</span> |
||||
</a> |
||||
</li> |
||||
<li role="presentation" onclick="$('tr.data').hide();$('tr.simple').show();" data-toggle="tooltip" data-placement="bottom" title="Пользователь перешел по ссылке"> |
||||
<a href="#"> |
||||
На оплате <span class="badge" name="simple_count">0</span> |
||||
</a> |
||||
</li> |
||||
<li role="presentation" onclick="$('tr.data').hide();$('tr.success').show();"> |
||||
<a href="#"> |
||||
Оплачен <span class="badge" name="success_count">0</span> |
||||
</a> |
||||
</li> |
||||
<li role="presentation" onclick="$('tr.data').hide();$('tr.danger').show();" data-toggle="tooltip" data-placement="bottom" title="Пользователь отказался от оплаты счета"> |
||||
<a href="#"> |
||||
Отклонен <span class="badge" name="danger_count">0</span> |
||||
</a> |
||||
</li> |
||||
<li role="presentation" onclick="$('tr.data').hide();$('tr.warning').show();" data-toggle="tooltip" data-placement="bottom" title="Для услуг со временем действия"> |
||||
<a href="#"> |
||||
Сгорел <span class="badge" name="warning_count">0</span> |
||||
</a> |
||||
</li> |
||||
<li role="presentation" onclick="$('tr.data').show();"> |
||||
<a href="#"> |
||||
Все <span class="badge" name="all_count">0</span> |
||||
</a> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
<div class="row"> |
||||
|
||||
<table width="100%" class="table table-hover"> |
||||
<thead> |
||||
<tr> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Плательщик</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Телефон</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Email</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Курс</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Услуга</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Сумма</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Дата выставления</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Дата смены статуса</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Статус счета</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Отправленные письма</td> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
{% for i in yourbills %} |
||||
<script> |
||||
window.counts['{% if i.status == 'F' %}success_count{% endif %}{% if i.status == 'C' %}danger_count{% endif %}{% if i.status == 'H' %}warning_count{% endif %}{% if i.status == 'W' %}info_count{% endif %}{% if i.status == 'P' %}simple_count{% endif %}'] += 1; |
||||
window.counts['all_count'] += 1; |
||||
</script> |
||||
<tr class="data {% if i.status == 'F' %}success{% endif %}{% if i.status == 'C' %}danger{% endif %}{% if i.status == 'H' %}warning{% endif %}{% if i.status == 'W' %}info{% endif %}{% if i.status == 'P' %}simple{% endif %}" style="border-bottom: 1px dotted;"> |
||||
<td style="padding: 10px;">{{ i.user.get_full_name }}</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background: #666; |
||||
text-align: center; |
||||
color: #fff;">{{ i.user.get_phone }}</td> |
||||
<td style="padding: 10px;font-weight: bold;">{{ i.user.email }}</td> |
||||
<td style="padding: 10px;">{{ i.service.course }}</td> |
||||
<td style="padding: 10px;">{{ i.service.title }}</td> |
||||
<td style="padding: 10px;">{{ i.price }}</td> |
||||
<td style="padding: 10px;">{{ i.date }}</td> |
||||
<td style="padding: 10px;">{{ i.status_changed }}</td> |
||||
<td style="padding: 10px;">{{ i.get_status_display }}</td> |
||||
<td style="padding: 10px;"> |
||||
{% for letter in i.create_letters.all %}{{ letter }}<br>{% empty %}-{% endfor %}<br> |
||||
{% for letter in i.finish_letters.all %}{{ letter }}<br>{% empty %}-{% endfor %} |
||||
</td> |
||||
</tr> |
||||
{% endfor %} |
||||
<script> |
||||
for (var i in window.counts ){ |
||||
$('[name='+i+']').html(window.counts[i]); |
||||
} |
||||
</script> |
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
</div> |
||||
<!-- / main --> |
||||
<!-- right col --> |
||||
<!-- / right col --> |
||||
{% endblock %} |
||||
{% block js %} |
||||
<script> |
||||
$(function () { |
||||
$('[data-toggle="tooltip"]').tooltip() |
||||
}) |
||||
</script> |
||||
{% endblock %} |
||||
@ -1,135 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block modals %} |
||||
<!-- Modal Смена пароля--> |
||||
<div class="modal fade" id="new_bill" style="z-index: 12000;" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('new_bill')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1441326667_certificate.png" alt=""> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel">Новый счет</p> |
||||
<form action="" name="new_bill" onsubmit="return false;"> |
||||
<p class="error" id="error_new_bill"></p> |
||||
<p style="margin-bottom: 0;padding-bottom: 10px; |
||||
padding-top: 20px;">Пользователь</p> |
||||
<input type="text" name="new_bill_user_id" readonly style="display: none;"> |
||||
<input type="text" name="new_bill_user" style="background-color: #ffc;" readonly> |
||||
<p style="margin-bottom: 0;padding-bottom: 10px; |
||||
padding-top: 20px;">Услуга</p> |
||||
<select type="text" name="new_bill_service" onchange="$('[name=new_bill_checked_service]').val($('[name=new_bill_service]').find('option:selected').attr('id'))" style=" width: 100%; |
||||
padding: 10px; |
||||
background-color: #ffc; |
||||
border: 1px solid #f1f1f1; |
||||
border-radius: 3px; |
||||
margin-bottom: 10px;"> |
||||
</select> |
||||
<p style="margin-bottom: 0;padding-bottom: 10px; |
||||
padding-top: 20px;">Стоимость</p> |
||||
<input type="text" name="new_bill_cost" value="0" style="width: 100%;background: #ffc; |
||||
border: 1px solid #f1f1f1; |
||||
border-radius: 3px;"> |
||||
<p style="margin-bottom: 0;padding-bottom: 10px; |
||||
padding-top: 20px;">Ваш комментарий</p> |
||||
<textarea name="new_bill_comment" style="width: 100%;background: #ffc; |
||||
border: 1px solid #f1f1f1; |
||||
border-radius: 3px;"></textarea> |
||||
<input name="new_bill_checked_service" type="text" readonly style="display: none;"> |
||||
<button class="btn btn-warning btn-lg" onclick="create_new_bill()">Отправить</button> |
||||
</form> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
{% endblock %} |
||||
{% block asside %} |
||||
<aside id="aside" class="app-aside hidden-xs bg-dark" style="background: #3a3f51;"> |
||||
<div class="aside-wrap"> |
||||
<div class="navi-wrap"> |
||||
<!-- user --> |
||||
<div class="clearfix hidden-xs text-center" id="aside-user"> |
||||
<div class="dropdown wrapper"> |
||||
<a href="/management/profile/"> |
||||
<span class="thumb-lg w-auto-folded avatar m-t-sm"> |
||||
<img src="{{ request.user.get_image_url }}" class="img-thumbnail" style="width: 100%;" reloader_name="avatar"> |
||||
</span> |
||||
</a> |
||||
<a href="#"> |
||||
<span class="clear"> |
||||
<span class="block m-t-sm"> |
||||
<strong class="font-bold text-lt">{{ request.user.get_short_name }}</strong> |
||||
</span> |
||||
<span class="text-muted text-xs block">{{ request.user.get_role_display }}</span> |
||||
</span> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<!-- / user --> |
||||
<nav ui-nav="" class="navi clearfix"> |
||||
<ul class="nav"> |
||||
{% include 'index_menu.html' %} |
||||
</ul> |
||||
</nav> |
||||
<!-- nav --> |
||||
</div> |
||||
</div> |
||||
</aside> |
||||
{% endblock %} |
||||
<!-- / aside --> |
||||
|
||||
<!-- content --> |
||||
{% block content %} |
||||
<div class="col"> |
||||
<!-- main header --> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3">Пользователи системы</h1> |
||||
<!-- <small class="text-muted">Welcome to angulr application</small> --> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
<div class="row"> |
||||
<form onsubmit="return false;"> |
||||
<p style="font-size: 20px; font-weight: bold;margin-left: 2%;">Поиск пользователей</p> |
||||
<input name="user_search" type="text" style="margin-right: 1%; width: 85%; margin-left: 1%;padding: 10px;font-size:20px;font-weight: bold; border: 2px solid yellow;" inpmask="phone"> |
||||
<button onclick="search_users($('[name=user_search]').val())" |
||||
style="float: right; width: 12%;margin-right: 1%;padding: 10px;font-weight: bold;font-size: 20px;">Поиск</button> |
||||
</form> |
||||
<p style="text-align: center;margin-top: 30px;"><button class="btn btn-bg btn-lg btn-success" style="width: 50%;" onclick="simple_registration('Pd1GTgUSHH1TjzcaPEqB', $('[name=user_search]').val())">Отправить письмо регистрации</button></p> |
||||
<p style="text-align: center;padding: 10px;display: none;" name="load_user_list"><img src="/static/img/ui-anim_basic_16x16.gif"></p> |
||||
<p style="text-align: center;padding: 10px;display: none;margin: 0 10px;background: #fff;" name="empty_user_list">Результатов нет</p> |
||||
<table width="100%" style="margin-top: 20px;"> |
||||
<thead> |
||||
<tr style="border-bottom: 1px dotted #ccc;"> |
||||
<td style="padding: 10px; background: #fff;border-right: 1px dotted #ccc;">Пользователь</td> |
||||
<td style="padding: 10px; background: #fff;border-right: 1px dotted #ccc;">email</td> |
||||
<td style="padding: 10px; background: #fff;border-right: 1px dotted #ccc;">Телефон</td> |
||||
<td style="padding: 10px; background: #fff;">Действие</td> |
||||
</tr> |
||||
</thead> |
||||
<tbody name="search_results"> |
||||
|
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
</div> |
||||
<!-- / main --> |
||||
<!-- right col --> |
||||
<!-- / right col --> |
||||
{% endblock %} |
||||
@ -1,295 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block asside %} |
||||
<aside id="aside" class="app-aside hidden-xs bg-dark" style="background: #3a3f51;"> |
||||
<div class="aside-wrap"> |
||||
<div class="navi-wrap"> |
||||
<!-- user --> |
||||
<div class="clearfix hidden-xs text-center" id="aside-user"> |
||||
<div class="dropdown wrapper"> |
||||
<a href="/management/profile/"> |
||||
<span class="thumb-lg w-auto-folded avatar m-t-sm"> |
||||
<img src="{{ request.user.get_image_url }}" class="img-thumbnail" style="width: 100%;" reloader_name="avatar"> |
||||
</span> |
||||
</a> |
||||
<a href="#"> |
||||
<span class="clear"> |
||||
<span class="block m-t-sm"> |
||||
<strong class="font-bold text-lt">{{ request.user.get_short_name }}</strong> |
||||
</span> |
||||
<span class="text-muted text-xs block">{{ request.user.get_role_display }}</span> |
||||
</span> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<!-- / user --> |
||||
<nav ui-nav="" class="navi clearfix"> |
||||
<ul class="nav"> |
||||
<li> |
||||
<a href="/" class="auto"> |
||||
<i class="glyphicon glyphicon-education text-warning-dk"></i> |
||||
<span>Курсы</span> |
||||
</a> |
||||
</li> |
||||
<li> |
||||
<a href="/management/account" class="auto"> |
||||
<i class="glyphicon glyphicon-home text-warning-dk"></i> |
||||
<span>Кабинет</span> |
||||
</a> |
||||
</li> |
||||
<li class="active"> |
||||
<a href="#"> |
||||
<i class="glyphicon glyphicon-star"></i> |
||||
<span>Запросы</span> |
||||
</a> |
||||
</li> |
||||
<li> |
||||
<a href="/management/profile"> |
||||
<i class="icon-user icon text-warning-dk"></i> |
||||
<span>Пользователи</span> |
||||
</a> |
||||
</li> |
||||
<li> |
||||
<a href="/management/history"> |
||||
<i class="glyphicon glyphicon-stats text-warning-dk"></i> |
||||
<span>История</span> |
||||
</a> |
||||
</li> |
||||
</ul> |
||||
</nav> |
||||
<!-- nav --> |
||||
</div> |
||||
</div> |
||||
</aside> |
||||
{% endblock %} |
||||
{% block modals %} |
||||
<div class="modal fade" id="new_bill" tabindex="-1" style="z-index: 12000;" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('new_bill')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1441326667_certificate.png" alt=""> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel">Новый счет</p> |
||||
<form action="" name="new_bill" onsubmit="return false;"> |
||||
<p class="error" id="error_new_bill"></p> |
||||
<p style="margin-bottom: 0;padding-bottom: 10px; |
||||
padding-top: 20px;">Пользователь</p> |
||||
<input type="text" name="new_bill_user_id" readonly style="display: none;"> |
||||
<input type="text" name="new_bill_user" style="background-color: #ffc;" readonly> |
||||
<p style="margin-bottom: 0;padding-bottom: 10px; |
||||
padding-top: 20px;">Услуга</p> |
||||
<select type="text" name="new_bill_service" onchange="$('[name=new_bill_checked_service]').val($('[name=new_bill_service]').find('option:selected').attr('id'))" style=" width: 100%; |
||||
padding: 10px; |
||||
background-color: #ffc; |
||||
border: 1px solid #f1f1f1; |
||||
border-radius: 3px; |
||||
margin-bottom: 10px;"> |
||||
</select> |
||||
<p style="margin-bottom: 0;padding-bottom: 10px; |
||||
padding-top: 20px;">Стоимость</p> |
||||
<input type="text" name="new_bill_cost" value="0" style="width: 100%;background: #ffc; |
||||
border: 1px solid #f1f1f1; |
||||
border-radius: 3px;"> |
||||
<input name="new_bill_checked_service" type="text" readonly style="display: none;"> |
||||
<p style="margin-bottom: 0;padding-bottom: 10px; |
||||
padding-top: 20px;">Ваш комментарий</p> |
||||
<textarea name="new_bill_comment" style="width: 100%;background: #ffc; |
||||
border: 1px solid #f1f1f1; |
||||
border-radius: 3px;"></textarea> |
||||
<button class="btn btn-warning btn-lg" onclick="create_new_bill()">Отправить</button> |
||||
</form> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="modal fade" id="fail_bill" style="z-index: 2100;" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="clear_form('fail_bill')"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1441326667_certificate.png" alt=""> |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel">Не продал</p> |
||||
<form action="" name="fail_bill" onsubmit="return false;"> |
||||
<p class="error" id="error_fail_bill"></p> |
||||
<p style="margin-bottom: 0;padding-bottom: 10px; |
||||
padding-top: 20px;">Причина отказа</p> |
||||
<input style="display: none" type="text" value="" name="fail_bill_id"> |
||||
<textarea name="fail_bill_comment" style="width: 100%;background: #ffc; |
||||
border: 1px solid #f1f1f1; |
||||
border-radius: 3px;"></textarea> |
||||
<button class="btn btn-warning btn-lg" onclick="fail_service_request()">Отправить</button> |
||||
</form> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% for i in servicerequests %} |
||||
<div class="modal fade" id="service_request_{{ i.id }}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="z-index: 2000;"> |
||||
<div class="modal-dialog modal-lg"> |
||||
<div class="modal-content"> |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
||||
</div> |
||||
<div> |
||||
<div class="col-md-4 col-sm-5 col-xs-12 center_img"> |
||||
<img src="/static/img/1442374853_cart_completed.png" alt=""> |
||||
{% if i.charge %} |
||||
<h3 style=" |
||||
margin-left: 5px; |
||||
font-weight: bold; |
||||
margin-bottom: 20px;">Поручение руководителя</h3> |
||||
<div style=" background-color: #ffc; |
||||
padding: 10px; |
||||
border-radius: 3px;text-align: justify;font-weight: bold;"> |
||||
{{ i.charge }} |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
<div class="col-md-8 col-sm-7 col-xs-12"> |
||||
<div class="activ"> |
||||
<p class="modal-title" id="myModalLabel">Обработка заявки</p> |
||||
<form action="" name="service_request_{{ i.id }}" onsubmit="return false;"> |
||||
<div style="text-align: left;margin-bottom: 10px;font-size: 20px;height: 40px;"> |
||||
<span class="label label-danger" style="font-size: 25px;">{{ i.student.get_phone }}</span> |
||||
<span class="label label-default" style="font-size: 25px;">{{ i.student.get_back_phone }}</span> |
||||
</div> |
||||
<div style="text-align: left;margin-bottom: 10px;font-size: 20px;"> |
||||
<b>Студент:</b> |
||||
<div style="background-color: #f1f1f1;padding: 5px 10px;margin-top: 5px;border-radius: 3px;">{{ i.student.get_full_name }}</div> |
||||
</div> |
||||
<div style="text-align: left;margin-bottom: 10px;font-size: 20px;"> |
||||
<b>Услуга:</b> |
||||
<div style="background-color: #f1f1f1;padding: 5px 10px;margin-top: 5px;border-radius: 3px;"> |
||||
{{ i.get_name }} |
||||
</div> |
||||
</div> |
||||
<div style="text-align: left;margin-bottom: 10px;font-size: 20px;"> |
||||
<b>Курс:</b> |
||||
<a href="/wallet/pay/traffic_map/{{ i.course.id }}" style="float: right;color: blue;" target="_blank">тарифы курса</a> |
||||
<a href="/courses/{{ i.course.id }}" style="float: right;color: blue;margin-right: 10px;" target="_blank">страница курса</a> |
||||
<div style="background-color: #f1f1f1;padding: 5px 10px;margin-top: 5px;border-radius: 3px;"> |
||||
{{ i.course }} |
||||
</div> |
||||
</div> |
||||
<div style="text-align: left;margin-bottom: 10px;font-size: 20px;"> |
||||
<b>Город:</b> |
||||
<div style="background-color: #f1f1f1;padding: 5px 10px;margin-top: 5px;border-radius: 3px;"> |
||||
{% if i.user.city %} |
||||
{{ i.user.city }} |
||||
{% else %} |
||||
Не указан |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
<button type="button" class="btn btn-warning btn-lg" onclick="sent_bill('{{ i.student.id }}', '{{ i.student.get_full_name }}')">Выписать счет</button> |
||||
<button type="button" class="btn btn-warning btn-lg" onclick="fail_service_request_modal('{{ i.id }}')">Не продал</button> |
||||
</form> |
||||
|
||||
</div> |
||||
</div> |
||||
<div class="modal-footer"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endfor %} |
||||
{% endblock %} |
||||
<!-- / aside --> |
||||
|
||||
<!-- content --> |
||||
{% block content %} |
||||
<div class="col"> |
||||
<!-- main header --> |
||||
<div class="bg-light lter b-b wrapper-md"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 col-xs-12"> |
||||
<h1 class="m-n font-thin h3">Запросы на услуги</h1> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
<div class="row"> |
||||
<table width="100%"> |
||||
<thead> |
||||
<tr> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Плательщик</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Телефон</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Курс</td> |
||||
<td style="padding: 10px;text-align: center; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;">Статус запроса</td> |
||||
<td style="padding: 10px; |
||||
font-weight: bold; |
||||
background-color: #fff;border-right: 1px dotted #999;"></td> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
{% for i in servicerequests %} |
||||
<tr style="border-bottom: 1px dotted;" name="service_request_row_{{ i.id }}"> |
||||
<td style="padding: 10px; background: #ffc;">{{ i.student }}</td> |
||||
<td style="padding: 10px; background: #ffc;font-weight: bold;">{{ i.student.get_phone }}</td> |
||||
<td style="padding: 10px; background: #ffc;">{{ i.get_name }}</td> |
||||
<td style="padding: 10px; background: #ffc;font-weight: bold;text-align: center;"> |
||||
{% if i.manager == request.user and i.status == 'W' %} |
||||
<span class="label label-danger">Вы не закончили обработку</span> |
||||
{% else %} |
||||
{{ i.get_status_display }} |
||||
{% endif %} |
||||
</td> |
||||
<td style="padding: 10px; background: #ffc;"> |
||||
{% if i.manager == request.user and i.status == 'W' %} |
||||
<button onclick="open_service_request({{ i.id }})">Продолжит работу</button> |
||||
{% else %} |
||||
<button onclick="open_service_request({{ i.id }})">Взять в работу</button> |
||||
{% endif %} |
||||
</td> |
||||
</tr> |
||||
{% empty %} |
||||
<tr> |
||||
<td colspan="7" style="text-align: center;background: #ffc;padding: 20px;"> |
||||
<h1 style="font-weight: bold;"> |
||||
Запросов нет |
||||
</h1> |
||||
</td> |
||||
</tr> |
||||
{% endfor %} |
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
</div> |
||||
<!-- / main --> |
||||
<!-- right col --> |
||||
<!-- / right col --> |
||||
{% endblock %} |
||||
@ -1,47 +0,0 @@ |
||||
<ul class="nav" style="float: left;"> |
||||
<li style="z-index: 1;"> |
||||
|
||||
<a href="/all_comments/"> |
||||
<i class="glyphicon glyphicon-object-align-left"></i> |
||||
<span>Комментарии</span> |
||||
</a> |
||||
</li> |
||||
{% if request.user.is_admin %} |
||||
<li> |
||||
<a href="/management/reports/freeweek/" class="auto"> |
||||
<i class="glyphicon glyphicon-dashboard"></i> |
||||
<span>Бесплатка</span> |
||||
</a> |
||||
</li> |
||||
<li> |
||||
<a href="/management/reports/hw_process_pp/" class="auto"> |
||||
<i class="glyphicon glyphicon-time"></i> |
||||
<span>Проверки ПП</span> |
||||
</a> |
||||
</li> |
||||
<li> |
||||
<a href="/management/reports/hw_process_pt/" class="auto"> |
||||
<i class="glyphicon glyphicon-time"></i> |
||||
<span>Проверки ПУ</span> |
||||
</a> |
||||
</li> |
||||
<li style="z-index: 1;"> |
||||
<a href="/management/reports/progress" class="auto"> |
||||
<i class="glyphicon glyphicon-align-left"></i> |
||||
<span>Прогресс</span> |
||||
</a> |
||||
</li> |
||||
<li> |
||||
<a href="/reports/" class="auto"> |
||||
<i class="glyphicon glyphicon-th"></i> |
||||
<span>Общий отчет</span> |
||||
</a> |
||||
</li> |
||||
<li> |
||||
<a href="/management/reports/mails/" class="auto"> |
||||
<i class="glyphicon glyphicon-envelope"></i> |
||||
<span>Рассылки</span> |
||||
</a> |
||||
</li> |
||||
{% endif %} |
||||
</ul> |
||||
@ -1,70 +0,0 @@ |
||||
{% extends 'reports/base_index.html' %} |
||||
{% block title %}Отчеты{% endblock %} |
||||
{% block head %} |
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="utf-8"></script> |
||||
{% endblock %} |
||||
{% block content %} |
||||
<div class="col-lg-6" style="text-align: center;"> |
||||
<h2 style="text-align: right;font-weight: bold;">Д/З</h2> |
||||
<select class="form-control" name="hw_report"> |
||||
<option value="0"> --- </option> |
||||
{% for id, course in courses.items %} |
||||
<option value="{{ id }}">{{ course }}</option> |
||||
{% endfor %} |
||||
</select> |
||||
<img src="/static/img/preloader.gif" style="padding-top: 20px;display: none;" name="hw_preloader"> |
||||
<div name="hw_chart" class="radarChart"></div> |
||||
</div> |
||||
<div class="col-lg-6" style="text-align: center;"> |
||||
<h2 style="text-align: right;font-weight: bold;">Уроки</h2> |
||||
<select class="form-control" name="les_report"> |
||||
<option value="0"> --- </option> |
||||
{% for id, course in courses.items %} |
||||
<option value="{{ id }}">{{ course }}</option> |
||||
{% endfor %} |
||||
</select> |
||||
<img src="/static/img/preloader.gif" style="padding-top: 20px;display: none;" name="les_preloader"> |
||||
<div name="les_chart" class="radarChart2"></div> |
||||
</div> |
||||
<div class="col-lg-12"> |
||||
<h3 style="margin-left: 20px;margin-top:40px;font-weight: bold;border-top: 1px dotted #ccc;padding-top: 30px;text-align: right;"> |
||||
<i class="glyphicon glyphicon-equalizer"></i> Активность пользователей |
||||
</h3> |
||||
<table class="table table-hover" style="background: #ffc;"> |
||||
<tr style="font-weight: bold;background: #ccc;"> |
||||
<td>Всего пользователей</td> |
||||
<td>Не активных</td> |
||||
<td>Оплатившие</td> |
||||
<td>Без активности <i>День</i></td> |
||||
<td>Без активности <i>3 Дня</i></td> |
||||
<td>Без активности <i>Неделю</i></td> |
||||
<td>Без активности <i>Месяц</i></td> |
||||
</tr> |
||||
<tr> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.all }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.no_active.int }} <i>[{{ users.no_active.proc }}%]</i></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.bought.all.int }} <i>[{{ users.bought.all.proc }}%]</i></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.bought.day.int }} <i>[{{ users.bought.day.proc }}%]</i></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.bought.three.int }} <i>[{{ users.bought.three.proc }}%]</i></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.bought.week.int }} <i>[{{ users.bought.week.proc }}%]</i></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.bought.month.int }} <i>[{{ users.bought.month.proc }}%]</i></td> |
||||
</tr> |
||||
</table> |
||||
</div> |
||||
|
||||
<div class="col-lg-12" style="text-align: center;"> |
||||
<h2 style="text-align: right;font-weight: bold;">Отчет прохождения</h2> |
||||
<select class="form-control" name="progress_report"> |
||||
<option value="0"> --- </option> |
||||
{% for id, course in courses.items %} |
||||
<option value="{{ id }}">{{ course }}</option> |
||||
{% endfor %} |
||||
</select> |
||||
<img src="/static/img/preloader.gif" style="padding-top: 20px;display: none;" name="progress_preloader"> |
||||
<div name="progress_chart" class="radarChart"></div> |
||||
</div> |
||||
{% endblock %} |
||||
{% block js %} |
||||
<script src="/static/js/radarChart.js"></script> |
||||
<script src="/static/js/reports.js"></script> |
||||
{% endblock %} |
||||
@ -1,67 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block content %} |
||||
<div class="col" style="padding-left: 20px; padding-right: 20px;"> |
||||
<!-- main header --> |
||||
<div> |
||||
<div class="wrapper-lg" style="padding-bottom: 0; padding-top: 20px;"> |
||||
<div class="row m-t"> |
||||
<div class="clear m-b"> |
||||
<div class="m-b m-t-sm"> |
||||
<span class="h1 text text-u-c gread_title" style="font-size: 60px;">{{ news.title }}</span><Br> |
||||
<p style="margin-top: 5px; |
||||
background: #f1f1f1; |
||||
padding: 5px 10px; |
||||
border-radius: 5px;">{{ news.get_date }}</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
<div class="row well well-lg"> |
||||
{{ news.content|safe }} |
||||
</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
</div> |
||||
<!-- / main --> |
||||
<!-- right col --> |
||||
<div class="col w-md bg-white-only b-l bg-auto no-border-xs aside-col"> |
||||
|
||||
{% if request.user.is_authenticated %} |
||||
<div class="padder-md"> |
||||
<!-- streamline --> |
||||
<div class="m-b m-t text-md">Последняя активность</div> |
||||
<div class="streamline b-l m-b"> |
||||
<div class="sl-item b-success b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">минуту назад<br>Курс «Профессия веб-разработчик», занятие 6</div> |
||||
<p>Ваше <a href class="text-info">домашнее задание</a> одобрено преподавателем.</p> |
||||
</div> |
||||
</div> |
||||
<div class="sl-item b-danger b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">23:30 <br>Курс «Профессия веб-разработчик», занятие 6.</div> |
||||
<p>Ваше домашнее задание проверено преподавателем. Вам необходимо <a href class="text-info">провести работу над ошибками</a></p> |
||||
</div> |
||||
</div> |
||||
<div class="sl-item b-info b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">понедельник, 03.02.2015<br>Курс «Профессия веб-разработчик», занятие 6.</div> |
||||
<p>Преподаватель <a href class="text-info">оставил комментарий</a></p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<!-- / streamline --> |
||||
</div> |
||||
{% endif %} |
||||
<div class="panel-body"> |
||||
<div class="m-b m-t text-md">Новости Школы</div> |
||||
<div id="news_block"></div> |
||||
</div> |
||||
|
||||
</div> |
||||
<!-- / right col --> |
||||
|
||||
{% endblock %} |
||||
@ -1,63 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% block title %}Комментарий #{{ comment.id }}{% endblock %} |
||||
{% block content %} |
||||
<div class="col" style="padding-left: 20px; padding-right: 20px;"> |
||||
<!-- main header --> |
||||
<div> |
||||
<div class="wrapper-lg" style="padding-bottom: 0; padding-top: 20px;"> |
||||
<div class="row m-t"> |
||||
<div class="clear m-b"> |
||||
<div class="m-b m-t-sm"> |
||||
<span class="h1 text text-u-c gread_title" style="font-size: 60px;">Комментарий #{{ comment.id }}</span><Br> |
||||
<p style="margin-top: 5px; |
||||
background: #f1f1f1; |
||||
padding: 5px 10px; |
||||
border-radius: 5px;">{{ comment.date }}</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="wrapper-md"> |
||||
<div class="row well well-lg"> |
||||
{{ comment.text|safe }} |
||||
</div> |
||||
</div> |
||||
<!-- / main header --> |
||||
|
||||
</div> |
||||
<!-- / main --> |
||||
<!-- right col --> |
||||
<div class="col w-md bg-white-only b-l bg-auto no-border-xs aside-col"> |
||||
|
||||
{% if request.user.is_authenticated %} |
||||
<div class="padder-md"> |
||||
<!-- streamline --> |
||||
<div class="m-b m-t text-md">Последняя активность</div> |
||||
<div class="streamline b-l m-b"> |
||||
<div class="sl-item b-success b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">минуту назад<br>Курс «Профессия веб-разработчик», занятие 6</div> |
||||
<p>Ваше <a href class="text-info">домашнее задание</a> одобрено преподавателем.</p> |
||||
</div> |
||||
</div> |
||||
<div class="sl-item b-danger b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">23:30 <br>Курс «Профессия веб-разработчик», занятие 6.</div> |
||||
<p>Ваше домашнее задание проверено преподавателем. Вам необходимо <a href class="text-info">провести работу над ошибками</a></p> |
||||
</div> |
||||
</div> |
||||
<div class="sl-item b-info b-l"> |
||||
<div class="m-l"> |
||||
<div class="text-muted label-small">понедельник, 03.02.2015<br>Курс «Профессия веб-разработчик», занятие 6.</div> |
||||
<p>Преподаватель <a href class="text-info">оставил комментарий</a></p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<!-- / streamline --> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
<!-- / right col --> |
||||
|
||||
{% endblock %} |
||||
@ -1,281 +0,0 @@ |
||||
<!-- По соглашению "Консорциума Всемирной Паутины" - указываем браузеру формат документа --> |
||||
<!--[https://ru.wikipedia.org/wiki/Консорциум_Всемирной_паутины] --> |
||||
<!DOCTYPE html> |
||||
<!-- Указываем основной язык документа --> |
||||
<html lang="ru" style="background: #fff;"> |
||||
<!-- |
||||
`............................................` |
||||
sMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMs |
||||
sMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMs |
||||
sMMMMMssssssssssssssssssssssssssssssssssMMMMMs |
||||
sMMMMM MMMMMs |
||||
sMMMMM MMMMMs |
||||
sMMMMM :yyyyy. MMMMMs |
||||
sMMMMM /MMMMMo MMMMMs |
||||
sMMMMM /MMMMMo MMMMMs |
||||
sMMMMM /MMMMMo MMMMMs |
||||
sMMMMM +MMMMMo MMMMMs |
||||
sMMMMM +MMMMMo MMMMMs |
||||
sMMMMM +MMMMMo MMMMMs |
||||
sMMMMM +MMMMMo MMMMMs |
||||
sMMMMM oMMMMMo MMMMMs |
||||
sMMMMM oMMMMMo .....` MMMMMs |
||||
sMMMMM oMMMMMo hMMMM: MMMMMs |
||||
sMMMMM sMMMMMo hMMMM: MMMMMs |
||||
sMMMMM `:::::: -::::` MMMMMs |
||||
sMMMMM MMMMMs |
||||
sMMMMMyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyMMMMMs |
||||
sMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMs |
||||
sMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMs |
||||
`````````````````````````````````````````````` |
||||
--> |
||||
<head> |
||||
<!-- Говорим браузеру в какой кодировке открывать страницу --> |
||||
<meta charset="utf-8" /> |
||||
<!-- Делаем удобочитаемым текст на устройствах с маленьким экраном --> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> |
||||
<!-- Устанавливаем заголовок документа --> |
||||
<title>{{ face.title }} - {{ NAME }}</title> |
||||
<!-- Подключаем иконку рядом с заголовком документа --> |
||||
<link rel="shortcut icon" href="/static/img/favicon.ico" type="image/x-icon"> |
||||
<!-- Подключаем основное оформление LMS системы --> |
||||
<link href="/static/css/app.css" rel="stylesheet" type="text/css"> |
||||
|
||||
<!-- Подключаем необходимые библиотеки, |
||||
файлы JavaScript[https://ru.wikipedia.org/wiki/JavaScript] |
||||
и/или CSS[https://ru.wikipedia.org/wiki/CSS] --> |
||||
{% block content.head %} |
||||
{{ content.head|safe }} |
||||
{% endblock %} |
||||
<!-- Для опытных пользователей --> |
||||
<!-- |
||||
Мы могли бы подключить библиотеки функцией JS прямо из консоли разработчика. |
||||
К примеру подключение библиотеки JQuery: |
||||
(function(d,s){s=d.createElement('script');s.src='https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.js';(d.head||d.documentElement).appendChild(s)})(document); |
||||
Такая возможность может быть использована злоумышлинниками для вредоностного воздействия на ваш сервер/сайт |
||||
Вы можете защититься от подобного воздействия путем добавления HTTP заголовка "Content-Security-Policy" |
||||
|
||||
Описание заголовка: [https://www.w3.org/Security/wiki/Content_Security_Policy] |
||||
|
||||
Пожалуйста, учитесь читать исходную документацию и понимать основы технологий, которые вы используете. |
||||
[{{ DOMAIN }}courses/1] |
||||
--> |
||||
<!-- Не бойтесь экспериментировать, будьте неутомимыми исследователями, любите то, что вы делаете --> |
||||
<!-- Барышников Николай Романович / Технический директор компании "{{ NAME }}" [{{ DOMAIN }}ID2-75686/]--> |
||||
</head> |
||||
<body style="margin: 0;background: #fff;"> |
||||
<!-- Приступим к экспериментам --> |
||||
<h1 style="margin: 0;padding: 10px 10px 20px;"> |
||||
Мастерская "{{ face.title }}" |
||||
<div style="float: right;position: absolute;right: 20px;top: 0;"> |
||||
<span style="font-size: 15px;">Ключ мастерской: <span style=" |
||||
color: cornflowerblue; |
||||
border-bottom: 1px dotted cornflowerblue;">{{ face.key }}</span></span><br> |
||||
<span style="font-weight: normal; |
||||
cursor: pointer; |
||||
color: cornflowerblue; |
||||
border-bottom: 1px dotted cornflowerblue; |
||||
float: right;font-size: 12px;" onclick="$('[name=workshop_more]').fadeIn()">подробнее</span> |
||||
</div> |
||||
</h1> |
||||
|
||||
<div style="font-size: 15px; |
||||
font-weight: normal; |
||||
text-align: left; |
||||
position: absolute; |
||||
background: #ffc; |
||||
float: right; |
||||
right: 10px; |
||||
margin-top: -30px; |
||||
border-radius: 3px; |
||||
padding: 10px 20px; |
||||
border: 1px solid #ccc;display: none;" name="workshop_more"> |
||||
<p style="margin-top: 0; |
||||
text-align: left; |
||||
font-weight: bold; |
||||
border-bottom: 1px dotted #ccc; |
||||
padding-bottom: 10px;"> |
||||
Подробная информация |
||||
<span style="font-weight: normal; |
||||
cursor: pointer; |
||||
color: cornflowerblue; |
||||
border-bottom: 1px dotted cornflowerblue; |
||||
float: right;font-size: 12px;" onclick="$('[name=workshop_more]').fadeOut()">закрыть</span> |
||||
</p> |
||||
<b>Доступ:</b> {{ face.access }}<br> |
||||
<b>Открытие комнаты:</b> {{ face.date }}<br> |
||||
<b>Просмотров:</b> {{ face.views }}<Br> |
||||
<b>Студентов* посетило:</b> {{ face.students }}<br> |
||||
<b>Студенты* <span style="color: green;">on-line</span>:</b> |
||||
{{ face.online }} |
||||
<ul style="list-style: none; background: #f1f1f1;padding: 0;"> |
||||
{% for student in face.now_users %} |
||||
<li style="padding: 10px; margin-bottom: 5px; height: 40px;"> |
||||
<img src="{{ student.ava }}" style=" margin-right: 10px; |
||||
max-width: 30px; |
||||
height: auto; |
||||
border-radius: 20px; float: left;margin-top: 5px;"> |
||||
<span style="font-weight: bold;position: relative;"> |
||||
{% if student.name %}{{ student.name }}{% else %}{{ student.interactive_key }}{% endif %} <span style="color: green;">online</span> |
||||
</span><Br> |
||||
<span>{% if student.is_staff %}<img src="/static/img/mini_logo.png" style="height: 10px;" |
||||
title="Команда «{{ NAME }}»" |
||||
alt="Команда «{{ NAME }}»">{% endif %} |
||||
{{ student.role }} |
||||
</span> |
||||
<a href="{{ student.profile }}" target="_blank" style=" |
||||
color: cornflowerblue; |
||||
border-bottom: 1px dotted cornflowerblue; |
||||
float: right;font-size: 12px;margin-top: -20px;">Посмотреть профиль</a> |
||||
</li> |
||||
{% endfor %} |
||||
</ul> |
||||
<br> |
||||
<p><span style="font-size: 12px;font-weight: normal;">* - Пользователи, прошедшие процесс регистрации</span></p> |
||||
|
||||
</div> |
||||
<div style=" float: left; |
||||
width: 20%; |
||||
padding: 10px; |
||||
background: #f1f1f1; |
||||
max-height: 400px; |
||||
border: 1px solid #ccc; |
||||
border-radius: 3px; |
||||
overflow-x: hidden; |
||||
overflow-y: auto"> |
||||
<p style="font-weight: bold; padding-bottom: 5px;margin: 0 0 10px;border-bottom: 1px dotted #ccc;"> |
||||
События мастерской: |
||||
<span name="workshop_log_count" style="background: red; border-radius: 10px; color: #fff;font-weight: bold; padding: 0 5px; float:right;" title="Количество событий">0</span> |
||||
</p> |
||||
<ul name="workshop_log" style="list-style: none; padding: 0;"> |
||||
|
||||
</ul> |
||||
</div> |
||||
<div style="float:left; width: 80%; padding-bottom: 150px;"> |
||||
{% if content.body %} |
||||
<div style="border-bottom: 1px solid #f1f1f1;padding-bottom: 10px;margin-top: 0;"> |
||||
<p style="font-weight: bold; |
||||
background: #f1f1f1; |
||||
padding: 10px;margin-top: 0;"> |
||||
Интерактивные элементы: |
||||
</p> |
||||
<div name="description_content" style="padding: 0 20px;"> |
||||
{{ content.body|safe }} |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
{% if content.description %} |
||||
<div style="border-bottom: 1px solid #f1f1f1;padding-bottom: 10px;margin-top: 0;"> |
||||
<p style="font-weight: bold; |
||||
background: #f1f1f1; |
||||
padding: 10px;margin-top: 0;"> |
||||
Описание задачи: |
||||
</p> |
||||
<div name="description_content" style="padding: 0 20px;"> |
||||
{{ content.description|safe }} |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
{% if content.resolve %} |
||||
<div name="resolve" style="border-bottom: 1px solid #f1f1f1;padding-bottom: 10px;display: none;margin-top: 10px;"> |
||||
<p style="font-weight: bold; |
||||
background: #f1f1f1; |
||||
padding: 10px; |
||||
margin-top: 0;"> |
||||
Пример решения: |
||||
<span style="font-weight: normal; |
||||
cursor: pointer; |
||||
color: cornflowerblue; |
||||
border-bottom: 1px dotted cornflowerblue; |
||||
float: right;" |
||||
onclick="$('[name=resolve]').fadeOut('slow');"> |
||||
закрыть |
||||
</span> |
||||
</p> |
||||
<div style="padding: 0 20px;"> |
||||
{{ content.resolve|safe }} |
||||
</div> |
||||
</div> |
||||
<p style="text-align: center; |
||||
width: 100%; |
||||
position: fixed; |
||||
bottom: 83px; |
||||
background: #f1f1f1; |
||||
padding: 10px; |
||||
margin: 0; |
||||
color: #ccc; |
||||
cursor: pointer;" |
||||
onclick="$('[name=resolve]').fadeIn('slow');"> |
||||
<span>Посмотреть решение</span> |
||||
</p> |
||||
{% endif %} |
||||
{% if content.content %} |
||||
<div style="border-bottom: 1px solid #f1f1f1;padding-bottom: 10px;margin-top: 10px;"> |
||||
<p style="font-weight: bold; |
||||
background: #f1f1f1; |
||||
padding: 10px; |
||||
margin-top: 0;"> |
||||
Описание методов: |
||||
</p> |
||||
<div style="padding: 0 20px;" name="workshop_content"> |
||||
{{ content.content|safe }} |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
{% if content.variables %} |
||||
<div style="border-bottom: 1px solid #f1f1f1;padding-bottom: 10px;margin-top: 10px;"> |
||||
<p style="font-weight: bold; |
||||
background: #f1f1f1; |
||||
padding: 10px; |
||||
margin-top: 0;"> |
||||
Описание переменных: |
||||
</p> |
||||
<div style="padding: 0 20px;" name="workshop_variables"> |
||||
{{ content.variables|safe }} |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
{% if content.tools %} |
||||
<div style="border-bottom: 1px solid #f1f1f1;padding-bottom: 10px;margin-top: 10px;"> |
||||
<p style="font-weight: bold; |
||||
background: #f1f1f1; |
||||
padding: 10px; |
||||
margin-top: 0;"> |
||||
Используемые инструменты: |
||||
</p> |
||||
<div style="padding: 0 20px;" name="workshop_tools"> |
||||
<ul style="padding: 0; list-style: none;"> |
||||
{% for tool in content.tools %} |
||||
{% if tool.url %} |
||||
<a href="{{ tool.url }}" style="font-weight: normal; |
||||
cursor: pointer; |
||||
color: cornflowerblue; |
||||
border-bottom: 1px dotted cornflowerblue;" target="_blank"> |
||||
{% endif %} |
||||
<li> |
||||
<img src="{{ tool.icon }}" alt="{{ tool.name }}" style="max-width: 20px;float:left;margin-right: 5px;"> {{ tool.name }} |
||||
{% if tool.description %}<span style=" color: #999; margin-left: 10px; |
||||
font-size: 13px;">{{ tool.description }}</span>{% endif %} |
||||
</li> |
||||
{% if tool.url %} |
||||
</a> |
||||
{% endif %} |
||||
{% endfor %} |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
<p style="text-align: center; |
||||
position: fixed; |
||||
bottom: 0; |
||||
width: 100%; |
||||
border-top: 1px dotted #ccc; |
||||
padding-top: 20px; |
||||
background: #ffc; |
||||
margin: 10px 0 0; |
||||
padding-bottom: 20px;"> |
||||
<a href="/" target="_blank"><img src="/static/img/logo.png"></a> |
||||
</p> |
||||
</body> |
||||
</html> |
||||
@ -1,446 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% load static %} |
||||
{% block page_title %}Профиль{% endblock %} |
||||
{% block title %}{% if in_user %}{{ in_user.get_short_name }}{% else %}{{ request.user.get_short_name }}{% endif %}{% endblock %} |
||||
<meta name="description" content="{% block head_description1 %}{{ in_user.in_role }} - {{ in_user.get_full_name }}{% endblock %}" /> |
||||
<meta property="og:title" content="{% block head_title %}{{ in_user.in_role }} - {{ in_user.get_full_name }}{% endblock %}" /> |
||||
<meta property="og:description" content="{% block head_description2 %}{{ NAME }}{% endblock %}" /> |
||||
<meta property="og:image" content="{% block head_image %}{{ in_user.get_image_url }}{% endblock %}" /> |
||||
{% block head %} |
||||
<link rel="stylesheet" href="/static/css/pie_chart.css" type="text/css" /> |
||||
{% endblock %} |
||||
{% block content %} |
||||
<!-- main --> |
||||
<div class="col"> |
||||
<!-- main header --> |
||||
<div class="bg-light lter b-b wrapper-md m-b-md" style="padding-bottom: 5px; padding-top:5px;"> |
||||
<div class="row"> |
||||
{% for key, values in achievements.items %} |
||||
{% for i in values %} |
||||
<a type="button" style="border-bottom: 0;" onclick="show_achievement('{{ i.id }}', '{{ i.title }}', '{{ i.text }}', '{{ i.achievement.image.url }}', '{{ i.achievement.border }}', '{{ i.achievement.background }}')"> |
||||
<img src="{{ i.achievement.image.url }}" alt="{{ i.achievement.title }}" title="{{ i.achievement.title }}" class="m-b-xs" style="background:{{ i.achievement.background }};padding: 5px; border-radius:3px;margin: 5px;height: 25px;"> |
||||
</a> |
||||
{% endfor %} |
||||
<span style="border: 1px dotted #999; |
||||
position: relative; |
||||
top: 2px;"></span> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
|
||||
<!-- main header --> |
||||
<div class="col-sm-5"> |
||||
<div class="panel b-a"> |
||||
<div class="panel panel-default" style="margin-bottom: 0; background: #fff;"> |
||||
<div class="panel-heading b-b b-light font-bold"> |
||||
<small class="text-muted">{% if in_user %}{% if in_user.unique_role %}<i class="glyphicon glyphicon-star" style="color:#fcb813;"></i> {{ in_user.unique_role }}{% else %}<i class="glyphicon glyphicon-check" style=" margin-right: 5px;"></i> {{ in_user.get_in_role_display }}{% endif %} |
||||
{% else %}{% if request.user.unique_role %}<i class="glyphicon glyphicon-star" style="color:#fcb813;"></i> {{ request.user.unique_role }}{% else %}<i class="glyphicon glyphicon-check" style=" margin-right: 5px;"></i>{{ request.user.get_in_role_display }}{% endif %}{% endif %}</small> |
||||
|
||||
<span style="float: right; color: #666;"> {% if in_user %} |
||||
<small class="text-muted" style="{% if in_user.status == 'ON' %}color:green;{% endif %}font-weight: bold;"> |
||||
{% if in_user.status == 'ON' %}<i class="glyphicon glyphicon-ok-sign" title="{{ request.user.get_status_display }}" style=" margin-right: 2px;"></i> {% else %}<i class="glyphicon glyphicon-time" style=" margin-right: 2px;"></i>{% endif %} |
||||
<span class="hidden-xs">{{ in_user.get_status_display }}</span></small> |
||||
{% else %} |
||||
<small class="text-muted" style="{% if request.user.status == 'ON' %}color:green;{% endif %}font-weight: bold;"> |
||||
{% if request.user.status == 'ON' %}<i title="{{ request.user.get_status_display }}" class="glyphicon glyphicon-ok-sign" style=" margin-right: 2px;"></i> {% else %}<i class="glyphicon glyphicon-time" style=" margin-right: 2px;"></i>{% endif %} |
||||
<span class="hidden-xs">{{ request.user.get_status_display }}</span></small> |
||||
{% endif %}</span> |
||||
</div> |
||||
<div class="panel-body" style=" background: url({% if in_user %}{{ in_user.get_image_url }}{% else %}{{ request.user.get_image_url }}{% endif %}) no-repeat center center; min-height: 300px; |
||||
-webkit-background-size: cover; |
||||
-moz-background-size: cover; |
||||
-o-background-size: cover; |
||||
background-size: cover;"> |
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="panel b-a"> |
||||
<div class="panel panel-default" style="margin-bottom: 0;"> |
||||
<div class="panel-heading font-bold"> |
||||
Основная информация <i class="glyphicon glyphicon-user" style="float: right; color:#333;"></i> |
||||
</div> |
||||
<div class="panel-body"> |
||||
|
||||
<h3 style="font-weight: bold;margin-top:0;text-align: left; margin-bottom: 0;" reloader_name="fname">{% if in_user %}{{ in_user.fname }}{% else %}{{ request.user.fname }}{% endif %}</h3> |
||||
<h3 style="font-weight: bold;text-align: left;margin-top: 5px; margin-bottom: 0;" reloader_name="name">{% if in_user %}{{ in_user.name }}{% else %}{{ request.user.name }}{% endif %}</h3> |
||||
<h3 style="font-weight: bold;text-align: left;margin-top: 5px; margin-bottom: 0;" reloader_name="oname">{% if in_user %}{{ in_user.oname }}{% else %}{{ request.user.oname }}{% endif %}</h3> |
||||
<h3 reloader_name="city" style="text-align: left;margin-top: 5px; margin-bottom: 0;font-size: 18px;">{% if in_user %}{{ in_user.city }}{% else %}{{ request.user.city }}{% endif %}</h3> |
||||
{% if not in_user %}<p style="text-align: left;margin-top: 5px; margin-bottom: 0;"><a type="button" onclick="set_settings_data()" style="color: blue;border-bottom: 1px dotted;">Изменить данные</a></p>{% endif %} |
||||
<hr> |
||||
<span style="color: #666;"> {% if in_user %} |
||||
<small class="text-muted">Регистрации: {{ in_user.date_joined }}</small> |
||||
{% else %} |
||||
<small class="text-muted">Регистрации: {{ request.user.date_joined }}</small> |
||||
{% endif %}</span> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% if not in_user %} |
||||
<div class="panel b-a"> |
||||
<div class="panel panel-default" style="margin-bottom: 0;"> |
||||
<div class="panel-heading font-bold"> |
||||
Настройки приватности <i class="glyphicon glyphicon-lock" style="float: right; color: #666;"></i> |
||||
</div> |
||||
<div class="panel-body"> |
||||
<p style=" float: left; |
||||
width: 100%; |
||||
border-bottom: 1px dotted #ccc; |
||||
padding-bottom: 10px;"> |
||||
<i class="glyphicon glyphicon-link" style="margin-top: 7px;"></i> <input id="foo" style=" color: #0099CC; |
||||
width: 239px; |
||||
border: 0;" readonly value="{{ DOMAIN }}/{{ request.user.interactive_key }}"> |
||||
<button id="copy_unique_user_id" class="btn" type="button" data-clipboard-action="copy" data-clipboard-target="#foo" style="float: right;" onclick="show_system_message('Ссылка скопирована')"> |
||||
<i class="glyphicon glyphicon-duplicate"></i> <span class="hidden-xs hidden-sm">Скопировать</span> |
||||
</button> |
||||
</p> |
||||
<div class="col-sm-10"> |
||||
<label class="i-switch bg-success m-t-xs m-r" onclick="change_private('A')"> |
||||
<input type="radio" name="switch" {% if request.user.private == 'A' %}checked=""{% endif %}> |
||||
<i></i> |
||||
</label><b>Виден всем</b><br> |
||||
<label class="i-switch bg-info m-t-xs m-r" onclick="change_private('U')"> |
||||
<input type="radio" name="switch" {% if request.user.private == 'U' %}checked=""{% endif %}> |
||||
<i></i> |
||||
</label><b>Только пользователям</b><br> |
||||
<label class="i-switch bg-primary m-t-xs m-r" onclick="change_private('L')"> |
||||
<input type="radio" name="switch" {% if request.user.private == 'L' %}checked=""{% endif %}> |
||||
<i></i> |
||||
</label><b>По прямой ссылке</b><br> |
||||
<label class="i-switch bg-danger m-t-xs m-r" onclick="change_private('B')"> |
||||
<input type="radio" name="switch" {% if request.user.private == 'B' %}checked=""{% endif %}> |
||||
<i></i> |
||||
</label><b>Только мне</b><br> |
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
<div class="panel b-a"> |
||||
<div class="panel panel-default" style="margin-bottom: 0;"> |
||||
<div class="panel-heading font-bold"> |
||||
Ваши курсы <span style="float: right; color: #666;white-space:nowrap;"><i class="glyphicon glyphicon-education" style="margin-right:2px;"></i> <span class="hidden-sm hidden-xs">Всего:</span> {{ courses|length }} <span class="visible-xs" style="font-weight:bold;">/</span> <span style="color: green;"><span class="hidden-sm hidden-xs">Пройдено:</span> {{ completed_courses }}</span></span> |
||||
</div> |
||||
<div class="panel-body"> |
||||
{% for i in courses %} |
||||
<div style=" width: 100%; |
||||
float: left; |
||||
border-bottom: 1px solid #f1f1f1; |
||||
margin-bottom: 10px; |
||||
background: #fff; |
||||
padding: 15px;clear: both;"> |
||||
<div style="float: left;width: 49%;padding-right: 1%;"> |
||||
<div style="font-weight: bold; |
||||
font-size: 16px; |
||||
color: #000; |
||||
margin-bottom: 10px;">{{ i.title }}</div> |
||||
<div style=" margin-bottom: 15px;width: 100%;"> |
||||
<div class="progress progress-sm progress-striped m-t-xs m-b" style=" margin-bottom: 0; |
||||
border-radius: 10px; |
||||
height: 15px; |
||||
line-height: 36px;"> |
||||
<div class="progress-bar {% if i.progress == 100 %}bg-success{% else %}bg-warning{% endif %} text-black" data-toggle="tooltip" data-original-title="{{ i.progress }}" style="width: {{ i.progress }}%; min-width: 2.5em; line-height: 14px; |
||||
color: #fff; |
||||
font-size: 14px; |
||||
font-weight: bold;">{{ i.progress }} %</div> |
||||
</div> |
||||
</div> |
||||
<div style="width: 100%;"> |
||||
<div style="float: left;width: 100%;"><a href="/courses/{{ i.course_id }}" class="btn btn-default" target="_blank" style="border-radius: 3px;width: 100%;">Страница курса</a></div> |
||||
</div> |
||||
</div> |
||||
{% if i.teacher %} |
||||
<div style="float: right;width: 50%;margin-top: 10px;"> |
||||
<div style="float: right;"> |
||||
<div class="text-center clearfix " style="border-radius: 0 0 5px 5px;padding-bottom: 10px;"> |
||||
<img src="{{ i.teacher.get_image_url }}" alt="..." class="img-circle" style="height: auto;width: 60px;"> |
||||
</div> |
||||
</div> |
||||
<div style="text-align: right;float: right;"> |
||||
<p style="color: #70aadd; margin: 7px 0 0;">Ваш преподаватель</p> |
||||
<div style="font-weight: bold;font-size: 15px;"> |
||||
<span>{{ i.teacher.fname }} {{ i.teacher.name }}</span><br> |
||||
<span>{{ i.teacher.oname }}</span> |
||||
</div> |
||||
<p><a href="/{{ i.teacher.interactive_key }}" target="_blank" style="color: #999;border-bottom: 1px dotted;">Профиль</a></p> |
||||
</div> |
||||
</div> |
||||
{% endif %} |
||||
|
||||
</div> |
||||
{% empty %} |
||||
<h3 style="font-weight: bold;text-align: center;margin: 10px 0;">На изучении курсов нет</h3> |
||||
{% endfor %} |
||||
</div> |
||||
<div class="panel-footer" style="text-align: right;background: #f1f1f1;"> |
||||
<a href="/courses/" target="_blank" class="auto" style="color: #999;border: 0;"> |
||||
<i class="glyphicon glyphicon-th" style="margin-right: 5px;"></i> |
||||
<span>Наши курсы</span> |
||||
</a> |
||||
</div> |
||||
|
||||
|
||||
</div> |
||||
</div> |
||||
|
||||
<div class="panel panel-default"> |
||||
<div class="panel-heading font-bold">Ваши очки навыков <span style="float: right; color: #666;"><i class="glyphicon glyphicon-ok-sign"></i> {{ skills_size }}</span></div> |
||||
<!-- <a href="" class="text-muted m-t-sm m-l inline" ng-click="data=[40, 40, 20]"><i class="icon-pie-chart"></i></a> --> |
||||
<div class="text-center wrapper m-b-sm" style="width: 100%"> |
||||
{% if skills %} |
||||
<div id="pieChart" class="chart" style="width: 100%;height: 250px;"></div> |
||||
{% else %} |
||||
<h3 style="font-weight: bold;text-align: center;margin: 10px 0;">Навыков не получено</h3> |
||||
{% endif %} |
||||
</div> |
||||
<ul class="list-group no-radius"> |
||||
{% for key, value in skills.items %} |
||||
<li class="list-group-item" name="skill_row" skill_title="{{ key }}" skill_color="{{ value.color }}" skill_value={{ value.size }}> |
||||
<span class="pull-right"><b>{{ value.size }}</b> очков</span> |
||||
<span class="label font-normal text-white" style="background: {{ value.color }};font-size: 14px;">{% if value.icon %}<img src="{{ value.icon.url }}" style="margin-top: -1px;width: 15px; |
||||
height: 15px; |
||||
margin-right: 5px;">{% endif %}{{ key }}</span> |
||||
|
||||
</li> |
||||
{% endfor %} |
||||
<li class="list-group-item" style="font-weight:bold;"> |
||||
<span class="pull-right"><b>{{ skills_size }}</b> очков</span> |
||||
<!-- <span class="label bg-danger">5</span> --> |
||||
Итого: |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
{% if documents %} |
||||
<div class="panel panel-default"> |
||||
<div class="panel-heading font-bold">Документы <span style="float: right; color: #666;"><i class="glyphicon glyphicon-book" style="float: right; color: #666;"></i> {{ documents|length }}</span></div> |
||||
<ul class="list-group no-radius"> |
||||
{% for doc in documents %} |
||||
{% if doc.file %}<a href="{{ doc.file.url }}" target="_blank">{% endif %}<li class="list-group-item"> |
||||
<span class="pull-right"><b>{{ doc.get_status_display }}</b> </span> |
||||
<span class="label font-normal text-white" style="font-size: 14px;color: #333;"> |
||||
<i class="glyphicon glyphicon-file" style="margin-top: -1px;width: 15px;height: 15px;margin-right: 5px;"></i>{{ doc.title }} |
||||
</span> |
||||
|
||||
</li>{% if doc.file %}</a>{% endif %} |
||||
{% endfor %} |
||||
</ul> |
||||
</div> |
||||
{% endif %} |
||||
{% if b_bills %} |
||||
<div class="panel panel-default"> |
||||
<div class="panel-heading font-bold">Счета <span style="float: right; color: #666;"><i class="glyphicon glyphicon-credit-card"></i> {{ b_bills|length }}</span></div> |
||||
<ul class="list-group no-radius"> |
||||
<style> |
||||
li.green:hover{ |
||||
background: #dff0d8; |
||||
} |
||||
</style> |
||||
{% for b in b_bills %} |
||||
{% if b.file %}<a href="{{ b.file.url }}" target="_blank">{% endif %}<li class="list-group-item green" {% if b.status == 'W' or b.status == 'P' or b.status == 'C' %}onclick="accept_bill({{ b.id }})"{% endif %}> |
||||
<span class="pull-right"><b>{% if b.status == 'F' %}<i class="glyphicon glyphicon-saved" style="margin-right: 2px; |
||||
color: green;"></i>{% endif %}{{ b.get_status_display }}</b> </span> |
||||
<p class="label font-normal text-white" style="font-size: 14px;color: #333;white-space:normal;text-shadow: 0 0 0;"> |
||||
<i class="{% if b.gift %}glyphicon glyphicon-gift{% else %}glyphicon glyphicon-barcode{% endif %}" style="margin-top: -1px;width: 15px;height: 15px;margin-right: 5px;"></i>{{ b.get_name }} |
||||
</p> |
||||
|
||||
</li>{% if bill.file %}</a>{% endif %} |
||||
{% endfor %} |
||||
</ul> |
||||
</div> |
||||
{% endif %} |
||||
</div> |
||||
<div class="col-sm-7"> |
||||
<div class="panel b-a panel-default"> |
||||
<div class="panel-heading b-b b-light font-bold"> |
||||
Ваши дипломы <span style="float: right; color: #666;"><i class="glyphicon glyphicon-briefcase"></i> {{ diploms|length }}</span> |
||||
</div> |
||||
|
||||
<ul class="list-group list-group-lg no-bg auto"> |
||||
{% for i in diploms %} |
||||
<li class="list-group-item clearfix"> |
||||
<span class="pull-left avatar m-r"> |
||||
<img src="{{ i.material.icon.url }}" class="no-radius" alt="..." style="max-width:150px;"> |
||||
<i class="on b-white bottom"></i> |
||||
</span> |
||||
<span class="clear"> |
||||
<span>Успешное прохождение курса: {{ i.material.course.get_title }}</span><br><br> |
||||
<small class="text-muted clear text-ellipsis">Выдан {{ i.date }}</small> |
||||
</span> |
||||
<div class="btn btn-default btn-xs btn-info fancy" href="#diplom" onclick="load_diplome_cart('{{ i.in_image.url }}', '{{ i.material.course.get_title }}', '{{ i.key }}', '{{ i.date }}')">Посмотреть диплом</div> |
||||
</li> |
||||
{% empty %} |
||||
<li class="list-group-item clearfix"><h3 style="font-weight: bold;text-align: center;margin: 10px 0;">Дипломов не получено</h3></li> |
||||
{% endfor %} |
||||
|
||||
</ul> |
||||
</div> |
||||
<div class="panel b-a panel-default"> |
||||
<div class="panel-heading b-b b-light font-bold"> |
||||
Ваши достижения <span style="float: right; color: #666;"><i class="glyphicon glyphicon-star"></i> {{ got_achievements }}</span> |
||||
</div> |
||||
<div class="panel-body text-center p-t-none"> |
||||
{% for key, values in achievements.items %} |
||||
<div class="panel b-none m-b-xs"> |
||||
<div class="panel-heading p-none text-left no-bg"> |
||||
{{ key }} |
||||
</div> |
||||
<div class="panel-body text-center p-l-none p-r-none"> |
||||
{% for i in values %} |
||||
<a type="button" style="border-bottom: 0;" onclick="show_achievement('{{ i.id }}', '{{ i.title }}', '{{ i.text }}', '{{ i.achievement.image.url }}', '{{ i.achievement.border }}', '{{ i.achievement.background }}')"> |
||||
<div class="m-b inline m-r-lg v-top"> |
||||
<div class="thumb-xl"> |
||||
<img src="{{ i.achievement.icon.url }}" alt="..." class="m-b-xs" style=" width: 125px;"> |
||||
<small class="block"><span class="fa fa-check-circle text-success"></span> {{ i.achievement.title }}</small> |
||||
</div> |
||||
</div> |
||||
</a> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
{% empty %} |
||||
<h3 style="text-align: center; font-weight: bold">Достижений еще нет</h3> |
||||
{% endfor %} |
||||
</div> |
||||
<div class="panel-footer" style="text-align: right;background: #f1f1f1;"> |
||||
<a href="/courses/achievements/" target="_blank" class="auto" style="color: #999;border: 0;"> |
||||
<i class="glyphicon glyphicon-th" style="margin-right: 5px;"></i> |
||||
<span>Доступные достижения</span> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<div class="panel b-a panel-default"> |
||||
<div class="panel-heading b-b b-light font-bold"> |
||||
Вопросы на <a href="/forum" target="_blank" style="color: #70aadd;padding-bottom: 5px;">форуме</a> <span style="float: right; color: #666;"><i class="glyphicon glyphicon-question-sign"></i> {{ forum_ask|length }}</span> |
||||
</div> |
||||
<div class="panel-body text-center p-t-none"> |
||||
{% for key, values in forum_ask.items %} |
||||
<div class="panel b-none m-b-xs"> |
||||
<div class="panel-heading p-none text-left no-bg"> |
||||
{{ key }} |
||||
</div> |
||||
<div class="panel-body text-center p-l-none p-r-none"> |
||||
{% for i in values %} |
||||
<a type="button" onclick="show_achievement('{{ i.id }}', '{{ i.title }}', '{{ i.text }}', '{{ i.achievement.image.url }}', '{{ i.achievement.border }}', '{{ i.achievement.background }}')"> |
||||
<div class="m-b inline m-r-lg v-top"> |
||||
<div class="thumb-xl"> |
||||
<img src="{{ i.achievement.icon.url }}" alt="..." class="m-b-xs" style=" width: 125px;"> |
||||
<small class="block"><span class="fa fa-check-circle text-success"></span> {{ i.achievement.title }}</small> |
||||
</div> |
||||
</div> |
||||
</a> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
{% empty %} |
||||
<h3 style="text-align: center; font-weight: bold">Вопросов еще не было</h3> |
||||
{% endfor %} |
||||
</div> |
||||
|
||||
<div class="panel-footer" style="text-align: right;background: #f1f1f1;"> |
||||
<a href="/library/articles/" class="auto" style="color: #999;border: 0;"> |
||||
<i class="glyphicon glyphicon-ok-circle" style="margin-right: 5px;"></i> |
||||
<span>Форум</span> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="panel b-a panel-default"> |
||||
<div class="panel-heading b-b b-light font-bold"> |
||||
Ответы на <a href="/forum" target="_blank" style="color: #70aadd;padding-bottom: 5px;">форуме</a> <span style="float: right; color: #666;"><i class="glyphicon glyphicon-ok-circle" style="margin-right:2px;"></i> <span class="hidden-sm hidden-xs">Всего: </span>{{ forum_ans.all|length }} <span style="color: green;"><span class="hidden-sm hidden-xs">Лучшие:</span> {{ forum_ans.best }}</span></span> |
||||
</div> |
||||
<div class="panel-body text-center p-t-none"> |
||||
{% for key, values in forum_ans.all.items %} |
||||
<div class="panel b-none m-b-xs"> |
||||
<div class="panel-heading p-none text-left no-bg"> |
||||
{{ key }} |
||||
</div> |
||||
<div class="panel-body text-center p-l-none p-r-none"> |
||||
{% for i in values %} |
||||
<a type="button" onclick="show_achievement('{{ i.id }}', '{{ i.title }}', '{{ i.text }}', '{{ i.achievement.image.url }}', '{{ i.achievement.border }}', '{{ i.achievement.background }}')"> |
||||
<div class="m-b inline m-r-lg v-top"> |
||||
<div class="thumb-xl"> |
||||
<img src="{{ i.achievement.icon.url }}" alt="..." class="m-b-xs" style=" width: 125px;"> |
||||
<small class="block"><span class="fa fa-check-circle text-success"></span> {{ i.achievement.title }}</small> |
||||
</div> |
||||
</div> |
||||
</a> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
{% empty %} |
||||
<h3 style="text-align: center; font-weight: bold">Ответов еще не было</h3> |
||||
{% endfor %} |
||||
</div> |
||||
|
||||
<div class="panel-footer" style="text-align: right;background: #f1f1f1;"> |
||||
<a href="/library/articles/" class="auto" style="color: #999;border: 0;"> |
||||
<i class="glyphicon glyphicon-ok-circle" style="margin-right: 5px;"></i> |
||||
<span>Форум</span> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="panel b-a panel-default"> |
||||
<div class="panel-heading b-b b-light font-bold"> |
||||
Прочитанные <a href="/library/articles/" target="_blank" style="color: #70aadd;padding-bottom: 5px;">статьи</a> <span style="float: right; color: #666;"><i class="glyphicon glyphicon-book"></i> {{ articles|length }}</span> |
||||
</div> |
||||
<div class="panel-body text-center p-t-none" style="max-height: 300px;overflow: hidden; |
||||
overflow-y: auto;padding-top: 10px !important;"> |
||||
{% for article in articles %} |
||||
<div class="panel b-none m-b-xs" style=" background: #f1f1f1; |
||||
padding: 0 5px; |
||||
border-radius: 3px;"> |
||||
<div class="panel-heading p-none text-left no-bg" style=" font-weight: bold;"> |
||||
{{ article.title }} |
||||
</div> |
||||
</div> |
||||
{% empty %} |
||||
<h3 style="text-align: center; font-weight: bold">Нет прочитанного</h3> |
||||
{% endfor %} |
||||
</div> |
||||
<div class="panel-footer" style="text-align: right;background: #f1f1f1;"> |
||||
<a href="/library/articles/" class="auto" style="color: #999;border: 0;"> |
||||
<i class="glyphicon glyphicon-book" style="margin-right: 5px;"></i> |
||||
<span>База знаний</span> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<!-- --> |
||||
</div> |
||||
</div> |
||||
<!-- / main --> |
||||
<!-- right col --> |
||||
{% include 'right_site.html' %} |
||||
{% endblock %} |
||||
{% block js %} |
||||
<script src="/static/js/pie_chart.js"></script> |
||||
<script src="/static/js/profile.js"></script> |
||||
<script src="/static/js/clipboard.min.js"></script> |
||||
<script> |
||||
$(function(){ |
||||
{% if skills %} |
||||
result = []; |
||||
var skills = $('li[name=skill_row]'); |
||||
for(var i=0;i<skills.length;i++){result.push({'title': $(skills[i]).attr('skill_title'), 'value': parseInt($(skills[i]).attr('skill_value'), 10), 'color':$(skills[i]).attr('skill_color')})} |
||||
$("#pieChart").drawPieChart(result); |
||||
{% endif %} |
||||
new Clipboard('#copy_unique_user_id'); |
||||
}); |
||||
</script> |
||||
|
||||
<script> $('.fancy').fancybox();</script> |
||||
|
||||
<div class="popup col-sm-6" id="diplom"> |
||||
<div class="h3"> |
||||
<p class="main">Просмотр диплома</p> |
||||
<p> о успешном завершении курса<br> |
||||
<span name="diploma_course"></span></p> |
||||
<p>Диплом #<span name="diploma_id"></span> от <span name="diploma_f_date"></span></p> |
||||
</div> |
||||
<div> |
||||
<img src="/static/img/diplom_inner.png" alt="" class="inner" name="diploma_image" style="max-width: 500px; height: auto;"> |
||||
<a type="button" class="btn m-b-xs btn-sm btn-default btn-addon" href="" name="diploma_link" target="_blank"><i class="fa fa-file-pdf-o"></i>Скачать диплом</a> |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
@ -1,85 +0,0 @@ |
||||
{% extends 'base_index.html' %} |
||||
{% load course_filter %} |
||||
{% block title %}Отчет по прохождению{% endblock %} |
||||
{% block content %} |
||||
<div> |
||||
<!-- Nav tabs --> |
||||
<ul class="nav nav-tabs" role="tablist"> |
||||
{% for m in map %} |
||||
<li role="presentation"><a href="#home{{ m.id }}" aria-controls="home" role="tab" data-toggle="tab">{{ m.title }}<span class="label label-info" style="margin-left: 10px;" name="table_length_{{ m.id }}">0</span></a></li> |
||||
<script> |
||||
if (!window.courses){ |
||||
window.courses = {}; |
||||
} |
||||
window.courses[{{ m.id }}] = [] |
||||
</script> |
||||
{% endfor %} |
||||
<li></li> |
||||
</ul> |
||||
|
||||
<!-- Tab panes --> |
||||
<div class="tab-content"> |
||||
{% for m in map %} |
||||
<div role="tabpanel" class="tab-pane" id="home{{ m.id }}"> |
||||
<table class="table table-hover"> |
||||
<tr style="background: #333;"> |
||||
{% for theme in m.themes %} |
||||
<td> |
||||
<div |
||||
{% if theme.get_type.flag == 'Ex' %} |
||||
class="label label-success" |
||||
{% else %} |
||||
{% if theme.get_type.flag == 'B' %} |
||||
class="label label-default" |
||||
{% else %} |
||||
{% if theme.get_type.flag == 'M' %} |
||||
class="label label-primary" |
||||
{% else %} |
||||
{% if theme.get_type.flag == 'P' or theme.get_type.flag == 'E' %} |
||||
class="label label-warning" |
||||
{% endif %} |
||||
{% endif %} |
||||
{% endif %} |
||||
{% endif %} |
||||
> |
||||
<a href="{{ DOMAIN }}courses/{{ m.id }}#theme{{ theme.id }}" target="_blank" style="color:#fff;"> |
||||
{{ theme.sort }} |
||||
</a> |
||||
</div> |
||||
</td> |
||||
{% endfor %} |
||||
</tr> |
||||
<tbody name="table_content_{{ m.id }}"> |
||||
|
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
{% endfor %} |
||||
|
||||
</div> |
||||
<div class="container"> |
||||
<div name="prestart"> |
||||
<button type="button" class="btn btn-success btn-lg" onclick="create_report()">Запустить отчет</button> |
||||
<div class="input-group date"> |
||||
<input type="text" class="form-control" placeholder="Дата разбивки" name="xday" ><span class="input-group-addon"><i class="glyphicon glyphicon-th"></i></span> |
||||
</div> |
||||
</div> |
||||
<div name="loader" style="display: none;"> |
||||
<p style="text-align: center;">Получение информации.<br>Осталось:</p> |
||||
<p name="persent" style=" text-align: center; |
||||
font-size: 30px; |
||||
font-weight: bold;"></p> |
||||
<div class="ball"></div> |
||||
<div class="ball"></div> |
||||
<div class="ball"></div> |
||||
<div class="ball"></div> |
||||
<div class="ball"></div> |
||||
<div class="ball"></div> |
||||
<div class="ball"></div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
{% block js %} |
||||
<script src="/static/js/apis/progress.js"></script> |
||||
{% endblock %} |
||||
@ -1,55 +0,0 @@ |
||||
{% extends 'reports/base_index.html' %} |
||||
{% block title %}Отчеты{% endblock %} |
||||
{% block page_title %}Отчеты{% endblock %} |
||||
{% block content %} |
||||
<h3 style="margin-left: 20px;font-weight: bold;"> |
||||
<i class="glyphicon glyphicon-education"></i> ДЗ |
||||
</h3> |
||||
<table class="table table-hover" style="background: #ffc;"> |
||||
<tr style="font-weight: bold;background: #ccc;"> |
||||
<td>Курс</td> |
||||
<td>Работ</td> |
||||
<td>В процессе</td> |
||||
<td>Без задержек</td> |
||||
<td>Просрочено</td> |
||||
<td>От</td> |
||||
</tr> |
||||
{% for key, course in courses.items %} |
||||
<tr> |
||||
<td style="border-right: 1px dotted #ccc;">{{ course.title }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ course.students }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ course.process }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ course.success }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ course.expired }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ course.date }}</td> |
||||
</tr> |
||||
{% endfor %} |
||||
</table> |
||||
<h3 style="margin-left: 20px;margin-top:40px;font-weight: bold;border-top: 1px dotted #ccc;padding-top: 30px;"> |
||||
<i class="glyphicon glyphicon-equalizer"></i> Активность пользователей |
||||
</h3> |
||||
<table class="table table-hover" style="background: #ffc;"> |
||||
<tr style="font-weight: bold;background: #ccc;"> |
||||
<td>Всего пользователей</td> |
||||
<td>Не активных</td> |
||||
<td>Оплатившие</td> |
||||
<td>Без активности <i>День</i></td> |
||||
<td>Без активности <i>3 Дня</i></td> |
||||
<td>Без активности <i>Неделю</i></td> |
||||
<td>Без активности <i>Месяц</i></td> |
||||
</tr> |
||||
<tr> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.all }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.no_active.int }} <i>[{{ users.no_active.proc }}%]</i></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.bought.all.int }} <i>[{{ users.bought.all.proc }}%]</i></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.bought.day.int }} <i>[{{ users.bought.day.proc }}%]</i></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.bought.three.int }} <i>[{{ users.bought.three.proc }}%]</i></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.bought.week.int }} <i>[{{ users.bought.week.proc }}%]</i></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ users.bought.month.int }} <i>[{{ users.bought.month.proc }}%]</i></td> |
||||
</tr> |
||||
</table> |
||||
<h3 style="margin-left: 20px;margin-top:40px;font-weight: bold;border-top: 1px dotted #ccc;padding-top: 30px;"><i class="glyphicon glyphicon-signal"></i> Другие отчеты</h3> |
||||
<ul class="list-group"> |
||||
<a href="/management/progress_report/"><li class="list-group-item">Прогресс студентов</li></a> |
||||
</ul> |
||||
{% endblock %} |
||||
@ -1,222 +0,0 @@ |
||||
{% load static %} |
||||
<!DOCTYPE html> |
||||
<html lang="ru"> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<title>{% block title %}{% endblock %} - Точка кода</title> |
||||
<link rel="shortcut icon" href="/static/img/favicon.ico" type="image/x-icon"> |
||||
<link rel="icon" href="/static/img/favicon.ico" type="image/x-icon"> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> |
||||
<meta name="description" content="Школа программирования - Точка Кода." /> |
||||
<meta property="og:title" content="Точка Кода" /> |
||||
<meta property="og:description" content="Школа программирования" /> |
||||
<meta property="og:image" content="{{ DOMAIN }}static/img/3818cc0ec1.png" /> |
||||
<link rel="stylesheet" href="/static/css/bootstrap.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/animate.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/font-awesome.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/simple-line-icons.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/font.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/app.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/aside.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/kladr.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/bootstrap-datepicker.min.css" type="text/css" /> |
||||
<link rel="stylesheet" href="/static/css/bootstrap-datepicker.standalone.min.css" type="text/css" /> |
||||
<link type="text/css" href="/static/css/csshake.min.css"> |
||||
<link type="text/css" href="/static/css/jquery-ui.structure.min.css"> |
||||
<link type="text/css" href="/static/css/jquery-ui.min.css"> |
||||
<link href="/static/css/jquery.Jcrop.css" rel="stylesheet" /> |
||||
<script type="text/javascript" src='/static/js/jquery.min.js'></script> |
||||
<script src="/static/js/jquery-ui.min.js"></script> |
||||
<script type="text/javascript" src='/static/js/bootstrap.min.js'></script> |
||||
<script src="//cdn.ckeditor.com/4.5.6/standard/ckeditor.js"></script> |
||||
<script type="text/javascript" src='/static/js/tools.js'></script> |
||||
{% block head %} |
||||
{% endblock %} |
||||
</head> |
||||
<body> |
||||
<div class="app app-header-fixed "> |
||||
<!-- header --> |
||||
<header id="header" class="app-header navbar " role="menu"> |
||||
<!-- navbar header --> |
||||
<div class="navbar-header bg-info dker" style="min-width: 235px;"> |
||||
{% if request.user.is_authenticated %} |
||||
|
||||
<button class="pull-right visible-xs " target=".navbar-collapse" style="padding: 12px 17px;"> |
||||
<a href="/access/logout/"><i class="glyphicon glyphicon-log-out"></i></a> |
||||
</button> |
||||
<button class="pull-right visible-xs " target=".navbar-collapse" style="padding: 10px;"> |
||||
<a href="/access/profile/" class="pull-right visible-xs "> |
||||
<span class="w-auto-folded avatar thumb-xs"> |
||||
<img src="{{ request.user.get_image_url }}" class="img-circle" alt="..." reloader_name="avatar"> |
||||
</span> |
||||
</a> |
||||
</button> |
||||
<!-- / navbar right --> |
||||
{% else %} |
||||
<button class="pull-right visible-xs " target=".navbar-collapse"> |
||||
<a type="button" data-toggle="modal" data-target="#myModal1" ui-sref="access.signin"><i class="glyphicon glyphicon-log-out"></i></a> |
||||
</button> |
||||
<button class="pull-right visible-xs " target=".navbar-collapse"> |
||||
<a type="button" data-toggle="modal" data-target="#myModal" ui-sref="access.signin"><i class="glyphicon glyphicon-plus"></i></a> |
||||
</button> |
||||
{% endif %} |
||||
<!-- brand --> |
||||
<a href="/" class="navbar-brand text-lt" style="padding-right: 0; padding-left: 10px;"> |
||||
<img src="/static/img/logo.png" alt="." class="" style="width: 200px;"> |
||||
</a> |
||||
|
||||
<!-- / brand --> |
||||
</div> |
||||
<!-- / navbar header --> |
||||
|
||||
<!-- navbar collapse --> |
||||
<div class="collapse navbar-collapse box-shadow bg-info dk"> |
||||
<h2 style=" float: left; |
||||
color: #333; |
||||
font-weight: bold; |
||||
margin: 7px 0 7px 20px;">Кабинет «Отчеты»</h2> |
||||
</div> |
||||
|
||||
<!-- / navbar collapse --> |
||||
</header> |
||||
<!-- / header --> |
||||
|
||||
{% block asside %} |
||||
<aside id="aside" class="app-aside hidden-xs bg-dark" style="background: #3a3f51;"> |
||||
<div class="aside-wrap" style=" position: fixed; |
||||
width: 200px;"> |
||||
<div class="navi-wrap"> |
||||
<!-- user --> |
||||
<div class="clearfix hidden-xs text-center" id="aside-user"> |
||||
<div class="dropdown wrapper"> |
||||
<a href="#"> |
||||
<span class="clear"> |
||||
<span class="block m-t-sm"> |
||||
<strong class="font-bold text-lt" reloader_name="user_name">{{ request.user.get_short_name }}</strong> |
||||
</span> |
||||
<span class="text-muted text-xs block">{% if request.user.unique_role %}<i class="glyphicon glyphicon-star" style="color:#fcb813;"></i> {{ request.user.unique_role }}{% else %}{{ request.user.get_in_role_display }}{% endif %}</span> |
||||
</span> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<!-- / user --> |
||||
<!-- nav --> |
||||
<div name="big_count" style=" padding: 20px; |
||||
color: #000; |
||||
background: #ffc; |
||||
font-weight: bold; |
||||
font-size: 70px; text-align: center; |
||||
margin-bottom: 25px; |
||||
border-top: 5px solid #ff1; |
||||
border-bottom: 5px solid #ff1;"> |
||||
<span name="big_count_now" style="color: {% if get_now_success_hw > get_second_success_hw %}green{% else %}red{% endif %};">{{ get_now_success_hw }}</span>* |
||||
<span name="big_count_old" style="font-size: 40px;">{{ get_second_success_hw }}</span>** |
||||
<p style=" font-size: 12px; |
||||
font-weight: normal;">*Сдано ДЗ за текущий месяц по всей системе</p> |
||||
<p style=" font-size: 12px; |
||||
font-weight: normal;">**Сдано ДЗ за прошлый месяц по всей системе</p> |
||||
</div> |
||||
<nav ui-nav="" class="navi clearfix" style="position: fixed;width: 200px;"> |
||||
{% include 'reports/menu.html' %} |
||||
</nav> |
||||
<div style="top: 50px; |
||||
text-align: right; |
||||
position: fixed; |
||||
left: 175px; cursor: pointer;" onclick="change_hide_vector1()" name="hide_icon1"> |
||||
<i class="glyphicon glyphicon-chevron-left" style="background: #666; |
||||
padding: 15px 5px; |
||||
color: #ccc; |
||||
border-radius: 5px 0 0 5px;"></i> |
||||
</div> |
||||
|
||||
</div> |
||||
</div> |
||||
|
||||
</aside> |
||||
{% endblock %} |
||||
<div style="top: 50px; |
||||
text-align: right; |
||||
position: fixed; |
||||
z-index: 200; |
||||
left: 0;display: none; cursor: pointer;" onclick="change_hide_vector2()" name="hide_icon2"> |
||||
<i class="glyphicon glyphicon-chevron-right" style="background: #666; |
||||
padding: 15px 5px; |
||||
color: #ccc; |
||||
border-radius: 0 5px 5px 0;z-index: 2000;"></i> |
||||
</div> |
||||
<!-- content --> |
||||
<div id="content" class="app-content" role="main"> |
||||
<div class="app-content-body "> |
||||
<div class="hbox hbox-auto-xs hbox-auto-sm"> |
||||
{% block content %} |
||||
{% endblock %} |
||||
</div> |
||||
</div> |
||||
{% block js %} |
||||
{% endblock %} |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<!-- / content --> |
||||
|
||||
<script type="text/javascript" src="/static/js/bootstrap-datepicker.min.js"></script> |
||||
<script type="text/javascript" src="/static/js/bootstrap-datepicker.ru.min.js"></script> |
||||
<script type="text/javascript" src='/static/js/regex_check.js'></script> |
||||
|
||||
<script> |
||||
function change_hide_vector1() { |
||||
$('[name=hide_icon1]').fadeOut(); |
||||
$('[name=hide_icon2]').fadeIn(); |
||||
$('#aside').fadeOut(function () { |
||||
$('#content').css('margin-left', '10px') |
||||
}) |
||||
|
||||
} |
||||
|
||||
function change_hide_vector2() { |
||||
$('[name=hide_icon1]').fadeIn(); |
||||
$('[name=hide_icon2]').fadeOut(); |
||||
$('#aside').fadeIn() |
||||
$('#content').css('margin-left', '200px') |
||||
|
||||
} |
||||
|
||||
$('.input-group.date').datepicker({ |
||||
todayBtn: true, |
||||
language: "ru", |
||||
orientation: "bottom auto", |
||||
keyboardNavigation: true, |
||||
autoclose: true, |
||||
toggleActive: true, |
||||
defaultViewDate: { year: 2016, month: 05, day: 01 } |
||||
}); |
||||
function big_count_now(){ |
||||
$.ajax({ |
||||
url: '/management/reports_api/now_success_hw/', |
||||
befor: function () { |
||||
$('[name="big_count_now"]').html('<img src="/static/img/preloader.gif">'); |
||||
}, |
||||
success: function(data){ |
||||
$('[name="big_count_now"]').html(data['data']); |
||||
} |
||||
}); |
||||
} |
||||
function big_count_old(){ |
||||
$.ajax({ |
||||
url: '/management/reports_api/now_second_hw/', |
||||
befor: function () { |
||||
$('[name="big_count_old"]').html('<img src="/static/img/preloader.gif">'); |
||||
}, |
||||
success: function(data){ |
||||
$('[name="big_count_old"]').html(data['data']); |
||||
} |
||||
}); |
||||
} |
||||
setInterval(function() { |
||||
big_count_now(); |
||||
big_count_old(); |
||||
}, 200000); |
||||
</script> |
||||
</body> |
||||
</html> |
||||
@ -1,81 +0,0 @@ |
||||
{% extends 'reports/base_index.html' %} |
||||
{% load course_filter %} |
||||
{% block title %}Отчет по прохождению{% endblock %} |
||||
{% block head %} |
||||
{% endblock %} |
||||
{% block content %} |
||||
<!-- Tab panes --> |
||||
<div> |
||||
<div class="input-group date" style="width: 40%;float: left;"> |
||||
<input type="text" class="form-control" placeholder="ОТ" name="fday" style=" border-radius: 0;"><span class="input-group-addon" style=" border-radius: 0;"><i class="glyphicon glyphicon-th" style=" border-radius: 0;"></i></span> |
||||
</div> |
||||
<div class="input-group date" style="width: 40%;float: left;"> |
||||
<input type="text" class="form-control" placeholder="ДО" name="sday" style=" border-radius: 0;"><span class="input-group-addon" style=" border-radius: 0;"><i class="glyphicon glyphicon-th" style=" border-radius: 0;"></i></span> |
||||
</div> |
||||
<div style="text-align: center; width: 20%;display: none; padding: 5px; |
||||
background: #ffc;float: left;" name="preloader"> |
||||
<img src="/static/img/preloader.gif" style="margin-right: 5px;"> |
||||
<b><span name="preload_status"></span></b> |
||||
</div> |
||||
|
||||
<button name="load_button" style="float: left;width: 20%; border-radius: 0;" class="btn btn-green" onclick="start_load()">Выгрузить</button> |
||||
</div> |
||||
<div> |
||||
<!-- Nav tabs --> |
||||
<ul class="nav nav-tabs" role="tablist"> |
||||
{% for course, values in courses.items %} |
||||
<li role="presentation" onclick="window.course_id = {{ values.id }};"><a href="#{{ values.id }}" aria-controls="{{ values.id }}" role="tab" data-toggle="tab"> |
||||
{{ course }} |
||||
<span class="label label-info" style="margin-left: 10px;" name="course_{{ values.id }}_length">{{ values.users|length }}</span></a> </li> |
||||
{% endfor %} |
||||
</ul> |
||||
|
||||
<!-- Tab panes --> |
||||
<div class="tab-content"> |
||||
{% for course, values in courses.items %} |
||||
<div role="tabpanel" class="tab-pane" id="{{ values.id }}"> |
||||
<table width="100%"> |
||||
<tr>{% for token in values.map %}<a href=""><td style="height: 5px;background: #ffc;border-right: 1px solid #333;"></td></a>{% endfor %}</tr> |
||||
<script>window.course_{{ values.id }} = {{ values.users|length }}</script> |
||||
{% for user in values.users %}<tr> |
||||
{% for token in values.map %}<td course="{{ values.id }}" s_date="" f_date="" tp="" point="{{ values.id }}_{{ user }}_{{ token.token }}" style="height: 2px;background: #ccc;display: none;border-right: 1px solid #999;"></td>{% endfor %}</tr>{% endfor %} |
||||
</table> |
||||
</div> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
{% endblock %} |
||||
{% block js %} |
||||
<script> |
||||
$(function () { |
||||
$('.input-group.date').datepicker({ |
||||
todayBtn: true, |
||||
language: "ru", |
||||
orientation: "top center", |
||||
keyboardNavigation: false, |
||||
autoclose: true, |
||||
toggleActive: true, |
||||
format: 'yyyymmdd', |
||||
defaultViewDate: { year: 1990, month: 11, day: 18 } |
||||
}); |
||||
|
||||
$( document.body ).on( "change", "[name=fday]", function( event ) { |
||||
console.log($('[name=fday]').val()); |
||||
window.from_date = $('[name=fday]').val().split(".").join(""); |
||||
change_progress_color() |
||||
}); |
||||
|
||||
$( document.body ).on( "change", "[name=sday]", function( event ) { |
||||
console.log($('[name=sday]').val()); |
||||
window.to_date = $('[name=sday]').val().split(".").join(""); |
||||
change_progress_color() |
||||
}); |
||||
}) |
||||
|
||||
|
||||
</script> |
||||
<script src="/static/js/tools.js"></script> |
||||
<script src="/static/js/apis/progress.js"></script> |
||||
{% endblock %} |
||||
@ -1,149 +0,0 @@ |
||||
{% extends 'reports/base_index.html' %} |
||||
{% load course_filter %} |
||||
{% block title %}Бесплатная неделя{% endblock %} |
||||
{% block page_title %}Бесплатная неделя{% endblock %} |
||||
{% block head %} |
||||
{% endblock %} |
||||
{% block content %} |
||||
{% if title %} |
||||
<p style=" font-weight: bold; |
||||
font-size: 30px; |
||||
margin-left: 15px; |
||||
padding-top: 10px;"><a href="/management/reports/freeweek/"><i class="glyphicon glyphicon-arrow-left"></i> Назад</a></p> |
||||
{% endif %} |
||||
<h3 style="margin-left: 20px;margin-top:20px;font-weight: bold;border-top: 1px dotted #ccc;padding-top: 30px;"> |
||||
<i class="glyphicon glyphicon-equalizer"></i> {% if title %}{{ title }}{% else %}Активность пользователей{% endif %} |
||||
</h3> |
||||
{% if not title %} |
||||
<table class="table table-hover" style="background: #ffc;"> |
||||
<tr style="font-weight: bold;background: #ccc;"> |
||||
<td>Всего пользователей</td> |
||||
<td>Прошли активацию</td> |
||||
<td>Java <i>[ {{ java.all }} ]</i></td> |
||||
<td>Web <i>[ {{ web.all }} ]</i></td> |
||||
<td>Android <i>[ {{ android.all }} ]</i></td> |
||||
<td>C# <i>[ {{ csh.all }} ]</i></td> |
||||
</tr> |
||||
<tr> |
||||
<td style="border-right: 1px dotted #ccc;">{{ all }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ active.count }} <i>[{{ active.persent }}%]</i></td> |
||||
<td style="border-right: 1px dotted #ccc;"> |
||||
Проходят обучение: {{ java.in.count }}<br> |
||||
Получили домашку: {{ java.in_hw }}<br> |
||||
Сдали домашку: {{ java.out_hw }}<br> |
||||
</td> |
||||
<td style="border-right: 1px dotted #ccc;"> |
||||
Проходят обучение: {{ web.in.count }}<br> |
||||
Получили домашку: {{ web.in_hw }}<br> |
||||
Сдали домашку: {{ web.out_hw }}<br> |
||||
</td> |
||||
<td style="border-right: 1px dotted #ccc;"> |
||||
Проходят обучение: {{ android.in.count }}<br> |
||||
Получили домашку: {{ android.in_hw }}<br> |
||||
Сдали домашку: {{ android.out_hw }}<br> |
||||
</td> |
||||
<td style="border-right: 1px dotted #ccc;"> |
||||
Проходят обучение: {{ csh.in.count }}<br> |
||||
Получили домашку: {{ csh.in_hw }}<br> |
||||
Сдали домашку: {{ csh.out_hw }}<br> |
||||
</td> |
||||
</tr> |
||||
<tr> |
||||
<td></td> |
||||
<td></td> |
||||
<td><a href="/management/reports/freeweek/?price={{ java.id }}" style="color: #00bdff;border-bottom: 1px dotted #00bdff;">Открыть конкретику</a></td> |
||||
<td><a href="/management/reports/freeweek/?price={{ web.id }}" style="color: #00bdff;border-bottom: 1px dotted #00bdff;">Открыть конкретику</a></td> |
||||
<td><a href="/management/reports/freeweek/?price={{ android.id }}" style="color: #00bdff;border-bottom: 1px dotted #00bdff;">Открыть конкретику</a></td> |
||||
<td><a href="/management/reports/freeweek/?price={{ csh.id }}" style="color: #00bdff;border-bottom: 1px dotted #00bdff;">Открыть конкретику</a></td> |
||||
</tr> |
||||
</table> |
||||
{% else %} |
||||
<table class="table table-hover" style="background: #ffc;"> |
||||
<tr style="font-weight: bold;background: #ccc;"> |
||||
<td style="border-right: 1px dotted #fff;">ФИО</td> |
||||
<td style="border-right: 1px dotted #fff;">Телефон</td> |
||||
<td style="border-right: 1px dotted #fff;">Email</td> |
||||
<td style="border-right: 1px dotted #fff;"> --- </td> |
||||
<td style="border-right: 1px dotted #fff;">Дата открытия доступа</td> |
||||
<td style="border-right: 1px dotted #fff;"> --- </td> |
||||
<td style="border-right: 1px dotted #fff;"> --- </td> |
||||
<td style="border-right: 1px dotted #fff;">Дата завершения доступа</td> |
||||
<td style="border-right: 1px dotted #fff;"> --- </td> |
||||
</tr> |
||||
<tr style="font-weight: bold;background: #ccc;"> |
||||
<td colspan="9">Весь список [{{ b_in|length }}]</td> |
||||
</tr> |
||||
{% for bill in b_in %} |
||||
<tr> |
||||
<td style="border-right: 1px dotted #ccc;"><b>{{ bill.user.id }}:{{ bill.user.get_full_name }}</b></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ bill.user.get_phone }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ bill.user.email }}</td> |
||||
<td style="border-right: 1px dotted #ccc;"> --- </td> |
||||
<td style="border-right: 1px dotted #ccc;"><script>window.user_{{ bill.user.id }}_s = '{{ bill.finish_date }}'</script>{{ bill.finish_date }}</td> |
||||
<td style="border-right: 1px dotted #ccc;"> --- </td> |
||||
<td style="border-right: 1px dotted #ccc;"> --- </td> |
||||
<td style="border-right: 1px dotted #ccc;"><script>window.user_{{ bill.user.id }}_f = '{{ bill.fire_date }}'</script>{{ bill.fire_date }}</td> |
||||
<td style="border-right: 1px dotted #ccc;"> --- </td> |
||||
</tr> |
||||
{% endfor %} |
||||
<tr style="font-weight: bold;background: #ccc;"> |
||||
<td colspan="9">Получили ДЗ [{{ in_hw|length }}]</td> |
||||
</tr> |
||||
<tr style="background: #f1f1f1;"> |
||||
<td style="border-right: 1px dotted #fff;">ФИО</td> |
||||
<td style="border-right: 1px dotted #fff;">Телефон</td> |
||||
<td style="border-right: 1px dotted #fff;">Email</td> |
||||
<td style="border-right: 1px dotted #fff;">Точка нахождения</td> |
||||
<td style="border-right: 1px dotted #fff;">Дата открытия доступа</td> |
||||
<td style="border-right: 1px dotted #fff;"><b>Дата получения задания</b></td> |
||||
<td style="border-right: 1px dotted #fff;"> --- </td> |
||||
<td style="border-right: 1px dotted #fff;">Дата завершения доступа</td> |
||||
<td style="border-right: 1px dotted #fff;">Попыток сдачи</td> |
||||
</tr> |
||||
{% for h in in_hw %} |
||||
<tr> |
||||
<td style="border-right: 1px dotted #ccc;"><b>{{ h.student.id }}:{{ h.student.get_full_name }}</b></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ h.student.get_phone }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ h.student.email }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ h.material.theme.sort }}:<a href="/courses/{{ h.material.course.id }}?no_current={{ h.material.theme.id }}" target="_blank" style="color: #00bdff; |
||||
border-bottom: 1px dotted #00bdff;">{{ h.material.get_title }}</a></td> |
||||
<td style="border-right: 1px dotted #ccc;"><script>document.write(window.user_{{ h.student.id }}_s)</script></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ h.date }}</td> |
||||
<td style="border-right: 1px dotted #ccc;"> --- </td> |
||||
<td style="border-right: 1px dotted #ccc;"><script>document.write(window.user_{{ h.student.id }}_f)</script></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ h.get_trues_length }}</td> |
||||
</tr> |
||||
{% endfor %} |
||||
<tr style="font-weight: bold;background: #ccc;"> |
||||
<td colspan="9">Сдали ДЗ [{{ out_hw|length }}]</td> |
||||
</tr> |
||||
<tr style="background: #f1f1f1;"> |
||||
<td style="border-right: 1px dotted #fff;">ФИО</td> |
||||
<td style="border-right: 1px dotted #fff;">Телефон</td> |
||||
<td style="border-right: 1px dotted #fff;">Email</td> |
||||
<td style="border-right: 1px dotted #fff;">Точка нахождения</td> |
||||
<td style="border-right: 1px dotted #fff;">Дата открытия доступа</td> |
||||
<td style="border-right: 1px dotted #fff;">Дата получения задания</td> |
||||
<td style="border-right: 1px dotted #fff;"><b>Дата сдачи задания</b></td> |
||||
<td style="border-right: 1px dotted #fff;">Дата завершения доступа</td> |
||||
<td style="border-right: 1px dotted #fff;">Попыток сдачи</td> |
||||
</tr> |
||||
{% for h in out_hw %} |
||||
<tr> |
||||
<td style="border-right: 1px dotted #ccc;"><b>{{ h.student.id }}:{{ h.student.get_full_name }}</b></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ h.student.get_phone }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ h.student.email }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ h.material.theme.sort }}:<a href="/courses/{{ h.material.course.id }}?no_current={{ h.material.theme.id }}" target="_blank" style="color: #00bdff; |
||||
border-bottom: 1px dotted #00bdff;">{{ h.material.get_title }}</a> </td> |
||||
<td style="border-right: 1px dotted #ccc;"><script>document.write(window.user_{{ h.student.id }}_s)</script></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ h.date }}</td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ h.f_date }}</td> |
||||
<td style="border-right: 1px dotted #ccc;"><script>document.write(window.user_{{ h.student.id }}_f)</script></td> |
||||
<td style="border-right: 1px dotted #ccc;">{{ h.get_trues_length }}</td> |
||||
</tr> |
||||
{% endfor %} |
||||
</table> |
||||
{% endif %} |
||||
{% endblock %} |
||||
{% block js %} |
||||
{% endblock %} |
||||
@ -1,117 +0,0 @@ |
||||
{% extends 'reports/base_index.html' %} |
||||
{% load course_filter %} |
||||
{% block title %}Проверки{% endblock %} |
||||
{% block page_title %}Проверки{% endblock %} |
||||
{% block head %} |
||||
<style> |
||||
#project-label { |
||||
display: block; |
||||
font-weight: bold; |
||||
margin-bottom: 1em; |
||||
} |
||||
#project-description { |
||||
margin: 0; |
||||
padding: 0; |
||||
} |
||||
</style> |
||||
<script> |
||||
$(function() { |
||||
var projects = [ |
||||
{ |
||||
value: "jquery", |
||||
label: "jQuery", |
||||
desc: "the write less, do more, JavaScript library", |
||||
icon: "jquery_32x32.png" |
||||
}, |
||||
{ |
||||
value: "jquery-ui", |
||||
label: "jQuery UI", |
||||
desc: "the official user interface library for jQuery", |
||||
icon: "jqueryui_32x32.png" |
||||
}, |
||||
{ |
||||
value: "sizzlejs", |
||||
label: "Sizzle JS", |
||||
desc: "a pure-JavaScript CSS selector engine", |
||||
icon: "sizzlejs_32x32.png" |
||||
} |
||||
]; |
||||
|
||||
$( "#project" ).autocomplete({ |
||||
minLength: 0, |
||||
source: projects, |
||||
focus: function( event, ui ) { |
||||
$( "#project" ).val( ui.item.label ); |
||||
return false; |
||||
}, |
||||
select: function( event, ui ) { |
||||
$( "#project" ).val( ui.item.label ); |
||||
$( "#project-id" ).val( ui.item.value ); |
||||
$( "#project-description" ).html( ui.item.desc ); |
||||
$( "#project-icon" ).attr( "src", "images/" + ui.item.icon ); |
||||
|
||||
return false; |
||||
} |
||||
}) |
||||
.autocomplete( "instance" )._renderItem = function( ul, item ) { |
||||
return $( "<li>" ) |
||||
.append( "<a>" + item.label + "<br>" + item.desc + "</a>" ) |
||||
.appendTo( ul ); |
||||
}; |
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
{% block content %} |
||||
<h3 style="margin-left: 20px;font-weight: bold;"> |
||||
<i class="glyphicon glyphicon-time"></i> Проверки по пользователю |
||||
</h3> |
||||
<div style=" position: absolute; |
||||
right: 10px; |
||||
top: 50px;"> |
||||
<img id="project-icon" src="/static/img/user_photo.jpg" class="ui-state-default" alt="" style="max-width: 70px; |
||||
float: left; |
||||
padding: 5px;"> |
||||
<div style=" float: left; |
||||
padding: 5px;"> |
||||
<span>Фамилия</span><span style="margin-left: 5px;">Имя</span><Br> |
||||
<small class="text-muted" style="{% if request.user.status == 'ON' %}color:green;{% endif %}font-weight: bold;"> |
||||
{% if request.user.status == 'ON' %}<i class="glyphicon glyphicon-ok-sign"></i> {% else %}<i class="glyphicon glyphicon-time"></i>{% endif %} |
||||
{{ request.user.get_status_display }}</small><br> |
||||
<small class="text-muted">Регистрация: </small> |
||||
</div> |
||||
</div> |
||||
<hr style=" border: 1px dotted #999;"> |
||||
<div style=" padding: 10px 5%;text-align: center; |
||||
background: #ffc; border-top: 2px solid #ff1; |
||||
border-bottom: 2px solid #ff1;"> |
||||
<div id="project-label">Введите Email искомого пользователя:</div> |
||||
|
||||
<input id="project" style=" float: left; |
||||
border-radius: 2px; |
||||
display: block; |
||||
width: 100%; |
||||
height: 50px; |
||||
padding: 6px 12px; |
||||
font-size: 14px; |
||||
line-height: 1.42857143; |
||||
color: #555; |
||||
background: #fff none; |
||||
border: 1px solid #ccc; |
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); |
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075); |
||||
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s; |
||||
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; |
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; |
||||
text-align: center;font-size: 25px;font-weight: bold;"> |
||||
<input type="hidden" id="project-id"> |
||||
<div> |
||||
|
||||
</div> |
||||
|
||||
|
||||
<p id="project-description"></p> |
||||
</div> |
||||
|
||||
{% endblock %} |
||||
{% block js %} |
||||
{% endblock %} |
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue